状況
組織に属する開発用アカウントで aws s3 mb を実行したら、次のエラーが出た。自分の IAM ユーザーには AdministratorAccess が付いている。
このエラーから分かることとして正しいものは?
An error occurred (AccessDenied) when calling the CreateBucket operation:User: arn:aws:iam::111122223333:user/dev-tanaka is not authorized to perform:s3:CreateBucket with an explicit deny in a service control policy正答
- 自分の IAM ポリシーに s3:CreateBucket の Allow を足せば直る
- 組織の SCP が拒否しており、アカウント内の設定では解除できない
- バケット名が、他のアカウントのバケットと重複している
- アクセスキーの有効期限が切れて、認証に失敗している
解説
エラー文の with an explicit deny in a service control policy は、AWS Organizations のサービスコントロールポリシー(SCP)の Deny 文に当たったことを示す。SCP はメンバーアカウントで使える権限の上限を決めるもので、AdministratorAccess を持つユーザーでも、アカウント内の IAM ポリシーに Allow を足しても越えられない。バケット名の重複なら BucketAlreadyExists、認証情報の問題なら認証のエラーになり、文言が違う。対応は、組織の管理者に、どの操作をなぜ必要としているかを伝えて相談すること。拒否の種類を読み分けると、自分で直せるかどうかがすぐ分かる。
この問題を含む AWS のテストを制限時間つきで解く
AWSクイズへ