状況
S3 バケットへの、HTTPS ではない(平文の HTTP による)リクエストをすべて拒否するバケットポリシーを書いている。
空欄に入る条件キーは?
"Effect": "Deny", "Principal": "*", "Action": "s3:*","Resource": ["arn:aws:s3:::my-bucket", "arn:aws:s3:::my-bucket/*"],"Condition": { "Bool": { "____": "false" } }正答
- aws:SourceIp
- aws:SecureTransport
- aws:MultiFactorAuthPresent
- aws:ViaAWSService
解説
aws:SecureTransport は、リクエストが TLS(HTTPS)で送られたかを true / false で表す条件キー。false のリクエストを Deny すれば、平文の HTTP による操作をすべて拒否できる。aws:SourceIp は送信元 IP で、Bool ではなく IpAddress 演算子と組み合わせるもの。aws:MultiFactorAuthPresent は MFA 認証の有無で、false を Deny すると MFA なしの利用者を締め出すだけで HTTP は防げない。aws:ViaAWSService は AWS のサービスが代理で呼んだかを表す。
この問題を含む AWS のテストを制限時間つきで解く
AWSクイズへ