awsコマンドでcpコマンドは成功するが、--acl public-readオプションを付けると失敗するとき

カテゴリ: 未分類

発生した事象

AWSのaws s3 cpで、ACLを指定してS3にファイルをアップロードすると、エラーが発生する

  • 成功するパターン
aws s3 cp ./src/* s3://dest-bucket
  • エラーになるパターン
aws s3 cp ./src/* s3://dest-bucket --acl public-read

An error occurred (AccessDenied) when calling the PutObject operation: Access Denied

原因

コマンドを実行するIAMロールに対してs3:PutObject権限は付与していたが、s3:PutObjectAcl権限を付与していなかったから

対応

以下のように、s3:PutObjectAcl権限を付与したら成功した

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "xxx",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:::dest-bucket/*"
        }
    ]
}

Amazonでおトクに買い物する方法
AmazonチャージでポイントGET


Amazonは買いもの前にAmazonギフト券をチャージしてポイントをゲットしないと損!

こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。