

# 객체 암호화 업데이트
<a name="batch-ops-update-encryption"></a>

Amazon S3 Batch Operations를 사용하여 Amazon S3 객체에 대해 대규모 배치 작업을 수행할 수 있습니다. Batch Operations [https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_UpdateObjectEncryptionOperation.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_control_UpdateObjectEncryptionOperation.html) 작업은 단일 요청으로 둘 이상의 Amazon S3 객체의 서버 측 암호화 유형을 업데이트합니다. 단일 `UpdateObjectEncryption` 작업은 최대 200억 개의 객체가 포함된 매니페스트를 지원할 수 있습니다.

`UpdateObjectEncryption` 작업은 범용 버킷이 지원하는 모든 Amazon S3 스토리지 클래스에서 지원됩니다. `UpdateObjectEncryption` 작업을 사용하여 암호화된 객체를 [Amazon S3 관리형 키를 사용한 서버 측 암호화(SSE- S3)](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingServerSideEncryption.html)에서 [AWS Key Management Service(AWS KMS) 키(SSE-KMS)](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingKMSEncryption.html)로 변경하거나 S3 버킷 키를 적용할 수 있습니다. 또한 사용자 지정 키 교체 표준을 준수하도록 `UpdateObjectEncryption` 작업을 사용하여 데이터를 암호화하는 데 사용되는 고객 관리형 KMS 키를 변경할 수 있습니다.

 Batch Operations 작업을 생성할 때 지정한 소스 위치 및 필터 기준에 따라 객체 목록을 생성할 수 있습니다. `MatchAnyObjectEncryption` 필터를 사용하여 버킷에서 업데이트하고 매니페스트에 포함할 객체 목록을 생성할 수 있습니다. 생성된 객체 목록에는 표시된 서버 측 암호화 유형이 있는 소스 버킷 객체만 포함됩니다. SSE-KMS를 선택하는 경우 원하는 대로 특정 KMS 키 ARN 및 버킷 키 활성화 상태를 지정하여 결과를 추가로 필터링할 수 있습니다. 자세한 내용은 [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_JobManifestGeneratorFilter.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_JobManifestGeneratorFilter.html) 및 [*Amazon S3 API 참조*의 `SSEKMSFilter`](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_SSEKMSFilter.html) 섹션을 참조하세요.

## 제한 및 고려 사항
<a name="batch-ops-encrypt-object-restrictions"></a>

Batch Operations `UpdateObjectEncryption` 작업을 사용하는 경우 다음과 같은 제한 및 고려 사항이 적용됩니다.
+ `UpdateObjectEncryption` 작업은 암호화되지 않은 객체 또는 AWS KMS keys를 사용한 이중 계층 서버 측 암호화(DSSE-KMS) 또는 고객 제공 암호화 키(SSE-C)로 암호화된 객체를 지원하지 않습니다. 또한 SSE-S3 암호화 유형 `UpdateObjectEncryption` 요청을 지정할 수 없습니다.
+ `UpdateObjectEncryption` 작업을 사용하여 S3 버전 관리가 활성화된 버킷의 객체를 업데이트할 수 있습니다. 특정 버전의 암호화 유형을 업데이트하려면 `UpdateObjectEncryption` 요청에 버전 ID를 지정해야 합니다. 버전 ID를 지정하지 않으면 `UpdateObjectEncryption` 요청이 객체의 현재 버전에 적용됩니다. S3 버전 관리에 대한 자세한 내용은 [S3 버전 관리로 여러 버전의 객체 유지](Versioning.md) 섹션을 참조하십시오.
+ S3 Object Lock 보존 모드 또는 법적 보존이 적용된 객체에서는 `UpdateObjectEncryption` 작업이 실패합니다. 객체에 거버넌스 모드 보존 기간 또는 법적 보존이 있는 경우 `UpdateObjectEncryption` 요청을 실행하기 전에 먼저 객체의 Object Lock 상태를 해제해야 합니다. Object Lock 규정 준수 모드 보존 기간이 적용된 객체에는 `UpdateObjectEncryption` 작업을 사용할 수 없습니다. S3 객체 잠금에 대한 자세한 내용은 [Object Lock으로 객체 잠금](object-lock.md) 섹션을 참조하세요.
+ 라이브 복제가 활성화된 소스 버킷에 대한 `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 KMS `DescribeKey` API를 사용하여 전체 KMS 키 ARN을 확인할 수 있습니다.
+ `KmsKeyArn` 필터를 사용할 때 매니페스트 생성 성능을 개선하려면 이 필터를 다른 객체 메타데이터 필터와 함께 사용합니다. 예를 들어 S3 배치 작업에서 매니페스트를 자동으로 생성할 때 `MatchAnyPrefix`, `CreatedAfter` 또는 `MatchAnyStorageClass`를 `KmsKeyArn`과 결합할 수 있습니다.

에 대한 자세한 내용은 `UpdateObjectEncryption` 단원을 참조하세요.[기존 데이터에 대한 서버 측 암호화 업데이트](update-sse-encryption.md).

## 필수 권한
<a name="batch-ops-required-permissions"></a>

`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 역할에 연결해야 하는 신뢰 정책 및 권한 정책은 [배치 작업에 대한 권한 부여](batch-ops-iam-role-policies.md) 및 [객체 암호화 업데이트](batch-ops-iam-role-policies.md#batch-ops-update-encryption-policies) 섹션을 참조하세요.