AWS CLIを使用してS3バケットのコンテンツをプルダウンしようとすると、次のようになります。
aws s3 cp --region us-east-1 s3://s3.amazonaws.com/my-bucket . --recursive
A client error (AccessDenied) occurred when calling the ListObjects operation: Access Denied
Completed 1 part(s) with ... file(s) remaining
aws s3 sync
の使用も同様に失敗します。
ユーザーポリシーは次のとおりです。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": ["arn:aws:s3:::*"]
}
]
}
(私はさまざまな制限の少ないポリシーも試しましたが、役に立ちませんでした)。
私は空のバケットポリシーとこのバケットポリシーも試しました:
{
"Id": "Policy1357935677554",
"Statement": [
{
"Sid": "Stmt1357935647218",
"Action": [
"*"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::my-bucket",
"Principal": {
"AWS": [
"arn:aws:iam::XXXXXXXXXX:user/my-user"
]
}
},
{
"Sid": "Stmt1357935676138",
"Action": [
"*"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::my-bucket/*",
"Principal": {
"AWS": [
"arn:aws:iam::XXXXXXXXXX:user/my-user"
]
}
}
]
}
興味深いことに、これはdoes機能します。
aws s3api list-objects --region us-east-1 --bucket my-bucket
S3の場所を指定する形式はs3://bucket/key
soの代わりにs3://s3.amazonaws.com/my-bucket
使用しますs3://my-bucket/
。