セキュリティ、監査、および運用のための CloudTrail MCP Server の使用
はじめに
CloudTrail Model Context Protocol (MCP) サーバーを使用すると、Kiro などのエージェントが自然言語を通じて AWS CloudTrail イベントを直接クエリおよび分析できます。CloudWatch Logs または CloudTrail Lake のいずれかにある CloudTrail イベントにエージェントを接続することで、セキュリティインシデントの調査、アカウントアクティビティの監査、運用上の問題のトラブルシューティング、コンプライアンスレポートの生成をすべて、複雑な SQL クエリの記述や JSON ログの手動解析の代わりに、会話形式のプロンプトを通じて実行できます。
これが重要な理由
セキュリティ、コンプライアンス、および運用チームは、AWS アカウントのアクティビティを把握するために CloudTrail ログの分析に多くの時間を費やしています。
- セキュリティ チームは、不審なアクティビティを迅速に調査し、不正アクセスの試みを追跡し、複数のアカウントにわたる潜在的なセキュリティインシデントの範囲を特定する必要があります
- コンプライアンスチームは、誰がどのリソースにアクセスしたか、いつ変更が行われたか、アクティビティが組織のポリシーに準拠しているかどうかを示す監査レポートを生成する必要があります
- オペレーションチームは、API コールを追跡し、設定変更を特定し、問題につながる一連のイベントを把握することで、サービス障害のトラブルシューティングを行います
- すべてのチームは、CloudWatch Logs Insights のクエリ構文、JSON の解析、および時間帯やアカウントをまたいだイベントの相関付けに苦労しています
CloudTrail MCP サーバーがない場合、チームは複雑なクエリの記述、JSON ログの手動解析、またはカスタムダッシュボードの構築に頼ることになり、重要なセキュリティおよび運用ワークフローに時間、複雑さ、そして人的エラーの可能性を加えることになります。
仕組み
CloudTrail MCP サーバーは、自然言語の質問を CloudTrail データに対するクエリに変換し、それを実行して、コンテキストとインサイトを含む人間が読みやすい結果を返します。
サポートされているデータソース:
- CloudWatch Logs: CloudWatch Logs Insights クエリ構文を使用 - MCP サーバーが利用可能なロググループを自動的に検出します
- CloudTrail Lake: SQL クエリを使用 - MCP サーバーが CloudTrail Lake の利用可能なイベントデータストアを自動的に検出します
主な機能:
- クエリ構文を記述する代わりに自然言語クエリを使用
- マルチアカウントのサポート
- 時系列分析とイベント相関
- セキュリティ調査、コンプライアンスレポート、および運用トラブルシューティング
セットアップ要件
CloudTrail MCP サーバーを使用するには、以下が必要です。
CloudWatch Logs の場合:
- CloudWatch Logs にイベントを送信するように設定された AWS CloudTrail
- IAM 権限:
logs:StartQuery,logs:GetQueryResults,logs:DescribeLogGroups - MCP サーバーは利用可能な CloudTrail ロググループを自動的に検出します
CloudTrail Lake の場合:
- CloudTrail Lake イベントデータストア の作成と設定
- IAM 権限:
cloudtrail:StartQuery,cloudtrail:GetQueryResults,cloudtrail:DescribeEventDataStores,cloudtrail:ListEventDataStores(CloudTrail Lake のアクセス許可を参照) - MCP サーバーは利用可能な CloudTrail Lake イベントデータストアを自動的に検出します
両方の場合:
- エージェントに設定された MCP サーバー
- 適切な権限を持つ AWS 認証情報
設定
エージェントで CloudTrail MCP サーバーを設定するには、AWS MCP Servers ドキュメントのセットアップ手順に従ってください。MCP サーバーは、AWS アカウント内で利用可能な CloudTrail データソース(CloudWatch Logs および CloudTrail Lake)を自動的に検出します。
プロンプト内で、クエリするデータソースをオプションで指定できます。
Using CloudWatch Logs, show me all failed login attempts in the last 24 hours.
Using CloudTrail Lake, show me all IAM policy changes in the last 90 days.