S3 Object Lock 법적 보존

객체 버전을 사용자가 실수로 덮어쓰거나 지우지 못하게 보호하려면 법적 보존을 걸어요. 법적 보존은 보존 기간과 달리 연결된 기간이 없고, 제거할 때까지 계속 유효하다는 특징이 있어요.

출처: 문서

본문

Amazon S3 Batch Operations를 쓰면 S3 객체에 대해 대규모 배치 작업을 수행할 수 있어요. Object Lock legal hold 작업을 사용해 객체 버전에 법적 보존을 걸 수 있죠. 보존 기간을 설정하는 것처럼, 법적 보존은 객체 버전이 덮어써지거나 삭제되는 것을 방지해요. 하지만 법적 보존에는 연결된 보존 기간이 없어서, 제거될 때까지 계속 유효해요.

S3 Batch Operations를 Object Lock과 함께 사용해 많은 Amazon S3 객체에 한 번에 법적 보존을 추가할 수 있어요. 그러려면 매니페스트에 대상 객체 목록을 지정해 Batch Operations에 제출하면 됩니다. S3 Batch Operations의 Object Lock 법적 보존 작업은 완료되거나, 취소되거나, 실패 상태에 도달할 때까지 실행돼요.

S3 Batch Operations는 매니페스트의 어떤 객체를 처리하기 전에 S3 버킷에서 Object Lock이 활성화되어 있는지 확인해요. 객체 작업과 버킷 수준 검증을 수행하려면 S3 Batch Operations는 IAM 역할에 s3:PutObjectLegalHold와 s3:GetBucketObjectLockConfiguration 권한이 필요해요. 이 권한 덕분에 S3 Batch Operations가 대신 S3 Object Lock을 호출할 수 있죠.

법적 보존을 제거하는 S3 Batch Operations 작업을 만들 때는 법적 보존 상태로 Off만 지정하면 돼요. 자세한 내용은 Object Lock considerations 문서를 참고하세요.

Amazon S3 REST API에서 이 작업을 사용하는 방법은 Amazon Simple Storage Service API Reference의 CreateJob 작업 안의 S3PutObjectLegalHold를 참고하세요. 이 작업 사용 예제는 Using the AWS SDK for Java 문서를 참고하세요.

제약 사항과 한계

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

  • S3 Batch Operations는 버킷 수준의 변경을 하지 않아요.
  • 매니페스트에 나열된 모든 객체는 같은 버킷에 있어야 해요.
  • 작업이 수행되는 버킷에 버전 관리(Versioning)와 S3 Object Lock이 구성되어 있어야 해요.
  • Object Lock 법적 보존 작업은 매니페스트에 버전이 명시적으로 지정되지 않으면 객체의 최신 버전에 적용돼요.
  • 객체에 법적 보존을 추가하거나 제거하려면 IAM 역할에 s3:PutObjectLegalHold 권한이 필요해요.
  • 작업이 수행되는 S3 버킷에서 S3 Object Lock이 활성화되어 있는지 확인하려면 s3:GetBucketObjectLockConfiguration IAM 권한이 필요해요.
  • 단일 S3 Object Lock 법적 보존 작업은 최대 200억 개 객체의 매니페스트를 지원할 수 있어요.