事象
- 同一リージョンでの S3 クロスアカウントレプリケーションが失敗する。
- レプリケーション元アカウントでオブジェクトのプロパティでレプリケーション状況が "FAILD" となっている。
- レプリケーションルールで[オブジェクト所有者を送信先バケット所有者に変更]を有効にしている。
原因
- オブジェクトの所有者を変更できる IAM 権限(s3:ObjectOwnerOverrideToBucketOwner) がないため。
解決策
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource": "arn:aws:s3:::rep-src-sse-s3" }, { "Effect": "Allow", "Action": [ "s3:GetObjectVersion", "s3:GetObjectVersionAcl" ], "Resource": "arn:aws:s3:::rep-src-sse-s3/*" }, { "Effect": "Allow", "Action": [ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ObjectOwnerOverrideToBucketOwner" ], "Resource": "arn:aws:s3:::rep-dst1-sse-s3/*" } ] }
{ "Version": "2012-10-17", "Id": "", "Statement": [ { "Sid": "Set permissions for objects", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/S3ReplicationRole" }, "Action": [ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ObjectOwnerOverrideToBucketOwner" ], "Resource": "arn:aws:s3:::rep-dst1-sse-s3/*" }, { "Sid": "Set permissions on bucket", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/S3ReplicationRole" }, "Action": [ "s3:GetBucketVersioning", "s3:PutBucketVersioning" ], "Resource": "arn:aws:s3:::rep-dst1-sse-s3" } ] }