事象
$ aws s3 ls s3://arn:aws:s3:ap-northeast-1:123456789012:accesspoint/s3ap-system1/upload/ --profile system1 An error occurred (AccessDenied) when calling the ListObjectsV2 operation: Access Denied
原因
- IAM/S3アクセスポイントポリシーのリソース句で S3 アクセスポイントに対して、s3:ListBucket を許可していないため。
解決策
- S3アクセスポイントに対して s3:ListBucket を許可するポリシーを追加する(以下はIAMポリシーの例)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow list objects", "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:ap-northeast-1:123456789012:accesspoint/s3ap-system1" ] } ] }
参考
例 バケットのリスト取得を許可するアクセスポイントポリシー
以下のアクセスポイントポリシーでは、アカウント Charles の IAM ユーザー 123456789012 に、アカウント my-access-point のアクセスポイント 123456789012 の基になるバケットに含まれるオブジェクトを表示するアクセス許可を付与します。
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Charles" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point" }] }アクセスポイントを使用するための IAM ポリシーの設定 - Amazon Simple Storage Service