■ はじめに
Amazon S3 の権限エラーが多いので、それらをまとめておく。
目次
【1】EC2 から 「aws s3 ls」したらエラー「ListBuckets operation: Access Denied」
【1】EC2 から 「aws s3 ls」したらエラー「ListBuckets operation: Access Denied」
EC2 から 「aws s3 ls」したら、以下「エラー内容」が表示された。 なお、EC2に付与されている権限は、以下「IAM権限」の通り。
IAM権限
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:PutObject", "s3:DeleteObject", "s3:GetBucketLocation", "s3:ListBuckets", "s3:ListAllMyBuckets" ], "Resource": "arn:aws:s3::::your-s3-bucket", "Resource": "arn:aws:s3::::your-s3-bucket/*" } ] }
エラー内容
An error occurred (AccessDenied) when calling the ListBuckets operation: Access Denied
原因
ActionのResource適用が「"arn:aws:s3:::your-s3-bucket"」のみになっていたため
解決案
* "s3:GetBucketLocation", "s3:ListAllMyBuckets" に関して、外出しして 提要範囲を「arn:aws:s3:::*」とした
修正後
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:PutObject", "s3:DeleteObject", "s3:ListBuckets" ], "Resource": "arn:aws:s3:::your-s3-bucket", "Resource": "arn:aws:s3:::your-s3-bucket/*" }, { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Resource": "arn:aws:s3:::*" } ] }
関連記事
Amazon S3 ~ AWS CLI ~
https://dk521123.hatenablog.com/entry/2017/04/01/235355