객체 보관 구성 사용 설정 및 사용 (original) (raw)

개요

이 페이지에서는 버킷에 대한 객체 보관 잠금 기능 사용 설정 및 버킷 내 객체에 대한 보관 구성 설정을 포함하여 객체 보관 잠금 기능을 사용하는 방법을 설명합니다.

필요한 역할

버킷에 객체 보관 잠금 기능을 사용 설정하고 객체에 보관 구성을 설정하는 데 필요한 권한을 얻으려면 관리자에게 버킷이 포함된 프로젝트나 버킷에 대한 스토리지 관리자(roles/storage.admin) IAM 역할을 부여해 달라고 요청하세요. 이 사전 정의된 역할에는 보관 구성을 설정하고 관리하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 확장하세요.

필수 권한

커스텀 역할을 사용하여 이러한 권한을 부여받을 수도 있습니다.

버킷에 대한 역할 부여에 대한 자세한 내용은 버킷에 IAM 정책 설정 및 관리를 참조하세요. 프로젝트에 대해 역할을 부여하는 방법은 프로젝트에 대한 액세스 관리를 참조하세요.

버킷의 객체 보관 사용 설정

다음 안내에 따라 버킷의 객체에 대해 보관 구성을 허용할 수 있습니다. 기존 버킷에 대해 객체 보관 구성을 사용 설정하려면 Google Cloud 콘솔 안내를 따라야 합니다.

콘솔

새 버킷에 대해 객체 보관 구성을 사용 설정하려면:

  1. 평소와 같이 버킷을 만들고 객체 데이터 보호 방법 선택 단계에서 **보관(규정 준수용)**을 선택하고 이어서 객체 보관 사용 설정을 선택합니다.

기존 버킷에 대해 객체 보관 구성을 사용 설정하려면:

  1. Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
    버킷으로 이동
  2. 버킷 목록에서 객체 보관을 사용 설정하려는 버킷의 이름을 클릭합니다.
  3. 페이지 상단의 보호 탭을 선택합니다.
    버킷의 객체 보관 상태가 객체 보관 섹션에 표시됩니다.
  4. 객체 보관 섹션에서 객체 보관이 사용 설정되지 않음을 클릭합니다.
  5. 대화상자가 나타나면 확인을 클릭합니다.

명령줄

평소와 같이 버킷을 만들고 명령어에 --enable-per-object-retention 플래그를 포함합니다.

클라이언트 라이브러리

REST API

JSON API

평소와 같이 버킷을 만들고 쿼리 매개변수 enableObjectRetention=true를 요청의 일부로 포함합니다.

XML API

평소와 같이 버킷을 만들고 헤더 x-goog-bucket-object-lock-enabled: True를 요청의 일부로 포함합니다.

버킷의 객체 보관 상태 보기

버킷의 객체에 대해 보관 구성을 설정할 수 있는지 확인하려면 다음 안내를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
    버킷으로 이동
  2. 상태를 확인할 버킷의 이름을 클릭합니다.
  3. 보호 탭을 클릭합니다.
  4. 버킷의 객체 보관 상태가 객체 보관 섹션에 표시됩니다.

명령줄

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

  1. Authorization 헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.
  2. 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

  1. Authorization 헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.
  2. 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입니다.

객체의 보관 구성 설정

객체의 보관 구성을 설정하려면 객체 보관이 사용 설정된 버킷에 객체를 저장해야 합니다. 객체의 보관 구성을 설정하려면 다음을 수행하세요.

콘솔

  1. Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
    버킷으로 이동
  2. 버킷 목록에서 보관 구성을 설정하거나 수정하려는 객체가 포함된 버킷의 이름을 클릭합니다.
    객체 탭이 선택된 상태로 버킷 세부정보 페이지가 열립니다.
  3. 객체(폴더에 있을 수 있음)로 이동합니다.
  4. 객체의 이름을 클릭합니다.
    객체 세부정보 페이지가 열리고 객체 메타데이터가 표시됩니다.
  5. 보호 섹션에서 객체 보관 구성에서와 연결된 수정 아이콘()을 클릭합니다.
    보관 수정 창이 열립니다.
  6. 객체 보관 구성 섹션에서 사용 설정됨 또는 사용 중지됨을 클릭합니다.
    1. 보관 구성이 사용 설정된 경우 보관 기한 섹션에서 구성의 날짜와 시간을 선택한 다음, 보관 모드 섹션에서 잠금 해제됨 또는 잠금을 클릭합니다.
  7. 확인을 클릭합니다.

명령줄

gcloud storage objects update 명령어를 적절한 플래그와 함께 사용합니다. 보관 구성을 추가하거나 수정하려면 다음 명령어를 사용합니다. 기존 구성을 잠그거나 보관 기간을 단축하는 방식으로 수정하는 경우 --override-unlocked-retention 플래그를 추가로 포함해야 합니다.

gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --retain-until=DATETIME --retention-mode=STATE

각 항목의 의미는 다음과 같습니다.

성공하면 다음 예시와 비슷한 응답이 표시됩니다.

Updating gs://my-bucket/kitten.png... Completed 1

객체에서 보관 구성을 삭제하려면 다음 명령어를 사용합니다.

gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --clear-retention --override-unlocked-retention

각 항목의 의미는 다음과 같습니다.

클라이언트 라이브러리

REST API

JSON API

  1. Authorization 헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.
  2. 다음 정보를 포함하는 JSON 파일을 만듭니다.
    {
    "retention": {
    "mode": STATE,
    "retainUntilTime": "DATETIME"
    }
    }
    각 항목의 의미는 다음과 같습니다.
    • STATELocked 또는 Unlocked입니다.
    • DATETIME은 객체를 삭제할 수 있는 가장 빠른 날짜와 시간입니다. 예를 들면 2028-02-15T05:30:00Z입니다.
  3. 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.pngpets%2Fkitten.png로 URL 인코딩됩니다.
    • 요청이 기존 보관 구성을 단축, 삭제 또는 잠그는 경우 BOOLEANtrue여야 합니다. 그렇지 않으면 overrideUnlockedRetention 매개변수가 요청에서 완전히 제외될 수 있습니다.

XML API

  1. Authorization 헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.
  2. 다음을 정보를 포함하는 XML 파일을 만듭니다. STATE DATETIME 각 항목의 의미는 다음과 같습니다. * `STATE`은 `GOVERNANCE` 또는 `COMPLIANCE`입니다. * `DATETIME`은 객체를 삭제할 수 있는 가장 빠른 날짜와 시간입니다. 예를 들면 `2028-02-15T05:30:00Z`입니다.
  3. 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 파일의 경로입니다.
    • 요청이 기존 보관 구성을 단축, 삭제 또는 잠그는 경우 BOOLEANtrue여야 합니다. 그렇지 않으면 x-goog-bypass-governance-retention 헤더가 요청에서 완전히 제외될 수 있습니다.
    • BUCKET_NAME은 관련 버킷의 이름입니다. 예를 들면 my-bucket입니다.
    • OBJECT_NAME은 관련 객체의 URL 인코딩 이름입니다. 예를 들어 pets/kitten.pngpets%2Fkitten.png로 URL 인코딩됩니다.

객체의 보관 구성 보기

객체에 설정된 보관 구성(있는 경우)을 보려면 다음을 수행하세요.

콘솔

  1. Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.
    버킷으로 이동
  2. 버킷 목록에서 보관 구성을 보려는 객체가 포함된 버킷의 이름을 클릭합니다.
    객체 탭이 선택된 상태로 버킷 세부정보 페이지가 열립니다.
  3. 객체(폴더에 있을 수 있음)로 이동합니다.
  4. 객체의 이름을 클릭합니다.
    객체 세부정보 페이지가 열리고 객체 메타데이터가 표시됩니다. 객체의 보관 구성에 대한 정보가 보호 섹션에 표시됩니다.

명령줄

gcloud storage objects describe 명령어를 --format 플래그와 함께 사용합니다.

gcloud storage objects describe gs://BUCKET_NAME/OBJECT_NAME --format="default(retention_settings)"

각 항목의 의미는 다음과 같습니다.

성공하면 객체에 보관 구성이 존재할 때 다음과 유사한 응답이 표시됩니다.

retention_settings: mode: Unlocked retainUntilTime: '2028-11-30T14:11:14+00:00'

성공하고 객체에 보관 구성이 없으면 다음과 유사한 응답이 표시됩니다.

null

클라이언트 라이브러리

REST API

JSON API

  1. Authorization 헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.
  2. 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

  1. Authorization 헤더에 대한 액세스 토큰을 생성하려면 gcloud CLI가 설치 및 초기화되어 있어야 합니다.
  2. 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입니다.

다음 단계