객체 암호화 업데이트
Amazon S3 Batch Operations를 사용하여 Amazon S3 객체에 대해 대규모 배치 작업을 수행할 수 있습니다. Batch Operations UpdateObjectEncryption 작업은 단일 요청으로 둘 이상의 Amazon S3 객체의 서버 측 암호화 유형을 업데이트합니다. 단일 UpdateObjectEncryption 작업은 최대 200억 개의 객체가 포함된 매니페스트를 지원할 수 있습니다.
UpdateObjectEncryption 작업은 범용 버킷이 지원하는 모든 Amazon S3 스토리지 클래스에서 지원됩니다. UpdateObjectEncryption 작업을 사용하여 암호화된 객체를 Amazon S3 관리형 키를 사용한 서버 측 암호화(SSE- S3)에서 AWS Key Management Service(AWS KMS) 키(SSE-KMS)로 변경하거나 S3 버킷 키를 적용할 수 있습니다. 또한 사용자 지정 키 교체 표준을 준수하도록 UpdateObjectEncryption 작업을 사용하여 데이터를 암호화하는 데 사용되는 고객 관리형 KMS 키를 변경할 수 있습니다.
Batch Operations 작업을 생성할 때 지정한 소스 위치 및 필터 기준에 따라 객체 목록을 생성할 수 있습니다. MatchAnyObjectEncryption 필터를 사용하여 버킷에서 업데이트하고 매니페스트에 포함할 객체 목록을 생성할 수 있습니다. 생성된 객체 목록에는 표시된 서버 측 암호화 유형이 있는 소스 버킷 객체만 포함됩니다. SSE-KMS를 선택하는 경우 원하는 대로 특정 KMS 키 ARN 및 버킷 키 활성화 상태를 지정하여 결과를 추가로 필터링할 수 있습니다. 자세한 내용은 JobManifestGeneratorFilter 및 Amazon S3 API 참조의 SSEKMSFilter 섹션을 참조하세요.
제한 및 고려 사항
Batch Operations UpdateObjectEncryption 작업을 사용하는 경우 다음과 같은 제한 및 고려 사항이 적용됩니다.
-
UpdateObjectEncryption작업은 암호화되지 않은 객체 또는 AWS KMS keys를 사용한 이중 계층 서버 측 암호화(DSSE-KMS) 또는 고객 제공 암호화 키(SSE-C)로 암호화된 객체를 지원하지 않습니다. 또한 SSE-S3 암호화 유형UpdateObjectEncryption요청을 지정할 수 없습니다. -
UpdateObjectEncryption작업을 사용하여 S3 버전 관리가 활성화된 버킷의 객체를 업데이트할 수 있습니다. 특정 버전의 암호화 유형을 업데이트하려면UpdateObjectEncryption요청에 버전 ID를 지정해야 합니다. 버전 ID를 지정하지 않으면UpdateObjectEncryption요청이 객체의 현재 버전에 적용됩니다. S3 버전 관리에 대한 자세한 내용은 S3 버전 관리로 여러 버전의 객체 유지 섹션을 참조하십시오. -
S3 Object Lock 보존 모드 또는 법적 보존이 적용된 객체에서는
UpdateObjectEncryption작업이 실패합니다. 객체에 거버넌스 모드 보존 기간 또는 법적 보존이 있는 경우UpdateObjectEncryption요청을 실행하기 전에 먼저 객체의 Object Lock 상태를 해제해야 합니다. Object Lock 규정 준수 모드 보존 기간이 적용된 객체에는UpdateObjectEncryption작업을 사용할 수 없습니다. S3 객체 잠금에 대한 자세한 내용은 Object Lock으로 객체 잠금 섹션을 참조하세요. -
라이브 복제가 활성화된 소스 버킷에 대한
UpdateObjectEncryption요청은 대상 버킷에서 복제본 이벤트를 시작하지 않습니다. 소스 버킷과 대상 버킷 모두에서 객체의 암호화 유형을 변경하려면 소스 버킷과 대상 버킷의 객체에 대해 별도의UpdateObjectEncryption요청을 시작해야 합니다. -
기본적으로 고객 관리형 KMS 키를 지정하는 모든
UpdateObjectEncryption요청은 버킷 소유자의 AWS 계정이 소유한 KMS 키로 제한됩니다. AWS Organizations를 사용하는 경우 AWS Support에 문의하여 조직 내 다른 멤버 계정이 소유한 AWS KMS keys를 사용할 수 있는 기능을 요청할 수 있습니다. -
S3 배치 복제를 사용하여 리전 간 데이터세트를 복제하며 이전에 객체의 서버 측 암호화 유형이 SSE-S3에서 SSE-KMS로 업데이트된 경우 추가 권한이 필요할 수 있습니다. 소스 리전 버킷에는
kms:decrypt권한이 있어야 합니다. 그런 다음 대상 리전의 버킷에 대한kms:decrypt및kms:encrypt권한이 필요합니다. -
UpdateObjectEncryption요청에 전체 KMS 키 ARN을 제공합니다. 별칭 이름이나 별칭 ARN은 사용할 수 없습니다. AWS KMS 콘솔에서 또는 AWS KMSDescribeKeyAPI를 사용하여 전체 KMS 키 ARN을 확인할 수 있습니다.
UpdateObjectEncryption에 대한 자세한 내용은 기존 데이터에 대한 서버 측 암호화 업데이트 섹션을 참조하세요.
필수 권한
UpdateObjectEncryption 작업을 수행하려면 IAM 위탁자(사용자, 역할 또는 그룹)에 다음 AWS Identity and Access Management(IAM) 정책을 추가합니다. 이 정책을 사용하려면 을 암호화를 업데이트할 객체가 포함된 버킷의 이름으로 바꿉니다. amzn-s3-demo-bucket을 매니페스트가 포함된 버킷의 이름으로 바꾸고 amzn-s3-demo-manifest-bucket을 완료 보고서를 저장할 버킷의 이름으로 바꿉니다.amzn-s3-demo-completion-report-bucket
{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3BatchOperationsUpdateEncryption", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:PutObject", "s3:UpdateObjectEncryption" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-target" "arn:aws:s3:::amzn-s3-demo-bucket-target-target/*" ] }, { "Sid": "S3BatchOperationsPolicyForManifestFile", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-manifest/*" ] }, { "Sid": "S3BatchOperationsPolicyForCompletionReport", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-completion-report/*" ] }, { "Sid": "S3BatchOperationsPolicyManifestGeneration", "Effect": "Allow", "Action": [ "s3:PutInventoryConfiguration" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-target" ] }, { "Sid": "AllowKMSOperationsForS3BatchOperations", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:Encrypt", "kms:ReEncrypt*" ], "Resource": [ "arn:aws:kms:us-east-1:111122223333:key/01234567-89ab-cdef-0123-456789abcdef" ] } ] }
S3 Batch Operations 서비스 위탁자가 사용자를 대신하여 Batch Operations 작업을 실행하기 위해 맡는 IAM 역할에 연결해야 하는 신뢰 정책 및 권한 정책은 배치 작업에 대한 권한 부여 및 객체 암호화 업데이트 섹션을 참조하세요.