Object Lock을 사용하여 내 Amazon S3 버킷에 교차 계정 복제를 설정하려면 어떻게 해야 합니까?
Object Lock이 활성화된 Amazon Simple Storage Service(Amazon S3) 버킷에 교차 계정 복제를 설정하려고 합니다.
해결 방법
대상 버킷의 Object Lock 활성화
Amazon S3 버킷의 복제를 설정하려면 대상 버킷의 Object Lock을 활성화하십시오.
참고: S3 Object Lock을 활성화한 후에는 Object Lock을 비활성화하거나 버킷의 버전 관리를 일시 중단할 수 없습니다.
필요한 권한이 있는 복제용 IAM 역할 생성
AWS Identity and Access Management(IAM) 콘솔에서 Amazon S3에 대한 신뢰 관계가 있는 소스 계정에 대해 복제용 IAM 역할을 생성합니다.
예:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
다음 권한을 IAM 역할에 연결합니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SourceBucketPermissions", "Effect": "Allow", "Action": [ "s3:GetObjectRetention", "s3:GetObjectVersionTagging", "s3:GetObjectVersionAcl", "s3:ListBucket", "s3:GetObjectVersionForReplication", "s3:GetObjectLegalHold", "s3:GetReplicationConfiguration" ], "Resource": [ "arn:aws:s3:::SourceBucketName/*", "arn:aws:s3:::SourceBucketName" ] }, { "Sid": "DestinationBucketPermissions", "Effect": "Allow", "Action": [ "s3:ReplicateObject", "s3:ObjectOwnerOverrideToBucketOwner", "s3:GetObjectVersionTagging", "s3:ReplicateTags", "s3:ReplicateDelete" ], "Resource": [ "arn:aws:s3:::DestBucketName/*" ] } ] }
AWS Key Management Service(AWS KMS) 키를 사용하는 경우 다음 권한도 IAM 역할에 연결하십시오.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SourceBucketPermissions", "Effect": "Allow", "Action": [ "s3:GetObjectRetention", "s3:GetObjectVersionTagging", "s3:GetObjectVersionAcl", "s3:ListBucket", "s3:GetObjectVersionForReplication", "s3:GetObjectLegalHold", "s3:GetReplicationConfiguration" ], "Resource": [ "arn:aws:s3:::SourceBucketName/*", "arn:aws:s3:::SourceBucketName" ] }, { "Sid": "DestinationBucketPermissions", "Effect": "Allow", "Action": [ "s3:ReplicateObject", "s3:ObjectOwnerOverrideToBucketOwner", "s3:GetObjectVersionTagging", "s3:ReplicateTags", "s3:ReplicateDelete" ], "Resource": [ "arn:aws:s3:::DestBucketName/*" ] }, { "Sid": "SourceBucketKMSKey", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Effect": "Allow", "Resource": "SourceBucketKMSKeyARN" }, { "Sid": "DestinationBucketKMSKey", "Action": [ "kms:Encrypt", "kms:GenerateDataKey" ], "Effect": "Allow", "Resource": "DestinationBucketKMSKeyARN" } ] }
AWS KMS 키 권한 업데이트
원본 계정의 복제된 IAM 역할에 액세스할 수 있도록 대상 계정의 AWS KMS 키를 구성합니다. SSE-S3 암호화를 사용할 수 있지만, 교차 계정 복제에는 관리형 AWS KMS 키 aws/S3을을 사용할 수 없습니다. 자세한 내용은 암호화된 객체 복제(SSE-S3, SSE-KMS, DSSE-KMS, SSE-C)를 참조하십시오.
예:
{ "Sid": "AllowS3ReplicationSourceRoleToUseTheKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789101:role/s3-replication-role" }, "Action": [ "kms:GenerateDataKey", "kms:Encrypt" ], "Resource": "*" }
참고: 키 정책에서 Resource에 별표(*)를 사용하는 경우, 정책은 AWS KMS 키의 복제된 IAM 역할에만 권한을 부여합니다. 정책에 따라 복제된 역할의 권한을 높일 수는 없습니다.
대상 계정에 다음 버킷 정책을 추가합니다.
위탁자 섹션에서 생성한 복제 IAM 역할의 Amazon 리소스 이름(ARN)을 추가합니다.
예:
{ "Version": "2012-10-17", "Id": "PolicyForDestinationBucket", "Statement": [ { "Sid": "ReplicationPermissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::SourceBucket-account-ID:role/service-role/source-account-IAM-role" }, "Action": [ "s3:ReplicateDelete", "s3:ReplicateObject", "s3:ObjectOwnerOverrideToBucketOwner", "s3:GetBucketVersioning", "s3:PutBucketVersioning" ], "Resource": [ "arn:aws:s3:::DestBucketName/*", "arn:aws:s3:::DestBucketName" ] } ] }
S3 버킷의 IAM 역할 복제
다음 단계를 완료하십시오.
- Amazon S3 콘솔을 엽니다.
- Buckets(버킷)을 선택한 다음 사용자의 소스 버킷을 선택합니다.
- Management(관리) 탭을 선택합니다.
- Replication rules(복제 규칙)에서 Create replication rule(복제 규칙 생성)을 선택합니다.
- 규칙 이름을 입력합니다.
- Source bucket(소스 버킷)에서 복제가 특정 객체 접두사에 적용되는지 또는 버킷의 전체 내용에 적용되는지 여부를 결정하기 위한 규칙 범위를 선택합니다.
- Destination(대상) 섹션에서 Specify a bucket in another account(다른 계정의 버킷 지정)를 선택한 다음 대상 버킷의 이름과 계정 ID를 입력합니다.
- IAM role(IAM 역할)에서 Choose from existing IAM roles(기존 IAM 역할에서 선택)를 선택합니다.
- Create new role(새 역할 생성)을 선택합니다.
- 또는 -
이미 생성한 역할을 사용하는 경우 또는 기존 복제 규칙이 있는 경우 IAM 역할의 ARN을 입력합니다. - AWS KMS로 암호화된 객체를 복제하려면 다음을 수행합니다.
Encryption(암호화)에서 Replicate objects encrypted with AWS Key Management Service (AWS KMS)(AWS Key Management Service(AWS KMS)로 암호화된 객체 복제)를 선택합니다.
AWS KMS 키의 ARN을 입력합니다. - (선택 사항) Destination storage class(대상 스토리지 클래스) 및 Additional replication options(추가 복제 옵션)를 구성합니다.
- 구성을 검토한 다음 Save(저장)를 선택합니다.
- (선택 사항) 일회성 Amazon S3 Batch Operations 작업으로 기존 객체를 복제합니다.
계정 간에 IAM 역할을 복제했는지 확인
복제 규칙을 테스트하려면 원본 버킷에 새 객체를 추가한 다음 대상 버킷에서 복제된 객체를 확인합니다.
관련 정보
관련 콘텐츠
- 질문됨 일 년 전
