間違ってこんな感じのバケットポリシーを設定すると、あまねくアクションが拒否されるので、バケットポリシーを見ることもオブジェクト一覧を見ることもできないし、バケットを削除することもできない。こうなるとルートユーザーでバケットポリシーを削除するしかない。
{ "Version": "2012-10-17", "Statement": [ { "Action": "s3:*", "Effect": "Deny", "Resource": [ "arn:aws:s3:::my-bucket", "arn:aws:s3:::my-bucket/*" ], "Principal": "*" } ] }
なぜルートユーザーでバケットポリシーを削除できるのかというと、やっぱりルートユーザーはIAMユーザーなどと違って特別だかららしい。
重要:ルートユーザーを日常業務に使用しないでください。これらの認証情報の使用は、ルートユーザーとしてサインインする必要があるタスクのみに制限してください。ルート認証情報は、完全な管理者アクセス権を持つ AWS Identity Access Management (IAM) ユーザーまたはロールとは異なります。許可または拒否の権限を持つ IAM ポリシーをルートアカウントにアタッチすることはできません。