ある大企業が AWS Control Tower を使って Landing Zone を構築しています。新しいアカウントが自動的にプロビジョニングされる際に、必ず CloudTrail の組織レベルのトレイルが有効になり、ログが中央のセキュリティアカウントの S3 バケットに集約される必要があります。さらに、CloudTrail の無効化は管理者でも禁止したいと考えています。最も適切な実装方法はどれですか?
- A. Organizations の管理アカウントで組織レベルのトレイルを作成し、全メンバーアカウントのイベントを中央 S3 バケットに集約する。SCP で cloudtrail:DeleteTrail および cloudtrail:StopLogging を Deny する
- B. AWS Config の管理者アカウントから CloudTrail 有効化ルールをデプロイし、非準拠アカウントを自動修復する Systems Manager Automation を設定する
- C. 各アカウントのプロビジョニング後に Lambda 関数を呼び出して CloudTrail を有効化し、S3 バケットポリシーで外部からの無効化を拒否する
- D. Control Tower の必須ガードレール(Mandatory guardrail)として CloudTrail 強制を有効化するだけで、SCP は不要
解答と解説を見る
正解: A
Organizations の組織レベルトレイルは管理アカウントから作成することで全メンバーアカウントのイベントを自動集約できます。SCP で cloudtrail:DeleteTrail と cloudtrail:StopLogging を Deny することで、メンバーアカウントの管理者が CloudTrail を無効化できなくなります。これが最も確実な予防的制御です。 C: Lambda による事後有効化は自動化できますが、有効化と無効化の間にギャップが生まれる可能性があり、完全な予防にはなりません。S3 バケットポリシーで CloudTrail の無効化を防ぐことはできません。 B: Config は検出・修復が主目的で、無効化の防止(予防的制御)ではありません。修復の間に監査ギャップが発生します。 D: Control Tower の必須ガードレールは CloudTrail の基本設定を行いますが、外部からの明示的な無効化防止に SCP が必要なケースもあります。「SCP は不要」という断言は不正確です。
📚 関連サービスの解説: AWS Organizations ・ Amazon S3