IAMポリシーでs3:DeleteObject
を付与して、「バケットを空にする」を実行すると、結果のエラー列で、各オブジェクトでAccess Deniedが表示される。
結論、s3:getBucketVersioning
も付与する必要がある。
※また、バケットの一覧 バケット内オブジェクトの一覧のリスト権限は必要ではないが、あった方が便利なので付与しておく
s3:ListAllMyBuckets
s3:ListBucket
結果的に以下のようなポリシーのJSONとなる
※ListBucket/getBucketVersioningのResource限定してもいいかも
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:DeleteObject",
"Resource": [
"arn:aws:s3:::bucket1/*",
"arn:aws:s3:::bucket2/*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets",
"s3:ListBucket"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "s3:getBucketVersioning",
"Resource": "*"
}
]
}