レポートを読むだけのロールのポリシー。指摘として正しいものは?
{ "Effect": "Allow", "Action": "s3:*", "Resource": "arn:aws:s3:::report-bucket/*"}正答
- s3:* は削除や上書きも含むので、s3:GetObject に絞るべき
- Resource が /* なので、バケット自体を削除できてしまう
- 接頭辞が s3: なので他サービスに影響せず、問題はない
- Resource を * にしないと、レポートを読み取れない
解説
"s3:*" は S3 のすべての操作を指し、s3:GetObject だけでなく s3:PutObject(上書き)や s3:DeleteObject(削除)も許可する。読み取り専用なら "s3:GetObject" と、一覧が必要なら "s3:ListBucket" を明示する。Resource はバケット配下のオブジェクトの ARN なので、バケット自体の削除(DeleteBucket)の対象にはならず、* に広げる必要もない。S3 に限られていても読むだけのロールには過剰で、"*" 単体ほど目立たない分レビューで見逃されやすい。
この問題を含む AWS のテストを制限時間つきで解く
AWSクイズへ