Amazon S3 객체 잠금 관리 - Amazon Simple Storage Service

Amazon S3 객체 잠금 관리

S3 객체 잠금을 사용하면 Amazon S3에서 write-once-read-many(WORM) 모델을 사용하여 객체를 저장할 수 있습니다. 이를 사용하여 Amazon S3 객체의 객체 잠금 상태를 보고 구성하고 관리할 수 있습니다. S3 객체 잠금 기능에 대한 자세한 내용은 S3 객체 잠금 개요 단원을 참조하십시오.

객체의 잠금 정보 보기

GET Object 또는 HEAD Object 명령을 사용하여 Amazon S3 객체 버전의 객체 잠금 상태를 볼 수 있습니다. 두 명령 모두 지정된 객체 버전에 대한 보관 모드, Retain Until Date 및 법적 보존 상태를 반환합니다.

객체 버전의 보관 모드 및 보관 기간을 보려면 s3:GetObjectRetention 권한이 있어야 합니다. 객체 버전의 법적 보존 상태를 보려면 s3:GetObjectLegalHold 권한이 있어야 합니다. GET 또는 HEAD 객체 버전이지만 잠금 상태를 보는 데 필요한 권한이 없는 경우 요청이 성공합니다. 그러나 볼 수 있는 권한이 없는 정보는 반환하지 않습니다.

버킷의 기본 보관 구성(있는 경우)을 보려면 버킷의 객체 잠금 구성을 요청하십시오. 이렇게 하려면 s3:GetBucketObjectLockConfiguration 권한이 있어야 합니다. S3 객체 잠금이 활성화되지 않은 버킷에 대해 객체 잠금 구성을 요청하면 Amazon S3가 오류를 반환합니다. 권한에 대한 자세한 내용은 — 객체 작업 예제 단원을 참조하십시오.

버킷의 Amazon S3 인벤토리 보고서를 구성하여 버킷에 있는 모든 객체의 Retain Until Date, object lock ModeLegal Hold Status를 포함할 수 있습니다. 자세한 내용은 Amazon S3 인벤토리 단원을 참조하십시오.

거버넌스 모드 무시

s3:BypassGovernanceRetention 권한이 있는 경우, 거버넌스 모드에서 잠긴 객체 버전에 대한 작업을 보호되지 않은 것처럼 수행할 수 있습니다. 이러한 작업에는 객체 버전 삭제, 보관 기간 단축 또는 빈 파라미터가 있는 새 잠금을 배치하여 객체 잠금을 제거하는 작업이 포함됩니다. 거버넌스 모드를 무시하려면 요청에 이 모드를 무시할 것인지 명시해야 합니다. 이를 위해 요청 시 x-amz-bypass-governance-retention:true 헤더를 포함시키거나 AWS CLI 또는 AWS SDK를 통해 만든 요청과 동등한 파라미터를 사용합니다. 거버넌스 모드를 우회하는 데 필요한 권한이 있을 경우, 콘솔을 통해 만든 요청에 대한 이 헤더를 AWS Management 콘솔이 자동으로 적용합니다.

참고

거버넌스 모드 무시는 객체 버전의 법적 보존 상태에 영향을 주지 않습니다. 객체 버전에 법적 보존이 활성화된 경우, 법적 보존은 유효하게 유지되고, 요구가 객체 버전을 덮어쓰거나 삭제하지 못합니다.

이벤트 및 알림 구성

Amazon S3 이벤트는 S3 객체 잠금 S3 버킷의 객체 수준 작업에 맞게 구성할 수 있습니다. PUT Object, HEAD ObjectGET Object 호출에 객체 잠금 메타데이터가 포함되어 있으면 이러한 호출의 이벤트에 해당 메타데이터 값이 포함됩니다. 객체 잠금 메타데이터가 객체에 추가되거나 업데이트되면 이러한 작업이 이벤트도 트리거합니다. 이러한 이벤트는 PUT 또는 GET 객체 보관 또는 법적 보존 정보가 있을 때마다 발생합니다.

Amazon S3 이벤트에 대한 자세한 내용은 Amazon S3 이벤트 알림 구성 단원을 참조하십시오.

Amazon S3 이벤트 알림을 사용하여 객체 잠금 구성 및 AWS CloudTrail 사용 데이터에 대한 액세스 및 변경을 추적할 수 있습니다. CloudTrail에 대한 자세한 내용은 AWS CloudTrail 설명서를 참조하십시오.

Amazon CloudWatch를 사용하여 이 데이터 기반 알림을 생성할 수도 있습니다. CloudWatch에 대한 자세한 내용은 Amazon CloudWatch 설명서를 참조하십시오.

보관 제한 설정

버킷 정책을 사용하여 버킷의 최소 및 최대 허용 보관 기간을 설정할 수 있습니다. s3:object-lock-remaining-retention-days 조건 키를 사용하면 됩니다. 다음 예에서는 s3:object-lock-remaining-retention-days 조건 키를 사용하여 최대 보관 기간을 10일로 설정하는 버킷 정책을 보여 줍니다.

{ "Version": "2012-10-17", "Id": "<SetRetentionLimits", "Statement": [ { "Sid": "<SetRetentionPeriod", "Effect": "Deny", "Principal": "*", "Action": [ "s3:PutObjectRetention" ], "Resource": "arn:aws:s3:::<awsexamplebucket1>/*", "Condition": { "NumericGreaterThan": { "s3:object-lock-remaining-retention-days": "10" } } } ] }
참고

버킷이 복제 정책의 대상 버킷이고 복제를 사용하여 생성된 객체 복제본에 대해 최소 및 최대 허용 보존 기간을 설정하려는 경우, 버킷 정책에 s3:ReplicateObject 작업을 포함시켜야 합니다.

자세한 내용은 다음 주제를 참조하십시오.

삭제 마커 및 객체 수명 주기 관리

보호된 객체 버전은 삭제할 수 없지만 해당 객체에 대한 삭제 마커를 생성할 수 있습니다. 객체에 삭제 마커를 배치해도 객체 버전이 삭제되지 않습니다. 그러나 대부분의 경우 객체가 삭제된 것처럼 Amazon S3가 동작을 수행하게 됩니다. 자세한 내용은 삭제 마커를 통한 작업 단원을 참조하십시오.

참고

기본 객체에 설정된 보관 기간이나 법적 보존과 상관없이 삭제 마커는 WORM으로 보호되지 않습니다.

객체 수명 주기 관리 구성은 삭제 마커 배치를 포함하여 보호된 객체에서 계속 정상적으로 작동합니다. 그러나 보호된 객체 버전은 수명 주기 구성에 의해 삭제되거나 덮어쓰기 되지 않도록 안전하게 유지됩니다. 객체 수명 주기 관리에 대한 자세한 내용은 객체 수명 주기 관리을 참조하십시오.

복제에 S3 객체 잠금 사용

복제에 S3 객체 잠금을 사용하여 잠긴 객체와 보존 메타데이터를 서로 다르거나 동일한 AWS 리전에 있는 S3 버킷에 비동기식으로 자동 복사할 수 있습니다. 복제를 사용하면 원본 버킷의 객체가 대상 버킷으로 복제됩니다. 자세한 내용은 복제 단원을 참조하십시오.

복제에 S3 객체 잠금을 설정하려면 다음 옵션 중 하나를 선택할 수 있습니다.

옵션 1: 먼저 객체 잠금을 활성화합니다.

  1. 대상 버킷에서 또는 원본과 대상 버킷 모두에서 객체 잠금을 활성화합니다.

  2. 원본 버킷과 대상 버킷 간에 복제를 설정합니다.

옵션 2: 복제를 먼저 설정합니다.

  1. 원본 버킷과 대상 버킷 간에 복제를 설정합니다.

  2. 대상 버킷에만 또는 원본과 대상 버킷 모두에서 객체 잠금을 활성화합니다.

앞에 나온 옵션의 2단계를 완료하려면 AWS Support에 문의해야 합니다. 복제를 올바르게 구성하려면 꼭 필요한 일입니다.

AWS Support에 문의하기 전에 복제에 객체 잠금을 설정하기 위한 다음 요구 사항을 검토하십시오.

  • Amazon S3 대상 버킷에 객체 잠금이 활성화되어 있어야 합니다.

  • 복제 설정에 사용할 AWS Identity and Access Management(IAM) 역할에서 원본 S3 버킷에 두 가지 새로운 권한을 부여해야 합니다. 두 가지 새로운 권한은 s3:GetObjectRetentions3:GetObjectLegalHold입니다. 역할에 s3:Get* 권한이 있으면 요구 사항이 충족됩니다. 자세한 내용은 복제에 대한 권한 설정 단원을 참조하십시오.

For more information about S3 객체 잠금, see S3 객체 잠금을 사용하여 객체 잠금.