S3 Object Lock 보존

S3 Object Lock 보존 (retention)

S3 Object Lock의 보존 기간을 많은 객체에 한 번에 관리하고 싶다면 Batch Operations를 쓸 수 있어요. Object Lock retention 작업은 거버넌스 모드나 컴플라이언스 모드 중 하나로 객체에 고정 또는 가변 보존을 적용해 줍니다.

출처: 문서

본문

Amazon S3 Batch Operations를 쓰면 S3 객체에 대해 대규모 배치 작업을 수행할 수 있어요. Object Lock retention 작업은 거버넌스 모드(governance mode)나 컴플라이언스 모드(compliance mode) 중 하나로 객체에 고정 또는 가변 보존을 적용할 수 있죠. 이 보존 모드들은 서로 다른 수준의 보호를 제공해요. 두 보존 모드 모두 모든 객체 버전에 적용할 수 있어요. 보존 날짜는 법적 보존(legal hold)과 마찬가지로 객체가 덮어써지거나 삭제되는 것을 방지해요. Amazon S3는 객체의 메타데이터에 지정된 보존 기한(retain until date)을 저장하고, 보존 기간이 만료될 때까지 지정된 객체 버전을 보호해요.

S3 Batch Operations를 Object Lock과 함께 사용하면 많은 Amazon S3 객체의 보존 기간을 한 번에 관리할 수 있어요. 고정된 보존 기한을 설정하거나, 규모에 맞게 기존 객체에 이벤트 보존과 기간을 설정하거나, 객체 전체에 걸쳐 이벤트 보존을 해제할 수 있죠. 이벤트 보존(event hold)은 해제할 때까지 객체를 WORM(write-once-read-many)으로 보호해요. 보존을 해제하면 Amazon S3는 해제 시점에 구성된 기간을 더한 값을 최종 보존 기한으로 설정해요. 대상 객체 목록을 매니페스트에 지정해 Batch Operations에 제출하면 됩니다. 자세한 내용은 S3 Object Lock Retention periods 문서를 참고하세요.

보존 날짜가 있는 S3 Batch Operations 작업은 완료되거나, 취소되거나, 실패 상태에 도달할 때까지 실행돼요. 단일 요청으로 많은 객체의 보존 날짜를 추가하거나, 변경하거나, 제거하고 싶을 때 S3 Batch Operations와 S3 Object Lock 보존을 사용하는 걸 권장해요.

Batch Operations는 매니페스트의 어떤 키를 처리하기 전에 버킷에서 Object Lock이 활성화되어 있는지 확인해요. 이러한 작업과 검증을 수행하려면 Batch Operations가 대신 Object Lock을 호출할 수 있도록 IAM 역할에 s3:GetBucketObjectLockConfiguration과 s3:PutObjectRetention 권한이 필요해요. 자세한 내용은 Object Lock considerations 문서를 참고하세요.

REST API에서 이 작업을 사용하는 방법은 Amazon Simple Storage Service API Reference의 CreateJob 작업 안의 S3PutObjectRetention을 참고하세요. AWS Command Line Interface(AWS CLI) 예제는 Using the AWS CLI 문서를, AWS SDK for Java 예제는 Using the AWS SDK for Java 문서를 참고하세요.

제약 사항과 한계

Batch Operations로 Object Lock 보존 기간을 적용할 때는 다음 제약 사항과 한계가 적용돼요.

  • S3 Batch Operations는 버킷 수준의 변경을 하지 않아요.
  • 작업이 수행되는 버킷에 버전 관리(Versioning)와 S3 Object Lock이 구성되어 있어야 해요.
  • 매니페스트에 나열된 모든 객체는 같은 버킷에 있어야 해요.
  • 매니페스트에 버전이 명시적으로 지정되지 않으면 작업은 객체의 최신 버전에 적용돼요.
  • Object Lock 보존 작업을 사용하려면 IAM 역할에 s3:PutObjectRetention 권한이 필요해요.
  • 작업을 수행하는 S3 버킷에서 Object Lock이 활성화되어 있는지 확인하려면 s3:GetBucketObjectLockConfiguration IAM 권한이 필요해요.
  • COMPLIANCE 모드 보존 날짜가 적용된 객체는 보존 기간을 연장만 할 수 있고, 단축할 수 없어요.
  • 단일 S3 Object Lock 보존 작업은 최대 200억 개 객체의 매니페스트를 지원할 수 있어요.
  • 이벤트 보존을 해제할 때는 새 보존 기한(retain-until-date)을 지정할 수 없어요. 이벤트 보존을 끄면서 같은 작업에서 더 나중의 명시적 보존 기한을 적용하고 싶다면, 고정 보존(fixed retention)을 사용하세요. 고정 보존은 이벤트 보존을 끄고 지정한 보존 기한을 적용해요.