S3 のオブジェクト読み取りだけを許可したいポリシー。指摘として正しいものは?
{ "Effect": "Allow", "Action": "*", "Resource": "arn:aws:s3:::report-bucket/*"}正答
- Effect が Allow なので、読み取り以外の操作まで許可される
- Resource が * でないので、オブジェクトを読み取れない
- Action が * なので、書き込みや削除など読み取り以外の S3 操作も許可対象になる
- Principal が無いので、このポリシーは無効になる
解説
Action の * は全サービスの全操作を列挙しますが、この Resource は S3 オブジェクトに限定されています。許可されるのは、そのリソース ARN と組み合わせ可能な操作であり、他サービスの操作までこの記述だけで許可されるわけではありません。ただし、対象の S3 オブジェクトに対する書き込みや削除など、読み取り以外の操作も許可対象になり得るため、読み取りだけなら "s3:GetObject" と操作名を明示します。Effect の Allow は許可ポリシーとして正しく、Resource も特定バケット配下に限定されています。IAM ユーザーやロールに付けるポリシーは付けた相手が主体になるため、Principal を書かないのが普通です。
この問題を含む AWS のテストを制限時間つきで解く
AWSクイズへ