S3 REST API를 사용하여 S3 오브젝트 잠금을 구성합니다
StorageGRID 시스템에서 글로벌 S3 오브젝트 잠금 설정이 활성화된 경우 S3 오브젝트 잠금이 활성화된 버킷을 생성할 수 있습니다. 각 오브젝트 버전에 대해 각 버킷의 기본 보존 또는 보존 설정을 지정할 수 있습니다.
버킷에 대해 S3 오브젝트 잠금을 활성화하는 방법
StorageGRID 시스템에 대해 글로벌 S3 오브젝트 잠금 설정이 활성화된 경우 각 버킷을 생성할 때 선택적으로 S3 오브젝트 잠금을 활성화할 수 있습니다.
S3 오브젝트 잠금은 버킷을 생성할 때만 활성화할 수 있는 영구 설정입니다. 버킷을 생성한 후에는 S3 오브젝트 잠금을 추가하거나 비활성화할 수 없습니다.
버킷에 대해 S3 오브젝트 잠금을 설정하려면 다음 방법 중 하나를 사용하십시오.
-
테넌트 관리자를 사용하여 버킷을 생성합니다. 을 참조하십시오 "S3 버킷을 생성합니다".
-
과 함께 PUT 버킷 요청을 사용하여 버킷을 작성합니다
x-amz-bucket-object-lock-enabled
요청 헤더. 을 참조하십시오 "버킷 작업".
S3 오브젝트 잠금에서는 버킷 버전 관리가 필요하며, 이 버전은 버킷을 생성할 때 자동으로 활성화됩니다. 버킷의 버전 관리는 일시 중단할 수 없습니다. 을 참조하십시오 "오브젝트 버전 관리".
버킷의 기본 보존 설정입니다
버킷에 대해 S3 오브젝트 잠금이 활성화된 경우 버킷에 대한 기본 보존을 선택적으로 설정하고 기본 보존 모드 및 기본 보존 기간을 지정할 수 있습니다.
기본 보존 모드
-
규정 준수 모드:
-
보존 기한 에 도달할 때까지 개체를 삭제할 수 없습니다.
-
오브젝트의 보존 기한 을 늘릴 수 있지만 줄일 수는 없습니다.
-
개체의 보존 기한 은 해당 날짜에 도달할 때까지 제거할 수 없습니다.
-
-
거버넌스 모드:
-
를 가진 사용자
s3:BypassGovernanceRetention
사용 권한은 를 사용할 수 있습니다x-amz-bypass-governance-retention: true
보존 설정을 무시하도록 헤더를 요청합니다. -
이러한 사용자는 보존 기한이 되기 전에 개체 버전을 삭제할 수 있습니다.
-
이러한 사용자는 개체의 보존 기간(Retain-until-date)을 증가, 감소 또는 제거할 수 있습니다.
-
기본 보존 기간
각 버킷에는 년 또는 일 단위로 지정된 기본 보존 기간이 있을 수 있습니다.
버킷의 기본 보존 설정 방법
버킷의 기본 보존을 설정하려면 다음 방법 중 하나를 사용합니다.
-
테넌트 관리자에서 버킷 설정을 관리합니다. 을 참조하십시오 "S3 버킷을 생성합니다" 및 "S3 오브젝트 잠금 기본 보존 업데이트".
-
버킷에 대한 Put Object Lock Configuration 요청을 발행하여 기본 모드 및 기본 일/년 수를 지정합니다.
개체 잠금 구성을 배치합니다
Put Object Lock Configuration 요청을 사용하면 S3 Object Lock이 활성화된 버킷의 기본 보존 모드 및 기본 보존 기간을 설정 및 수정할 수 있습니다. 이전에 구성한 기본 보존 설정을 제거할 수도 있습니다.
새 오브젝트 버전이 버킷에 수집되면 기본 보존 모드가 적용됩니다(인 경우) x-amz-object-lock-mode
및 x-amz-object-lock-retain-until-date
지정되지 않았습니다. 기본 보존 기간은 다음 경우에 보존 기간을 계산하는 데 사용됩니다 x-amz-object-lock-retain-until-date
이(가) 지정되지 않았습니다.
오브젝트 버전을 수집한 후 기본 보존 기간을 수정하면 오브젝트 버전의 보존 기한은 그대로 유지되고 새 기본 보존 기간을 사용하여 다시 계산되지 않습니다.
에 가 있어야 합니다 s3:PutBucketObjectLockConfiguration
이 작업을 완료하려면 권한 또는 계정 루트 권한이 있어야 합니다.
를 클릭합니다 Content-MD5
요청 헤더를 PUT 요청에 지정해야 합니다.
요청 예
이 예에서는 버킷에 대해 S3 Object Lock을 설정하고 기본 보존 모드를 규정 준수 로 설정하고 기본 보존 기간을 6년으로 설정합니다.
PUT /bucket?object-lock HTTP/1.1 Accept-Encoding: identity Content-Length: 308 Host: host Content-MD5: request header User-Agent: s3sign/1.0.0 requests/2.24.0 python/3.8.2 X-Amz-Date: date X-Amz-Content-SHA256: authorization-string Authorization: authorization-string <ObjectLockConfiguration> <ObjectLockEnabled>Enabled</ObjectLockEnabled> <Rule> <DefaultRetention> <Mode>COMPLIANCE</Mode> <Years>6</Years> </DefaultRetention> </Rule> </ObjectLockConfiguration>
버킷의 기본 보존 결정 방법
버킷에 대해 S3 오브젝트 잠금이 설정되었는지 확인하고 기본 보존 모드 및 보존 기간을 확인하려면 다음 방법 중 하나를 사용하십시오.
-
테넌트 관리자에서 버킷을 확인합니다. 을 참조하십시오 "S3 버킷을 봅니다".
-
객체 잠금 구성 가져오기 요청을 발행합니다.
개체 잠금 구성을 가져옵니다
객체 잠금 구성 가져오기 요청을 사용하면 버킷에 대해 S3 오브젝트 잠금이 설정되어 있는지 확인하고, 활성화된 경우 버킷에 대해 기본 보존 모드 및 보존 기간이 구성되어 있는지 확인할 수 있습니다.
새 오브젝트 버전이 버킷에 수집되면 기본 보존 모드가 적용됩니다(인 경우) x-amz-object-lock-mode
이(가) 지정되지 않았습니다. 기본 보존 기간은 다음 경우에 보존 기간을 계산하는 데 사용됩니다 x-amz-object-lock-retain-until-date
이(가) 지정되지 않았습니다.
에 가 있어야 합니다 s3:GetBucketObjectLockConfiguration
이 작업을 완료하려면 권한 또는 계정 루트 권한이 있어야 합니다.
요청 예
GET /bucket?object-lock HTTP/1.1 Host: host Accept-Encoding: identity User-Agent: aws-cli/1.18.106 Python/3.8.2 Linux/4.4.0-18362-Microsoft botocore/1.17.29 x-amz-date: date x-amz-content-sha256: authorization-string Authorization: authorization-string
응답 예
HTTP/1.1 200 OK x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIXk= x-amz-request-id: B34E94CACB2CEF6D Date: Fri, 04 Sep 2020 22:47:09 GMT Transfer-Encoding: chunked Server: AmazonS3 <?xml version="1.0" encoding="UTF-8"?> <ObjectLockConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <ObjectLockEnabled>Enabled</ObjectLockEnabled> <Rule> <DefaultRetention> <Mode>COMPLIANCE</Mode> <Years>6</Years> </DefaultRetention> </Rule> </ObjectLockConfiguration>
개체의 보존 설정을 지정하는 방법
S3 오브젝트 잠금이 활성화된 버킷에는 S3 오브젝트 잠금 보존 설정이 있는 오브젝트와 없는 오브젝트의 조합이 포함될 수 있습니다.
오브젝트 레벨의 보존 설정은 S3 REST API를 사용하여 지정됩니다. 객체에 대한 보존 설정은 버킷의 기본 보존 설정보다 우선합니다.
각 개체에 대해 다음 설정을 지정할 수 있습니다.
-
* 보존 모드 *: 규정 준수 또는 거버넌스 중 하나입니다.
-
* Retain-until-date *: StorageGRID에서 개체 버전을 유지해야 하는 기간을 지정하는 날짜입니다.
-
준수 모드에서 보존 기한이 미래인 경우 오브젝트를 검색할 수 있지만 수정하거나 삭제할 수 없습니다. 보관 기한 을 늘릴 수 있지만 이 날짜는 감소 또는 제거할 수 없습니다.
-
거버넌스 모드에서 특별 권한이 있는 사용자는 보존 기한 설정을 무시할 수 있습니다. 보존 기간이 경과하기 전에 객체 버전을 삭제할 수 있습니다. 또한 보존 기간을 늘리거나 줄이거나 제거할 수도 있습니다.
-
-
* 법적 증거 자료 보관 *: 개체 버전에 법적 증거 자료 보관 기능을 적용하면 해당 개체가 즉시 잠깁니다. 예를 들어 조사 또는 법적 분쟁과 관련된 객체에 법적 보류를 지정해야 할 수 있습니다. 법적 보류는 만료 날짜가 없지만 명시적으로 제거될 때까지 유지됩니다.
개체에 대한 법적 보류 설정은 보존 모드 및 보존 기한 과 무관합니다. 개체 버전이 법적 증거 자료 보관 중인 경우 해당 버전을 삭제할 수 없습니다.
오브젝트 버전을 버킷에 추가할 때 S3 오브젝트 잠금 설정을 지정하려면 을 실행합니다 "개체 를 넣습니다", "개체 - 복사 를 선택합니다", 또는 "멀티파트 업로드를 시작합니다" 요청하십시오.
다음을 사용할 수 있습니다.
-
`x-amz-object-lock-mode`규정 준수 또는 거버넌스(대/소문자 구분)일 수 있습니다.
를 지정할 경우 x-amz-object-lock-mode
, 또한 을 지정해야 합니다x-amz-object-lock-retain-until-date
. -
x-amz-object-lock-retain-until-date
-
보존 기간 값은 형식이어야 합니다
2020-08-10T21:46:00Z
. 소수 자릿수는 허용되지만 소수점 이하 자릿수는 3자리만 유지됩니다(밀리초 단위). 다른 ISO 8601 형식은 허용되지 않습니다. -
보존 종료 날짜는 미래여야 합니다.
-
-
x-amz-object-lock-legal-hold
법적 증거 자료 보관(대소문자 구분)이 켜져 있는 경우, 해당 물체는 법적 증거 자료 보관 하에 배치됩니다. 법적 증거 자료 보관 기능이 꺼져 있는 경우 법적 증거 자료 보관 작업이 없습니다. 다른 값을 사용하면 400개의 잘못된 요청(InvalidArgument) 오류가 발생합니다.
이러한 요청 헤더를 사용하는 경우 다음과 같은 제한 사항에 유의하십시오.
-
를 클릭합니다
Content-MD5
요청 헤더가 필요한 경우x-amz-object-lock-*
요청 헤더가 Put Object 요청에 있습니다.Content-MD5
Put Object(개체 저장) - Copy(복사) 또는 Initiate MultiPart Upload(다중 파트 업로드)에는 필요하지 않습니다. -
버킷에 S3 오브젝트 잠금이 설정되어 있지 않은 경우 및 가 활성화되어 있어야 합니다
x-amz-object-lock-*
요청 헤더가 있으면 400개의 잘못된 요청(InvalidRequest) 오류가 반환됩니다. -
Put Object 요청은 의 사용을 지원합니다
x-amz-storage-class: REDUCED_REDUNDANCY
AWS 동작과 일치시킵니다. 하지만 오브젝트가 S3 오브젝트 잠금이 설정된 버킷으로 수집되면 StorageGRID는 항상 이중 커밋 수집을 수행합니다. -
후속 Get 또는 Head Object 버전 응답에는 헤더가 포함됩니다
x-amz-object-lock-mode
,x-amz-object-lock-retain-until-date
, 및x-amz-object-lock-legal-hold
, 구성된 경우 및 요청 보낸 사람이 올바른 경우s3:Get*
권한.
를 사용할 수 있습니다 s3:object-lock-remaining-retention-days
개체에 대해 허용되는 최소 및 최대 보존 기간을 제한하는 정책 조건 키입니다.
개체의 보존 설정을 업데이트하는 방법
기존 개체 버전에 대한 법적 증거 자료 보관 또는 보존 설정을 업데이트해야 하는 경우 다음 개체 하위 리소스 작업을 수행할 수 있습니다.
-
PUT Object legal-hold
새 법적 증거 자료 보관 값이 켜져 있으면 해당 개체는 법적 증거 자료 보관 아래에 배치됩니다. 법적 증거 자료 보관 가치가 없는 경우 법적 구속이 해제됩니다.
-
PUT Object retention
-
모드 값은 규정 준수 또는 거버넌스(대/소문자 구분)일 수 있습니다.
-
보존 기간 값은 형식이어야 합니다
2020-08-10T21:46:00Z
. 소수 자릿수는 허용되지만 소수점 이하 자릿수는 3자리만 유지됩니다(밀리초 단위). 다른 ISO 8601 형식은 허용되지 않습니다. -
개체 버전에 기존 보존 기한이 있는 경우 개체 버전을 늘릴 수만 있습니다. 새 값은 미래여야 합니다.
-
거버넌스 모드 사용 방법
를 가진 사용자 s3:BypassGovernanceRetention
권한은 거버넌스 모드를 사용하는 개체의 활성 보존 설정을 무시할 수 있습니다. 모든 삭제 또는 Put Object 보존 작업에는 가 포함되어야 합니다 x-amz-bypass-governance-retention:true
요청 헤더. 이러한 사용자는 다음과 같은 추가 작업을 수행할 수 있습니다.
-
개체 삭제 또는 여러 개체 삭제 작업을 수행하여 보존 기간이 경과하기 전에 개체 버전을 삭제합니다.
법적 증거 자료 보관 중인 객체는 삭제할 수 없습니다. 법적 증거 자료 보관 기능을 해제해야 합니다.
-
오브젝트의 보존 기간이 경과하기 전에 오브젝트 버전의 모드를 거버넌스로부터 규정 준수로 변경하는 Put Object 보존 작업을 수행합니다.
규정 준수 모드를 거버넌스로 변경하는 것은 허용되지 않습니다.
-
개체 유지 작업을 수행하여 개체 버전의 보존 기간을 늘리거나 줄이거나 제거합니다.