ablog

不器用で落着きのない技術者のメモ

s3 cp でクロスアカウントでバケット間コピーすると "An error occurred (AccessDenied) when calling the UploadPartCopy operation" と怒られる

事象

s3 cp でクロスアカウントでバケット間コピーすると "Access Denied" と怒られる。コピー元バケットからEC2へのコピーや、EC2からコピー先のバケットへのコピーは成功する。

$ aws s3 cp --recursive s3://cp-from/ s3://cp-to/
copy failed: s3://cp-from/test.txt to s3://cp-to/test.txt An error occurred (AccessDenied) when calling the UploadPartCopy operation: Access Denied

解決策

コピー先の自アカウントでS3バケットの「バケットにパブリックポリシーがある場合、パブリックアクセスとクロスアカウントアクセスをブロックする (推奨) 」をOFFにする。

前提

コピー元が他アカウントで、コピー先が自アカウントとする。