ある企業が AWS Organizations で管理するマルチアカウント環境において、特定の機密データを含む S3 バケットへのアクセスを厳密に制御したいと考えています。機密データへのアクセスは特定の IAM ロールからのみ許可し、かつ MFA 認証を経由した場合のみアクセスを許可する必要があります。また、このポリシーは SCP で強制的に適用し、バケット所有者でさえもポリシーを迂回できないようにしたいと考えています。最も適切な実装はどれですか?
- A. S3 バケットポリシーで特定の IAM ロールと MFA 条件を設定し、バケット所有者は AdministratorAccess 権限でアクセスできるようにする
- B. S3 オブジェクトロックを有効化して機密データを保護し、誰もデータを削除できないようにする
- C. S3 バケットポリシーで aws:MultiFactorAuthPresent 条件と特定のロール ARN の条件を組み合わせた Deny ポリシーを設定する。SCP では s3:PutBucketPolicy と s3:DeleteBucketPolicy を Deny することで、メンバーアカウントがバケットポリシーを変更・削除できないようにする
- D. AWS Macie を有効化して機密データを自動検出し、検出されたデータへのアクセスを Macie が自動的にブロックする
解答と解説を見る
正解: C
S3 バケットポリシーで MFA 認証要件(aws:MultiFactorAuthPresent: false の場合に Deny)と特定ロールのみ許可する条件を設定します。SCP で s3:PutBucketPolicy と s3:DeleteBucketPolicy を Deny することで、バケット所有者を含むメンバーアカウントのすべてのプリンシパルがバケットポリシーを変更できなくなり、ポリシーの迂回を防止できます。SCP は管理アカウントのみが変更できるため、最も強固な制御になります。 A: バケット所有者に AdministratorAccess を許可することは、MFA 迂回防止の要件に反します。バケット所有者でさえもポリシーを変更できないよう SCP で制限する必要があります。 D: Macie は機密データの検出と分類に優れますが、アクセスの自動ブロック機能はありません。Macie はアクセス制御ではなくデータ分類のサービスです。 B: S3 オブジェクトロックはデータの改ざん・削除防止(WORM)に使うものであり、アクセス認証要件(MFA)や特定ロールのみへのアクセス制限には対応していません。
📚 関連サービスの解説: Amazon S3 ・ AWS Organizations