객체 보관 구성 사용 설정 및 사용 (original) (raw)
이 페이지에서는 버킷에 대한 객체 보관 잠금 기능 사용 설정 및 버킷 내 객체에 대한 보관 구성 설정을 포함하여 객체 보관 잠금 기능을 사용하는 방법을 설명합니다.
필요한 역할
버킷에 객체 보관 잠금 기능을 사용 설정하고 객체에 보관 구성을 설정하는 데 필요한 권한을 얻으려면 관리자에게 버킷이 포함된 프로젝트나 버킷에 대한 스토리지 관리자(roles/storage.admin) IAM 역할을 부여해 달라고 요청하세요. 이 사전 정의된 역할에는 보관 구성을 설정하고 관리하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 확장하세요.
필수 권한
storage.buckets.createstorage.buckets.enableObjectRetentionstorage.buckets.getstorage.buckets.list- 이 권한은Google Cloud 콘솔을 사용하여 이 페이지의 안내를 수행하려는 경우에만 필요합니다.
storage.objects.getstorage.objects.list- 이 권한은Google Cloud 콘솔을 사용하여 이 페이지의 안내를 수행하려는 경우에만 필요합니다.
storage.objects.overrideUnlockedRetention- 이 권한은 기존 보관 구성을 잠그거나 단축하려는 경우에만 필요합니다.
storage.objects.setRetentionstorage.objects.update
커스텀 역할을 사용하여 이러한 권한을 부여받을 수도 있습니다.
버킷에 대한 역할 부여에 대한 자세한 내용은 버킷에 IAM 정책 설정 및 관리를 참조하세요. 프로젝트에 대해 역할을 부여하는 방법은 프로젝트에 대한 액세스 관리를 참조하세요.
버킷의 객체 보관 사용 설정
다음 안내에 따라 버킷의 객체에 대해 보관 구성을 허용할 수 있습니다. 기존 버킷에 대해 객체 보관 구성을 사용 설정하려면 Google Cloud 콘솔 안내를 따라야 합니다.
콘솔
새 버킷에 대해 객체 보관 구성을 사용 설정하려면:
- 평소와 같이 버킷을 만들고 객체 데이터 보호 방법 선택 단계에서 **보관(규정 준수용)**을 선택하고 이어서 객체 보관 사용 설정을 선택합니다.
기존 버킷에 대해 객체 보관 구성을 사용 설정하려면:
- Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
버킷으로 이동 - 버킷 목록에서 객체 보관을 사용 설정하려는 버킷의 이름을 클릭합니다.
- 페이지 상단의 보호 탭을 선택합니다.
버킷의 객체 보관 상태가 객체 보관 섹션에 표시됩니다. - 객체 보관 섹션에서 객체 보관이 사용 설정되지 않음을 클릭합니다.
- 대화상자가 나타나면 확인을 클릭합니다.
명령줄
평소와 같이 버킷을 만들고 명령어에 --enable-per-object-retention 플래그를 포함합니다.
클라이언트 라이브러리
REST API
JSON API
평소와 같이 버킷을 만들고 쿼리 매개변수 enableObjectRetention=true를 요청의 일부로 포함합니다.
XML API
평소와 같이 버킷을 만들고 헤더 x-goog-bucket-object-lock-enabled: True를 요청의 일부로 포함합니다.
버킷의 객체 보관 상태 보기
버킷의 객체에 대해 보관 구성을 설정할 수 있는지 확인하려면 다음 안내를 따르세요.
콘솔
- Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
버킷으로 이동 - 상태를 확인할 버킷의 이름을 클릭합니다.
- 보호 탭을 클릭합니다.
- 버킷의 객체 보관 상태가 객체 보관 섹션에 표시됩니다.
명령줄
gcloud storage buckets describe 명령어를 --format 플래그와 함께 사용합니다.
gcloud storage buckets describe gs://BUCKET_NAME --format="default(per_object_retention)"
여기서 BUCKET_NAME은 확인하려는 보관 정책의 버킷 이름입니다. 예를 들면 my-bucket입니다.
성공한 경우 버킷에 보관 정책이 있으면 다음과 유사한 응답이 표시됩니다.
per_object_retention: mode: Enabled
성공한 경우 버킷에 보관 정책이 없으면 다음과 유사한 응답이 표시됩니다.
null
클라이언트 라이브러리
REST API
JSON API
Authorization헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.- cURL을 사용해서
objectRetention필드가 포함된 GET 버킷 요청을 포함하여 JSON API를 호출합니다.
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=objectRetention"
여기서BUCKET_NAME은 관련 버킷의 이름입니다. 예를 들면my-bucket입니다.
XML API
Authorization헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.- cURL을 사용해서 범위가
?object-lock으로 지정된 GET 버킷을 포함하여 XML API를 호출합니다.
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://storage.googleapis.com/BUCKET_NAME?object-lock"
여기서BUCKET_NAME은 관련 버킷의 이름입니다. 예를 들면my-bucket입니다.
객체의 보관 구성 설정
객체의 보관 구성을 설정하려면 객체 보관이 사용 설정된 버킷에 객체를 저장해야 합니다. 객체의 보관 구성을 설정하려면 다음을 수행하세요.
콘솔
- Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
버킷으로 이동 - 버킷 목록에서 보관 구성을 설정하거나 수정하려는 객체가 포함된 버킷의 이름을 클릭합니다.
객체 탭이 선택된 상태로 버킷 세부정보 페이지가 열립니다. - 객체(폴더에 있을 수 있음)로 이동합니다.
- 객체의 이름을 클릭합니다.
객체 세부정보 페이지가 열리고 객체 메타데이터가 표시됩니다. - 보호 섹션에서 객체 보관 구성에서와 연결된 수정 아이콘()을 클릭합니다.
보관 수정 창이 열립니다. - 객체 보관 구성 섹션에서 사용 설정됨 또는 사용 중지됨을 클릭합니다.
- 보관 구성이 사용 설정된 경우 보관 기한 섹션에서 구성의 날짜와 시간을 선택한 다음, 보관 모드 섹션에서 잠금 해제됨 또는 잠금을 클릭합니다.
- 확인을 클릭합니다.
명령줄
gcloud storage objects update 명령어를 적절한 플래그와 함께 사용합니다. 보관 구성을 추가하거나 수정하려면 다음 명령어를 사용합니다. 기존 구성을 잠그거나 보관 기간을 단축하는 방식으로 수정하는 경우 --override-unlocked-retention 플래그를 추가로 포함해야 합니다.
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --retain-until=DATETIME --retention-mode=STATE
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME: 관련 버킷의 이름. 예를 들면my-bucket입니다.OBJECT_NAME은 관련 객체의 이름입니다. 예를 들면kitten.png입니다.DATETIME은 객체를 삭제할 수 있는 가장 빠른 날짜와 시간입니다. 예를 들면2028-02-15T05:30:00Z입니다.STATE는Locked또는Unlocked입니다.
성공하면 다음 예시와 비슷한 응답이 표시됩니다.
Updating gs://my-bucket/kitten.png... Completed 1
객체에서 보관 구성을 삭제하려면 다음 명령어를 사용합니다.
gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --clear-retention --override-unlocked-retention
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME: 관련 버킷의 이름. 예를 들면my-bucket입니다.OBJECT_NAME은 관련 객체의 이름입니다. 예를 들면kitten.png입니다.
클라이언트 라이브러리
REST API
JSON API
Authorization헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.- 다음 정보를 포함하는 JSON 파일을 만듭니다.
{
"retention": {
"mode": STATE,
"retainUntilTime": "DATETIME"
}
}
각 항목의 의미는 다음과 같습니다.STATE는Locked또는Unlocked입니다.DATETIME은 객체를 삭제할 수 있는 가장 빠른 날짜와 시간입니다. 예를 들면2028-02-15T05:30:00Z입니다.
- cURL을 사용해서 PATCH 객체 요청을 포함하여 JSON API를 호출합니다.
curl -X PATCH --data-binary @JSON_FILE_NAME \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?overrideUnlockedRetention=BOOLEAN"
각 항목의 의미는 다음과 같습니다.JSON_FILE_NAME은 2단계에서 만든 파일의 경로입니다.BUCKET_NAME은 관련 버킷의 이름입니다. 예를 들면my-bucket입니다.OBJECT_NAME은 관련 객체의 URL 인코딩 이름입니다. 예를 들어pets/kitten.png는pets%2Fkitten.png로 URL 인코딩됩니다.- 요청이 기존 보관 구성을 단축, 삭제 또는 잠그는 경우
BOOLEAN은true여야 합니다. 그렇지 않으면overrideUnlockedRetention매개변수가 요청에서 완전히 제외될 수 있습니다.
XML API
Authorization헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.- 다음을 정보를 포함하는 XML 파일을 만듭니다. STATE DATETIME 각 항목의 의미는 다음과 같습니다. * `STATE`은 `GOVERNANCE` 또는 `COMPLIANCE`입니다. * `DATETIME`은 객체를 삭제할 수 있는 가장 빠른 날짜와 시간입니다. 예를 들면 `2028-02-15T05:30:00Z`입니다.
- cURL을 사용해서 범위가
?retention으로 지정된 PUT 객체를 포함하여 XML API를 호출합니다.
curl -X PUT --data-binary @XML_FILE_NAME \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-bypass-governance-retention: BOOLEAN" \
"https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?retention"
각 항목의 의미는 다음과 같습니다.XML_FILE_NAME은 2단계에서 만든 XML 파일의 경로입니다.- 요청이 기존 보관 구성을 단축, 삭제 또는 잠그는 경우
BOOLEAN은true여야 합니다. 그렇지 않으면x-goog-bypass-governance-retention헤더가 요청에서 완전히 제외될 수 있습니다. BUCKET_NAME은 관련 버킷의 이름입니다. 예를 들면my-bucket입니다.OBJECT_NAME은 관련 객체의 URL 인코딩 이름입니다. 예를 들어pets/kitten.png는pets%2Fkitten.png로 URL 인코딩됩니다.
객체의 보관 구성 보기
객체에 설정된 보관 구성(있는 경우)을 보려면 다음을 수행하세요.
콘솔
- Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
버킷으로 이동 - 버킷 목록에서 보관 구성을 보려는 객체가 포함된 버킷의 이름을 클릭합니다.
객체 탭이 선택된 상태로 버킷 세부정보 페이지가 열립니다. - 객체(폴더에 있을 수 있음)로 이동합니다.
- 객체의 이름을 클릭합니다.
객체 세부정보 페이지가 열리고 객체 메타데이터가 표시됩니다. 객체의 보관 구성에 대한 정보가 보호 섹션에 표시됩니다.
명령줄
gcloud storage objects describe 명령어를 --format 플래그와 함께 사용합니다.
gcloud storage objects describe gs://BUCKET_NAME/OBJECT_NAME --format="default(retention_settings)"
각 항목의 의미는 다음과 같습니다.
BUCKET_NAME: 관련 버킷의 이름. 예를 들면my-bucket입니다.OBJECT_NAME은 관련 객체의 이름입니다. 예를 들면kitten.png입니다.
성공하면 객체에 보관 구성이 존재할 때 다음과 유사한 응답이 표시됩니다.
retention_settings: mode: Unlocked retainUntilTime: '2028-11-30T14:11:14+00:00'
성공하고 객체에 보관 구성이 없으면 다음과 유사한 응답이 표시됩니다.
null
클라이언트 라이브러리
REST API
JSON API
Authorization헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.- cURL을 사용해서
retention필드가 포함된 GET 객체와 함께 JSON API를 호출합니다.
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/OBJECT_NAME?fields=retention"
각 항목의 의미는 다음과 같습니다.BUCKET_NAME: 관련 버킷의 이름. 예를 들면my-bucket입니다.OBJECT_NAME은 관련 객체의 이름입니다. 예를 들면kitten.png입니다.
XML API
Authorization헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.- cURL을 사용해서 범위가
?retention으로 지정된 GET 객체를 포함하여 XML API를 호출합니다.
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?retention"
각 항목의 의미는 다음과 같습니다.BUCKET_NAME: 관련 버킷의 이름. 예를 들면my-bucket입니다.OBJECT_NAME은 관련 객체의 이름입니다. 예를 들면kitten.png입니다.
다음 단계
- 보관 구성에 대해 알아보기
- Cloud Storage 데이터를 보호하는 다른 기능 알아보기
- 보관 기간 도달 시 파일을 자동으로 삭제할 수 있는 객체 수명 주기 관리에 대해 알아보기