ある企業が AWS KMS でカスタマー管理キー(CMK)を使って S3 バケット内のデータを暗号化しています。コンプライアンス要件として、CMK の使用状況を監査し、誰がいつどのキーを使ってデータを暗号化・復号したかを証明できる必要があります。また、KMS キーの不正使用(通常とは異なる時間帯や異常なボリュームでの使用)を自動で検知してアラートを送信したいと考えています。最も適切なアーキテクチャはどれですか?
- A. AWS Config ルールで KMS キーの設定変更を監視し、キーポリシーの変更を検出して SNS で通知する
- B. CloudTrail で KMS API コール(Decrypt、Encrypt、GenerateDataKey 等)をログに記録し、S3 に保存する。CloudWatch Logs Insights で KMS の使用パターンを分析する。Amazon GuardDuty の KMS 検出機能を有効化して、KMS キーの異常な使用(不審な IP からのアクセス、通常とは異なる時間帯の大量使用等)を自動的に検出してアラートを送信する
- C. KMS キーポリシーを定期的にレビューし、月次で使用状況レポートを手動で作成する
- D. S3 バケットのアクセスログを有効化して、暗号化・復号に関連するリクエストを記録する
解答と解説を見る
正解: B
CloudTrail はすべての KMS API 呼び出し(誰が、いつ、どのキーを、何の目的で使用したか)を詳細に記録し、監査証跡として使用できます。CloudWatch Logs Insights で使用パターンを分析・可視化できます。GuardDuty の KMS 検出機能は機械学習を使って異常なアクセスパターン(認証情報が侵害された際の異常な使用等)を自動検出し、セキュリティ担当者にアラートを送信します。 C: 手動での月次レビューは監査証跡として不十分で、リアルタイムの異常検知要件を満たしません。 D: S3 アクセスログは HTTP リクエストレベルの情報を記録しますが、どの KMS キーが使われたかなど、KMS の詳細な監査情報は記録されません。CloudTrail の KMS ログが必要です。 A: Config ルールはキーポリシーの設定変更を監視しますが、実際のキー使用状況(Encrypt/Decrypt 呼び出し)の監査や異常使用の検知には対応していません。
📚 関連サービスの解説: AWS CloudTrail ・ AWS KMS