AWS 上の AI ワークロードのモニタリングと監査
はじめに
AWS 上の最新の AI ワークロードは、3 つの独立したパイプラインにわたってテレメトリを生成します。CloudTrail(誰が何を呼び出したか)、Bedrock Model Invocation Logging(モデルが何を返したか)、そして ADOT SDK によって収集される Agent Telemetry(エージェントがどのように動作したか)です。各パイプラインはそれぞれ不可欠です。CloudTrail 単体では、IAM ロールが InvokeModel を呼び出したことは確認できますが、そのロールがモデルに何を要求したか、またはエージェントがどのように応答したかは記録されません。モデル呼び出しログはコンテンツをキャプチャしますが、エージェントのオーケストレーションはキャプチャしません。ADOT はオーケストレーションをキャプチャしますが、推論パラメータや IAM アイデンティティはキャプチャしません。セキュリティおよび運用上の調査では、ほぼ常に少なくとも 2 つを相関させる必要があります。
このガイドでは、以下の方法で AI ワークロードの完全なモニタリングと監査のストーリーを構築する 方法を説明します。
- 3 つのテレメトリパイプラインをすべて有効化する — このガイドでの簡単なセットアップと、詳細については各コンパニオンガイドへのディープリンクを提供します。
- CloudTrail に基づく検出ルールを構築する — セキュリティおよび監査サーフェスに対するメトリクスフィルター、アラーム、および Contributor Insights ルール。Bedrock と AgentCore の両方のデータイベントをカバーします。
- クロスパイプライン相関クエリを実行する — CloudTrail と Bedrock モデル呼び出しログおよび ADOT スパンを結合し、単一のパイプラインだけでは回答できない問いに答えます。
生成 AI セキュリティスコーピングマトリックスとエージェント型 AI セキュリティスコーピングマトリックスは、監査とログ記録、ID コンテキスト、エージェンシー境界、データ保護など、AI アプリケーションを構築する際に組織が対処すべきセキュリティ上の側面を定義しています。このガイドでは、CloudTrail、CloudWatch、およびクロスパイプライン相関を使用して、これらの側面に対する具体的な実装方法を提供します。以下のタブは、各マトリックスの側面をそれを実装するガイドのセクションにマッピングしています。
- エージェント型 AI
- 生成 AI
| ディメンション | ガイドセクション |
|---|---|
| アイデンティティ — ユーザー、サービス、エージェントのアイデンティティ管理 | AgentCore Identity & Credentials (グループ 2)、クエリ 4、クエリ 12、クエリ 14、メトリクスフィルター 7、メトリクスフィルター 18 |
| データ — 永続メモリと状態のセキュリティ | AgentCore Memory & Evaluation (グループ 4)、クエリ 16、メトリクスフィルター 19 |
| 監査とログ記録 — アクションレベルのエージェントアクション追跡 | 3 つのテレメトリパイプライン、セキュリティアナリティクス、クロスパイプライン相関、メトリクスフィルター、コントリビューターインサイト |
| ガードレール — 動作監視、サンドボックス化、分離 | AgentCore Built-in Tools (グループ 1)、クエリ 8、クエリ 21、クエリ 26、クエリ 27、メトリクスフィルター 4、メトリクスフィルター 17、メトリクスフィルター 24、メトリクスフィルター 25 |
| スコープ — 運用境界と制約評価 | ネットワークアクティビティイベント、クエリ 4、クエリ 9、クエリ 26、メトリクスフィルター 9、メトリクスフィルター 10、メトリクスフィルター 24 |
| オーケストレーション — エージェントとシステムの相互作用およびフロー制御 | AgentCore Runtime & Gateway (グループ 3)、クエリ 15、クエリ 17、クエリ 19、クエリ 23、クエリ 24、メトリクスフィルター 21、メトリクスフィルター 22 |
| ディメンション | ガイドセクション |
|---|---|
| ガバナンスとコンプライアンス — データ主権、監査 | モデル呼び出しログ、クエリ 18、クエリ 25、メトリクスフィルター 5、メトリクスフィルター 23 |
| リスク管理 — 脅威モデリング、ガードレール | Bedrock ガードレールモニタリング、クエリ 8、クエリ 21、クエリ 27、メトリクスフィルター 4、メトリクスフィルター 25 |
| コントロール — ID、アクセス管理、最小権限 | 管理イベント、クエリ 1、クエリ 2、クエリ 4、メトリクスフィルター 1、メトリクスフィルター 7 |
AWS は、CloudTrail、CloudWatch、および Bedrock サービスを実行するクラウドインフラストラクチャのセキュリティに責任を負います。お客様は、イベントセレクターの設定、検出ルールの作成、アラームしきい値の設定、セキュリティイベントへの対応など、クラウド内のセキュリティに責任を負います。このガイドでは、AI ワークロードに対するお客様の設定および監視の責任に焦点を当てています。詳細については、AWS 責任共有モデルを参照してください。
3 つの複合的な課題
ボリューム — AI モデルの呼び出しは、大量のイベントを生成する可能性があります。正確なイベントセレクターと集約がなければ、大量のイベントの中から関心のあるイベントを分離することが難しく、すべてをキャプチャするコストは非常に高くなります。
スピード — エージェントが開始するアクティビティシーケンスは、数秒以内に複数の API 呼び出し、ツールの呼び出し、モデルとのインタラクションを伴う場合があります。ニアリアルタイムの検出ルールは、運用上の異常が発生した時点により近いタイミングで検出を可能にし、より迅速なトリアージと平均調査時間の短縮をサポートしま す。
複雑性: - AI ワークロードのアクティビティは複数の AWS サービスにまたがっています。単一のログソースで完全な可視性を提供することはできません。調査が実際に行われるのは、パイプライン全体での相関分析においてです。
このガイドの内容
- 3 つのテレメトリパイプラインと、それぞれが固有にキャプチャする内容
- 3 つすべての有効化(CloudTrail の詳細、他の 2 つは簡単な手順とディープリンク)
- CloudTrail 固有の検出:Bedrock と AgentCore データイベントの両方に対するメトリクスフィルター、アラーム、Contributor Insights
- AgentCore データイベント:ゲートウェイトラフィック、組み込みツールの使用状況、認証情報アクセス、メモリ操作、ランタイムアクティビティ
- 調査のためのクロスパイプライン相関クエリ
- 3 つのデータソースすべてを組み合わせた統合ダッシュボード
GenAI テレメトリの全体像:3 つの補完的なパイプライン
CloudTrail は、AWS 上の AI ワークロードに対して完全なオブザーバビリティを提供する 3 つのテレメトリパイプラインのうちの 1 つです。それぞれが異なるデータをキャプチャし、異なる目的を果たし、異なる方法で有効化されます。セキュリティ調査では、ほぼ常に少なくとも 2 つを相関させる必要があります。

| パイプライン | キャプチャする内容 | ロググループ | 主な用途 |
|---|---|---|---|
| CloudTrail | 誰が何をしたか — すべての API 呼び出し、呼び出し元 ARN、送信元 IP、エラーコード、アクセス拒否、コントロールプレーンの変更 | YOUR_CLOUDTRAIL_LOG_GROUP | セキュリティ監査、アクセス調査、設定変更の追跡 |
| Bedrock Model Invocation Logging | モデルが何を返したか — 完全なプロンプト、完全なレスポンス、推論パラメータ(temperature、max_tokens)、呼び出し元 IAM アイデンティティ、トークン数 | bedrock-model-invocation-logging | コンテンツ監査、コンプライアンス、プロンプト品質のデバッグ、コスト配分 |
| Agent Telemetry (AWS Distro for OpenTelemetry — ADOT によって収集) | エージェントがどのように動作したか — モデル呼び出しのレイテンシー、ツールの実行、分散トレースの相関、セッション追跡 | aws/spans, /aws/bedrock-agentcore/runtimes/<agent> | 運用モニタリング、パフォーマンスデバッグ、エージェントワークフローのオブザーバビリティ |
各パイプラインが単独で答えること
CloudTrail だけでわかること:
- どの IAM アイデンティティが
InvokeModelを呼び出したか? - 送信元 IP、ユーザーエージェント、およびリージョンは何でしたか?
- 呼び出しは拒否されましたか(AccessDenied、UnauthorizedOperation)?
- 誰かがガードレールを変更したり、ログ記録を停止したり、IAM 権限を昇格させましたか?
- どの VPC エンドポイントが呼び出しをブロックしましたか?
モデル呼び出しログだけでわかること:
- モデルに送信されたプロンプトは何ですか?
- モデルは何を返しましたか?
- 使用された temperature と max_tokens は何ですか?
- 呼び出しで消費された入力トークンと出力トークンの数は何ですか?
- レスポンスは切り捨てられましたか(stop_reason = max_tokens)?
エージェントテレメトリ (ADOT SDK) だけでわかること:
- モデルの呼び出しにどれくらいの時間がかかりましたか(クライアント側のレイテンシー)?
- エージェントはどのツールをどの順序で呼び出しましたか?
- ツールが失敗しましたか?また、どのコンポーネントがエラーを引き起こしましたか?
- エージェントセッションは複数のモデル呼び出しにわたってどのように連鎖していますか?
相関関係が調査を解き明かす場所
相関のみが答えられる質問
| 調査の問い | 結合するパイプライン | 結合キー |
|---|---|---|
| 誰がモデルにこの質問をし、モデルは何と答えたか? | CloudTrail(呼び出し元)+ Model Invocation Logging(プロンプト/レスポンス) | requestId |
| エージェントが失敗したのは、モデルの問題、ツールの問題、それとも権限の問題が原因か? | ADOT スパン(コンポーネントのレイテンシー/エラー)+ CloudTrail(AccessDenied イベント) | session + time |
| これらの安全でないモデルレスポンスの直前に、ガードレールが弱められたか? | CloudTrail(UpdateGuardrail イベント)+ Model Invocation Logging(レスポンス内容) | timestamp |
| エージェントロールは最小権限に違反する Bedrock 呼び出しを行っているか? | CloudTrail(引き受けたロールからのクロスサービス AccessDenied)+ ADOT(エージェントセッション ID) | session + time |
| どの外部呼び出し元が Gateway を通じてこのエージェントをトリガーし、エージェントはどの認証情報を使用したか? | CloudTrail Gateway データイベント(JWT サブジェクト、送信元 IP)+ CloudTrail 認証情報データイベント(TokenVault/OAuth2 アクセス) | time + agent runtime ARN |
| エージェントが意図したスコープ外でコードを 実行したり Web サイトを閲覧したりしているか? | CloudTrail AgentCore ツールデータイベント(CodeInterpreter/Browser)+ ADOT スパン(エージェントセッションコンテキスト) | session + time |
クロスパイプライン相関クエリセクションでは、これらのシナリオに対応する実際の JOIN クエリを紹介しています。 :::
実装の概要
3 つのパイプラインをすべて有効化し、その上に検出と相関を重ねていくフェーズ型のロールアウトです。
フェーズ 1: Observability Pipelines を有効にする
2 つのオブザーバビリティパイプライン(Bedrock Model Invocation Logging と ADOT SDK によって収集される Agent Telemetry)から始めます。これらはすぐに有効化でき、相関クエリを可能にするものです。CloudTrail のセットアップはフェーズ 2 で行います。
Pipeline A: Bedrock モデル呼び出しログ記録
すべての Bedrock モデル呼び出しに対して、完全なプロンプト、レスポンス、推論パラメータ、および呼び出し元の IAM アイデンティティをキャプチャしま す。手動オプトインのみ。(モデルのインタラクションをキャプチャしてデータ主権要件およびコンプライアンス監査ワークフローをサポートすることで、生成 AI セキュリティスコーピングマトリックスのガバナンスとコンプライアンスディメンションを実装します。)
- Amazon Bedrock コンソールを開きます
- 設定 → モデル呼び出しログ記録を選択します
- ログ記録を有効にし、送信先として CloudWatch Logs(および/または S3)を選択します
- ロググループ名(デフォルト:
bedrock-model-invocation-logging)とサービスロールを設定します
詳細な設定、PII マスキング、およびダッシュボードのセットアップについては、AWS での GenAI Observability を参照してください。
パイプライン B: エージェントテレメトリ (ADOT SDK によって収集)
エージェントのオーケストレーション、分散トレース、およびツールの実行をキャプチャします。
- AgentCore: デフォルトでランタイムに ADOT SDK が含まれており、テレメトリが
aws/spansおよび/aws/bedrock-agentcore/runtimes/<agent>に自動的に送信されるため、操作は不要です - EKS/ECS/セルフホスト型: ADOT 自動インストルメンテーションエージェントをワークロードにアタッチします。コードの変更は不要です。
CloudWatch Transaction Search を有効にすることで、Application Signals のフル機能をご利用いただけます。
詳細な有効化手順については、GenAI Observability on AWS — エージェント型ワークロードの Observability の有効化およびAgentCore Observability クイックスタートを参照してください。
フェーズ 2: CloudTrail を有効化する — Bedrock から開始し、カバレッジを拡大して CloudWatch に取り込む
CloudTrail を設定して、最も価値の高いリソース(Bedrock)から始めて外側に拡張しながら、AI ワークロードの完全な監査サーフェスをキャプチャします。すべてを CloudWatch Logs に配信して、パイプライン A および B と結合できるようにします。
ステップ 1: Bedrock および AgentCore のデータイベントと管理イベント
トレイルで Bedrock データイベントを有効化するには、高度なイベントセレクターを使用します。これらのオペレーションはデフォルトではログに記録されません。Amazon Bedrock データイベントを参照してください。
| カテゴリ | リソースタイプ |
|---|---|
| エージェントとオーケストレーション | AWS::Bedrock::AgentAlias, AWS::Bedrock::InlineAgent, AWS::Bedrock::FlowAlias, AWS::Bedrock::FlowExecution, AWS::Bedrock::Session |
| モデル呼び出し | AWS::Bedrock::Model, AWS::Bedrock::AsyncInvoke, AWS::Bedrock::PromptVersion, AWS::Bedrock::AdvancedOptimizePromptJob |
| 安全性とガードレール | AWS::Bedrock::Guardrail, AWS::Bedrock::AutomatedReasoningPolicy, AWS::Bedrock::AutomatedReasoningPolicyVersion |
| ナレッジと RAG | AWS::Bedrock::KnowledgeBase, AWS::Bedrock::Tool |
| データ自動化 | AWS::Bedrock::DataAutomationProject, AWS::Bedrock::DataAutomationInvocation, AWS::Bedrock::DataAutomationProfile, AWS::Bedrock::Blueprint |
高度なイベントセレクターを使用して AgentCore Data Events を有効化します。 Amazon Bedrock AgentCore Data Events を参照してください。
| カテゴリ | リソースタイプ |
|---|---|
| ランタイムとゲートウェイ | AWS::BedrockAgentCore::Gateway, AWS::BedrockAgentCore::Runtime, AWS::BedrockAgentCore::RuntimeEndpoint |
| 組み込みツール | AWS::BedrockAgentCore::CodeInterpreter, AWS::BedrockAgentCore::Browser |
| ID と認証情報 | AWS::BedrockAgentCore::WorkloadIdentity, AWS::BedrockAgentCore::TokenVault, AWS::BedrockAgentCore::OAuth2CredentialProvider, AWS::BedrockAgentCore::APIKeyCredentialProvider |
| メモリと評価 | AWS::BedrockAgentCore::Memory, AWS::BedrockAgentCore::Evaluator |
今後利用可能になる追加の AgentCore リソースタイプも含まれます。
管理イベントの確認 (読み取りと書き込み) がすべてのリージョンで有効になっていることを確認してください — これにより InvokeModel と Converse が管理イベントとして自動的にキャプチャされ、CreateGateway、CreateGatewayTarget などの AgentCore 管理イベントもキャプチャされます。詳細については、CloudTrail 管理イベントを参照してください。
CloudTrail Insights を有効にする (ApiCallRateInsight および ApiErrorRateInsight) は異常検出に使用されます。CloudTrail Insights イベントを参照してください。
ステップ 2: S3、Lambda、およびネットワークアクティビティへの拡張
- トレーニングデータ、モデルアーティファクト、CI/CD パイプラインバケットに対して Amazon S3 データイベント(書き込み専用)を有効にします。Amazon S3 と Lambda データイベントを参照してください。
- 開発/テストを除く本番 AI パイプライン関数に対して Lambda データイベントを有効にします。Amazon S3 と Lambda データイベントを参照してください。
- Bedrock、S3、Lambda VPC エンドポイントに対して、
VpceAccessDeniedをターゲットとするネットワークアクティビティイベントを有効にします。CloudTrail ネットワークアクティビティイベントを参照してください。
ステップ 3: CloudWatch Logs への配信
- CloudTrail トレイルを CloudWatch Logs ロググループに配信するように設定します。
フェーズ 3: CloudTrail での検出ルールの構築
- CloudTrail イベント(未承認の Bedrock アクセス、ガードレールの変更、ログの中断)のメトリクスフィルターを作成します。メトリクスフィルターを参照してください。
- 各メトリクスフィルターに SNS 通知ターゲットを設定した CloudWatch アラームを作成します。CloudWatch アラームを参照してください。
- 上位の IAM アイデンティティとソース IP を特定するための Contributor Insights ルールを作成します。Contributor Insights ルールを参照してください。
フェーズ 4: クロスパイプライン相関クエリの構築
- CloudTrail の標準的な検出のための CloudWatch Logs Insights クエリを開発します。セキュリティ分析を参照してください。
- CloudTrail と Bedrock Model Invocation Logging および ADOT スパンを組み合わせたクロスパイプライン JOIN クエリを構築します。クロスパイプライン相関クエリを参照してください。
- セキュリティおよびオペレーションアナリストが繰り返し使用できるよう、検証済みクエリを保存します。
フェーズ 5: イベント集約による最適化
- CloudTrail イベント集約を有効にする (
API_ACTIVITY,RESOURCE_ACCESS,USER_ACTIONSテンプ レート) を使用して、生データイベントと並行して 5 分間のサマリーを作成します。CloudTrail データイベント集約を参照してください。 - CloudWatch Subscription Filters を使用して、管理イベントと集約イベントのみをダウンストリーム SIEM に転送し、インジェスト量を削減します。
フェーズ 6: 統合ダッシュボードの組み立て
- CloudTrail アラーム、Contributor Insights ウィジェット、モデル呼び出しログコストウィジェット、ADOT パフォーマンスウィジェット、および相関クエリ結果を単一のペインに組み合わせた CloudWatch ダッシュボードを構築します。統合監査 & モニタリングダッシュボードを参照してください。
Amazon Bedrock データイベント
デフォルトでは、CloudTrail はアカウントの管理イベントをログに記録しており、これにより一 般的な Bedrock ランタイム呼び出しがすでにキャプチャされます。例えば、 InvokeModel, Converse、および ConverseStream多くの重要な AI ワークロード操作がデータイベントとして記録されます。これには、エージェントの呼び出し、ナレッジベースの取得、フローの実行、ガードレールの適用、双方向ストリーミング、非同期呼び出し、プロンプトのレンダリングが含まれます。これらの操作には、トレイルの高度なイベントセレクターが必要です。データイベントにより、セキュリティチームはモデルの呼び出しを可視化できます。適用する具体的なセレクターについては、以下のBedrock の高度なイベントセレクターを参照してください。
監視すべき主要な API
以下の表は、どの Bedrock API が自動的にキャプチャされ、どれがトレイルの高度なイベントセレクター設定を必要とするかを示しています。
- 管理イベント(デフォルトでキャプチャ)
- データイベント(高度なイベントセレクターが必要)
| API | イベント名 | 重要な理由 |
|---|---|---|
| InvokeModel | InvokeModel | どの IAM アイデンティティがいつファウンデーションモデルを呼び出しているかを追跡します。 |
| ストリーミング呼び出し | InvokeModelWithResponseStream | 長文生成タスクのストリーミングモデルインタラクションをキャプチャします。 |
| 会話型 AI | Converse / ConverseStream | ファウンデーションモデルに対するマルチターンの会話型 AI アクティビティを記録します。 |
| 非同期呼び出しの一覧表示 | ListAsyncInvokes | 非同期呼び出しジョブの一覧表示を監視します。 |
データイベントには、高度なイベントセレクターの設定が必要です。
| API | イベント名 | リソースタイプ | 重要な理由 |
|---|---|---|---|
| 双方向ストリーミング | InvokeModelWithBidirectionalStream | AWS::Bedrock::Model | 双方向ストリーミングモデルのインタラクションをキャプチャします。 |
| 非同期呼び出し | GetAsyncInvoke / StartAsyncInvoke | AWS::Bedrock::Model, AWS::Bedrock::AsyncInvoke | 非同期モデル呼び出しジョブを監視します。両方のリソースタイプにセレクターが必要です。 |
| エージェント呼び出し | InvokeAgent | AWS::Bedrock::AgentAlias | デプロイされた Bedrock エージェントエイリアスの呼び出しを追跡します。 |
| インラインエージェント | InvokeInlineAgent | AWS::Bedrock::InlineAgent | インラインエージェントの呼び出しをキャプチャします。 |
| RAG アクティビティ | Retrieve / RetrieveAndGenerate | AWS::Bedrock::KnowledgeBase | Bedrock Knowledge Bases に対する Retrieval-Augmented Generation 呼び出しを監視します。 |
| フロー呼び出し | InvokeFlow | AWS::Bedrock::FlowAlias | Bedrock Prompt Flows の呼び出しを追跡します。 |
| ガードレール適用 | ApplyGuardrail | AWS::Bedrock::Guardrail | ガードレール適用操作をキャプチャします。 |
| プロンプトレンダリング | RenderPrompt | AWS::Bedrock::PromptVersion | プロンプト管理を使用して作成されたプロンプトのプロンプトレンダリング操作をキャプチャします。 |
| セッションアクティビティ | Session API 操作 | AWS::Bedrock::Session | マルチターン Bedrock 会話のセッションレベル API アクティビティをキャプチャします。 |
| フロー実行 | フロー実行 API 操作 | AWS::Bedrock::FlowExecution | プロンプトフロー実行の監視のために Bedrock フロー実行アクティビティをキャプチャします。 |
| 自動推論 | 自動推論ポリシー API 操作 | AWS::Bedrock::AutomatedReasoningPolicy | 検証可能な AI 出力に使用される自動推論ポリシーのアクティビティをキャプチャします。 |
| 自動推論バージョン | 自動推論ポリシーバージョン API 操作 | AWS::Bedrock::AutomatedReasoningPolicyVersion | 自動推論ポリシーの特定バージョンのアクティビティをキャプチャします。 |
| データ自動化プロジェクト | データ自動化プロジェクト API 操作 | AWS::Bedrock::DataAutomationProject | ドキュメントおよびメディア処理のための Bedrock データ自動化プロジェクトアクティビティをキャプチャします。 |
| データ自動化呼び出し | データ自動化呼び出し API 操作 | AWS::Bedrock::DataAutomationInvocation | Bedrock データ自動化呼び出しアクティビティをキャプチャします。 |
| データ自動化プロファイル | データ自動化プロファイル API 操作 | AWS::Bedrock::DataAutomationProfile | Bedrock データ自動化プロファイルアクティビティをキャプチャします。 |
| ブループリント | ブループリント API 操作 | AWS::Bedrock::Blueprint | データ自動化設定のための Bedrock ブループリントアクティビティをキャプチャします。 |
| 高度なプロンプト最適化 | 高度な最適化プロンプトジョブ API 操作 | AWS::Bedrock::AdvancedOptimizePromptJob | 高度なプロンプト最適化ジョブアクティビティをキャプチ ャします。 |
| ツールアクティビティ | ツール API 操作 | AWS::Bedrock::Tool | ツール使用操作のための Bedrock ツール API アクティビティをキャプチャします。 |
InvokeModel、Converse、および ConverseStream は管理イベントとしてログに記録されるため、管理イベントのログ記録が有効になっているすべてのトレイルでデフォルトでキャプチャされます。ただし、エージェントの呼び出し、ナレッジベースの取得、フローの呼び出し、ガードレールの適用、プロンプトのレンダリング、非同期呼び出し、双方向ストリーミング、セッションアクティビティ、フロー実行、自動推論、データオートメーション、ブループリント操作、高度なプロンプト最適化、およびツール操作は、トレイル上の対応する Bedrock リソースタイプに対して高度なイベントセレクターを設定した場合にのみログに記録されます。設定についてはBedrock の高度なイベントセレクターを参照し、サポートされているリソースタイプの完全なリストについてはAmazon Bedrock CloudTrail ドキュメントを参照してください。
Bedrock の高度なイベントセレクター
以下の高度なイベントセレクターを使用して、CloudTrail トレイルで Bedrock データイベントをキャプチャします。各 Bedrock リソースタイプには独自のセレクターが必要であり、各セレクターは resources.ARN プレフィックスを使用してログ記録を特定のリソースにスコープする必要があります。これにより、リソースタイプごとに 1 つずつ、18 個の個別のセレクターが設定されます。ほとんどのセレクターは、アカウントにスコープされた resources.ARN プレフィックスとともに eventCategory = Data でフィルタリングします。Model および AsyncInvoke セレクターは、基盤モデルの ARN が AWS 所有でありアカウント ID を含まないため、代わりに eventName フィルタリングを使用します。
以下のセレクターは例です。プレースホルダーを置き換えずに適用しても、イベントはキャプチャされません。
| プレースホルダー | 置き換える値 | 確認場所 |
|---|---|---|
ACCOUNT_ID | 12 桁の AWS アカウント ID | AWS コンソール右上のメニュー |
REGION | AWS リージョン(例: us-east-1) | コンソールのリージョンセレクター |
AGENT_ID / ALIAS_ID | エージェント ID とエイリアス ID | Bedrock コンソール → Agents |
KB_ID | ナレッジベース ID | Bedrock コンソール → Knowledge bases |
FLOW_ID | フロー ID | Bedrock コンソール → Prompt flows |
GUARDRAIL_ID | ガードレール ID | Bedrock コンソール → Guardrails |
PROMPT_ID | プロンプト ID | Bedrock コンソール → Prompt management |
POLICY_ID | 自動推論ポリシー ID | Bedrock コンソール → Automated reasoning |
PROJECT_ID | データ自動化プロジェクト ID | Bedrock コンソール → Data automation |
TOOL_ID | Bedrock ツール ID | Bedrock コンソール → Tools |
BEDROCK_EXECUTION_ROLE_NAME | Bedrock 呼び出し用の IAM ロール名 | IAM コンソール → Roles |
YOUR_CLOUDTRAIL_LOG_GROUP | CloudTrail トレイル用の CloudWatch Logs ロググループ | CloudTrail コンソール → トレイル → CloudWatch Logs |
特定のタイプのすべてのリソースをログに記録するには、ARN プレフィックスからリソース ID を削除します(例: agent-alias/AGENT_ID/ALIAS_ID → agent-alias/) — これによりイベントのボリュームとコストが増加します。使用する場合は readOnly または eventName フィルターが必要な操作と一致していることを確認してください。
18 件の Bedrock 高度なイベントセレクター (JSON) をすべて表示
[
{
"Name": "Bedrock-AgentAlias-DataEvents",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["Data"]
},
{
"Field": "resources.type",
"Equals": ["AWS::Bedrock::AgentAlias"]
},
{
"Field": "resources.ARN",
"StartsWith": [
"arn:aws:bedrock:REGION:ACCOUNT_ID:agent-alias/AGENT_ID/ALIAS_ID"
]
}
]
},
{
"Name": "Bedrock-InlineAgent-DataEvents",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["Data"]
},
{
"Field": "resources.type",
"Equals": ["AWS::Bedrock::InlineAgent"]
},
{
"Field": "eventName",
"Equals": ["InvokeInlineAgent"]
},
{
"Field": "userIdentity.arn",
"StartsWith": [
"arn:aws:sts::ACCOUNT_ID:assumed-role/BEDROCK_EXECUTION_ROLE_NAME"
]
}
]
},
{
"Name": "Bedrock-KnowledgeBase-DataEvents",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["Data"]
},
{
"Field": "resources.type",
"Equals": ["AWS::Bedrock::KnowledgeBase"]
},
{
"Field": "resources.ARN",
"StartsWith": [
"arn:aws:bedrock:REGION:ACCOUNT_ID:knowledge-base/KB_ID"
]
}
]
},
{
"Name": "Bedrock-FlowAlias-DataEvents",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["Data"]
},
{
"Field": "resources.type",
"Equals": ["AWS::Bedrock::FlowAlias"]
},
{
"Field": "resources.ARN",
"StartsWith": [
"arn:aws:bedrock:REGION:ACCOUNT_ID:flow/FLOW_ID/alias/"
]
}
]
},
{
"Name": "Bedrock-Guardrail-DataEvents",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["Data"]
},
{
"Field": "resources.type",
"Equals": ["AWS::Bedrock::Guardrail"]
},
{
"Field": "resources.ARN",
"StartsWith": [
"arn:aws:bedrock:REGION:ACCOUNT_ID:guardrail/GUARDRAIL_ID"
]
}
]
},
{
"Name": "Bedrock-Model-DataEvents",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["Data"]
},
{
"Field": "resources.type",
"Equals": ["AWS::Bedrock::Model"]
},
{
"Field": "eventName",
"Equals": ["InvokeModelWithBidirectionalStream"]
}
]
},
{
"Name": "Bedrock-AsyncInvoke-DataEvents",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["Data"]
},
{
"Field": "resources.type",
"Equals": ["AWS::Bedrock::AsyncInvoke"]
},
{
"Field": "eventName",
"Equals": ["GetAsyncInvoke", "StartAsyncInvoke"]
}
]
},
{
"Name": "Bedrock-Prompt-DataEvents",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["Data"]
},
{
"Field": "resources.type",
"Equals": ["AWS::Bedrock::PromptVersion"]
},
{
"Field": "resources.ARN",
"StartsWith": [
"arn:aws:bedrock:REGION:ACCOUNT_ID:prompt/PROMPT_ID"
]
}
]
},
{
"Name": "Bedrock-Session-DataEvents",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["Data"]
},
{
"Field": "resources.type",
"Equals": ["AWS::Bedrock::Session"]
},
{
"Field": "resources.ARN",
"StartsWith": [
"arn:aws:bedrock:REGION:ACCOUNT_ID:session/"
]
},
{
"Field": "readOnly",
"Equals": ["false"]
}
]
},
{
"Name": "Bedrock-FlowExecution-DataEvents",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["Data"]
},
{
"Field": "resources.type",
"Equals": ["AWS::Bedrock::FlowExecution"]
},
{
"Field": "resources.ARN",
"StartsWith": [
"arn:aws:bedrock:REGION:ACCOUNT_ID:flow/FLOW_ID/alias/"
]
}
]
},
{
"Name": "Bedrock-AutomatedReasoningPolicy-DataEvents",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["Data"]
},
{
"Field": "resources.type",
"Equals": ["AWS::Bedrock::AutomatedReasoningPolicy"]
},
{
"Field": "resources.ARN",
"StartsWith": [
"arn:aws:bedrock:REGION:ACCOUNT_ID:automated-reasoning-policy/POLICY_ID"
]
}
]
},
{
"Name": "Bedrock-AutomatedReasoningPolicyVersion-DataEvents",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["Data"]
},
{
"Field": "resources.type",
"Equals": ["AWS::Bedrock::AutomatedReasoningPolicyVersion"]
},
{
"Field": "resources.ARN",
"StartsWith": [
"arn:aws:bedrock:REGION:ACCOUNT_ID:automated-reasoning-policy/POLICY_ID"
]
}
]
},
{
"Name": "Bedrock-DataAutomationProject-DataEvents",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["Data"]
},
{
"Field": "resources.type",
"Equals": ["AWS::Bedrock::DataAutomationProject"]
},
{
"Field": "resources.ARN",
"StartsWith": [
"arn:aws:bedrock:REGION:ACCOUNT_ID:data-automation-project/PROJECT_ID"
]
}
]
},
{
"Name": "Bedrock-DataAutomationInvocation-DataEvents",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["Data"]
},
{
"Field": "resources.type",
"Equals": ["AWS::Bedrock::DataAutomationInvocation"]
},
{
"Field": "resources.ARN",
"StartsWith": [
"arn:aws:bedrock:REGION:ACCOUNT_ID:data-automation-invocation/"
]
},
{
"Field": "readOnly",
"Equals": ["false"]
}
]
},
{
"Name": "Bedrock-DataAutomationProfile-DataEvents",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["Data"]
},
{
"Field": "resources.type",
"Equals": ["AWS::Bedrock::DataAutomationProfile"]
},
{
"Field": "resources.ARN",
"StartsWith": [
"arn:aws:bedrock:REGION:ACCOUNT_ID:data-automation-profile/"
]
},
{
"Field": "readOnly",
"Equals": ["false"]
}
]
},
{
"Name": "Bedrock-Blueprint-DataEvents",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["Data"]
},
{
"Field": "resources.type",
"Equals": ["AWS::Bedrock::Blueprint"]
},
{
"Field": "resources.ARN",
"StartsWith": [
"arn:aws:bedrock:REGION:ACCOUNT_ID:blueprint/"
]
},
{
"Field": "readOnly",
"Equals": ["false"]
}
]
},
{
"Name": "Bedrock-AdvancedOptimizePromptJob-DataEvents",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["Data"]
},
{
"Field": "resources.type",
"Equals": ["AWS::Bedrock::AdvancedOptimizePromptJob"]
},
{
"Field": "resources.ARN",
"StartsWith": [
"arn:aws:bedrock:REGION:ACCOUNT_ID:advanced-optimize-prompt-job/"
]
},
{
"Field": "readOnly",
"Equals": ["false"]
}
]
},
{
"Name": "Bedrock-Tool-DataEvents",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["Data"]
},
{
"Field": "resources.type",
"Equals": ["AWS::Bedrock::Tool"]
},
{
"Field": "resources.ARN",
"StartsWith": [
"arn:aws:bedrock:REGION:ACCOUNT_ID:tool/TOOL_ID"
]
}
]
}
]
Bedrock データイベントリソースタイプ
CloudTrail は、以下の Bedrock リソースタイプのデータイベントをサポートするように設計されており、AI パイプラインへの完全な可視性を提供します。
エージェントとオーケストレーション
| リソースタイプ | 主要 API | 説明 |
|---|---|---|
AWS::Bedrock::AgentAlias | InvokeAgent | デプロイされた Bedrock エージェントエイリアスの呼び出しを追跡します |
AWS::Bedrock::InlineAgent | InvokeInlineAgent | インラインエージェントの呼び出しをキャプチャします |
AWS::Bedrock::FlowAlias | InvokeFlow | Bedrock Prompt Flow の呼び出しを追跡します |
AWS::Bedrock::FlowExecution | フロー実行 API | プロンプトフロー実行の監視のためにフロー実行アクティビティをキャプチャします |
AWS::Bedrock::Session | セッション API | マルチターン会話のセッションレベル API アクティビティをキャプチャします |
Agent & Orchestration リソースのセレクターに関する注意事項
- FlowExecution — Narrow
resources.ARN特定のフロー ID に (例:flow/FLOW_ID/alias/) フロー実行 ARN が共有されているためflow/フローエイリアスのプレフィックスを使用します。 - Session — 使用します
readOnly = false書き込み操作(セッションの作成と更新)に集中し、高頻度の読み取り操作によるボリュームを削減するため。
モデル呼び出し
| リソースタイプ | 主要 API | 説明 |
|---|---|---|
AWS::Bedrock::Model | InvokeModelWithBidirectionalStream | 双方向ストリーミング呼び出しをログに記録します |
AWS::Bedrock::AsyncInvoke | GetAsyncInvoke, StartAsyncInvoke | 非同期呼び出し操作をログに記録します |
AWS::Bedrock::PromptVersion | RenderPrompt | プロンプトレンダリング操作をキャプチャします |
AWS::Bedrock::AdvancedOptimizePromptJob | 高度なプロンプト最適化 API | 高度なプロンプト最適化ジョブのアクティビティをキャプチャします |
モデル呼び出しリソースのセレクターに関する注意事項
- モデル — Foundation model の ARN は AWS が所有しています(例:
arn:aws:bedrock:REGION::foundation-model/...) はアカウント ID を含まないため、このセレクターはeventNameフィルタリングの代わりにresources.ARN. - AsyncInvoke — 使用
eventName特定の非同期操作にスコープを絞るためのフィルタリング。非同期呼び出しには、両方のセレクターが必要です。AWS::Bedrock::ModelおよびAWS::Bedrock::AsyncInvoke. - AdvancedOptimizePromptJob — 使用します
readOnly = false書き込み操作(ジョブの開始)に焦点を当てます。
安全性とガードレール
| リソースタイプ | 主要 API | 説明 |
|---|---|---|
AWS::Bedrock::Guardrail | ApplyGuardrail | ガードレール適用操作をキャプチャします |
AWS::Bedrock::AutomatedReasoningPolicy | 自動推論 API | 検証可能な AI 出力のための自動推論ポリシーのアクティビティをキャプチャします |
AWS::Bedrock::AutomatedReasoningPolicyVersion | 自動推論バージョン API | 自動推論ポリシーの特定バージョンのアクティビティをキャプチャします |
Safety & Guardrails リソースのセレクターに関する注意事項
- AutomatedReasoningPolicy — アカウント内のすべてのポリシーをキャプチャしないよう、特定のポリシー ID に絞り込みます。
- AutomatedReasoningPolicyVersion — ポリシーセレクターと同じポリシー ID プレフィックスを使用します。
ナレッジ & RAG
| リソースタイプ | 主要 API | 説明 |
|---|---|---|
AWS::Bedrock::KnowledgeBase | Retrieve, RetrieveAndGenerate | データソースの取得および取り込みアクティビティを監視します |
AWS::Bedrock::Tool | ツール API | ツール使用操作のためのツール API アクティビティをキャプチャします |
Knowledge & RAG リソースのセレクターに関する注意事項
- Tool — アカウント内のすべてのツールアクティビティをキャプチャしないように、特定のツール ID に絞り込みます。
データ自動化
| リソースタイプ | 主要 API | 説明 |
|---|---|---|
AWS::Bedrock::DataAutomationProject | データ自動化プロジェクト API | ドキュメントおよびメディア処理のためのプロジェクトアクティビティをキャプチャします |
AWS::Bedrock::DataAutomationInvocation | データ自動化呼び出し API | データ自動化呼び出しアクティビティをキャプチャします |
AWS::Bedrock::DataAutomationProfile | データ 自動化プロファイル API | データ自動化プロファイルアクティビティをキャプチャします |
AWS::Bedrock::Blueprint | ブループリント API | データ自動化設定のためのブループリントアクティビティをキャプチャします |
Data Automation リソースのセレクターに関する注意事項
- DataAutomationProject — 特定のプロジェクト ID に絞り込みます。
- DataAutomationInvocation、DataAutomationProfile、Blueprint — すべて使用
readOnly = false書き込み操作に集中します。
The AWS::Bedrock::InlineAgent セレクターには含まれていません。 resources.ARN インラインエージェントには永続的なリソース ARN がないため、フィルタリングされます。ボリュームとコストを削減するために、セレ クターは eventName filter (スコープ対象: InvokeInlineAgent) および userIdentity.arn フィルターを使用して、特定の IAM ロールへのログ記録をスコープします。置き換えてください。 BEDROCK_EXECUTION_ROLE_NAME 実際のロール名に置き換えてください。インラインエージェントを使用しない場合は、このセレクターを完全に削除してください。完全なセレクター JSON については、インラインエージェント: IAM アイデンティティによるフィルタリングを参照してください。
上記の高度なイベントセレクターをすべての関連リソースタイプにわたって設定することが、このガイドにおける AI ワークロードの可視性を有効にするための重要な最初のステップです。高度なイベントセレクターを指定せ ずにデータイベントを有効にしないでください。フィルタリングされていないデータイベントのログ記録は、大量のデータとコストを発生させる可能性があります。最新のサポートされているリソースタイプについては、CloudTrail の Amazon Bedrock データイベントを参照してください。
Amazon Bedrock AgentCore データイベント
Amazon Bedrock AgentCore は、AI エージェントの実行、セキュリティ保護、および接続のためのマネージドインフラストラクチャを提供します。これには、ホスト型ランタイム、組み込みツール(コードインタープリター、ブラウザー)、ID およびクレデンシャル管理、API ゲートウェイ、永続メモリが含まれます。これらのコンポーネントはそれぞれデータプレーンのアクティビティを生成し、CloudTrail はそれをデータイベントとしてキャプチャできます。これにより、エージェントがコードを実行する方法、ウェブを閲覧する方法、サードパーティサービスへの認証方法、およびゲートウェイを通じてユーザーと対話する方法を把握できます。
AgentCore データイベントは、コード実行、ツール使用、メモリ操作など、エージェントの動作に対 するランタイムの可視性を提供します。具体的には、どのツールが呼び出されているか、どの認証情報が取得されているか、どのゲートウェイがトラフィックを受信しているか、または認識されていない呼び出し元がエージェントインフラストラクチャにアクセスしているかどうかを確認できます。
AgentCore Data Events が AI セキュリティにとって重要な理由
AgentCore コンポーネントは、AI エージェントの運用サーフェス、つまりエージェントが実際のアクションを実行するレイヤーを表します。Bedrock データイベント(上記で説明)がエージェントに何を求めるか(モデルの呼び出し、ナレッジベースからの取得)をキャプチャするのに対し、AgentCore データイベントはエージェントが実際に何を行うかをキャプチャします。エージェント型 AI セキュリティスコーピングマトリックスは、エージェント型システムに対して 6 つの重要なセキュリティディメンションを定義しています。以下の箇条書きは、各 AgentCore 機能をそれが対応するマトリックスディメンションにマッピングしたものです。
- コードの実行 — CodeInterpreter を通じてユーザー提供のコードを実行するエ ージェントは、ファイルへのアクセス、ネットワーク呼び出し、副作用の生成が可能です。これらの呼び出しを監視することで、意図しないコードの実行や、意図した範囲外で動作するエージェントを検出できます。(Agentic Matrix: ガードレール — サンドボックスと分離メカニズム)
- Web ブラウジング — Browser ツールを使用するエージェントは外部 Web サイトをナビゲートし、機密性の高い URL にアクセスしたり、データ転送が意図した境界内に収まっているかを確認したりする可能性があります。ブラウザのアクティビティをログに記録することで、エージェントが訪問したすべてのページの監査証跡が得られます。(Agentic Matrix: ガードレール — 行動監視)
- 認証情報へのアクセス — エージェントは、TokenVault に保存された OAuth2 トークン、API キー、ワークロード ID トークンを使用してサードパーティ API に認証します。予期しない認証情報アクセスパターンは、異常なエージェントアクティビティや権限昇格を示している可能性があります。(Agentic Matrix: ID 管理 — ID の委任と認証情報管理)
- ゲートウェイトラフィック — AgentCore Gateway は、JWT ベースの認証を備えた MCP プロトコルを介してエージェントを外部の呼び出し元に公開します。ゲートウェイのデータイベントは、認証失 敗を含むすべての受信リクエストをキャプチャします。これは、AWS 環境外からの意図しないアクセス試行を検出するうえで重要です。(Agentic Matrix: スコープ — 明確な運用境界)
- エージェントランタイムアクティビティ — Runtime および RuntimeEndpoint イベントは、エージェントのライフサイクル操作、セッション管理、エンドポイント呼び出しを追跡します。ここでの異常なパターンは、通常の運用時間外にエージェントが起動、停止、またはアクセスされていることを示します。(Agentic Matrix: オーケストレーション — エージェントとシステムのインタラクション管理)
- メモリ操作 — 永続メモリを持つエージェントは、セッションをまたいで会話コンテキストを保存および取得します。意図しないメモリアクセスにより、会話履歴の取得やエージェントコンテキストの変更が可能になる場合があります。メモリ操作を監視することで、アクセスが認可されたスコープ内に収まっていることを確認できます。(Agentic Matrix: データ — 永続メモリと状態のセキュリティ)
- エージェント評価 — Evaluator イベントは、エージェント出力の自動品質・安全性評価を追跡します。これらを監視することで、評価パイプラインが意図したとおりに設定されたままであることを確認できます。(Agentic Matrix: 監査とログ記録 — アクションレベルのエージェントアクション追跡)
AgentCore データイベントリソースタイプ
CloudTrail は、以下の AgentCore リソースタイプのデータイベントをサポートしています。
- 組み込みツール
- ID と認証情報
- ランタイムとゲートウェイ
- メモリと評価
| リソースタイプ | resources.type | セキュリティ関連性 |
|---|---|---|
| コードインタープリター | AWS::BedrockAgentCore::CodeInterpreter | 意図しないコードの実行、サンドボックス境界の問題を検出する |
| コードインタープリター (カスタム) | AWS::BedrockAgentCore::CodeInterpreterCustom | 不正なカスタムコード実行の検出 |
| ブラウザ | AWS::BedrockAgentCore::Browser | 監査エ ージェントの Web ナビゲーション、URL を介した意図しないデータ転送の検出 |
| ブラウザ (カスタム) | AWS::BedrockAgentCore::BrowserCustom | カスタムブラウザツールの使用状況を監査する |
| リソースタイプ | resources.type | セキュリティの関連性 |
|---|---|---|
| ワークロード ID | AWS::BedrockAgentCore::WorkloadIdentity | 不正な ID トークンリクエストの検出 |
| ワークロード ID ディレクトリ | AWS::BedrockAgentCore::WorkloadIdentityDirectory | ID ディレクトリの列挙または変更を監視する |
| Token Vault | AWS::BedrockAgentCore::TokenVault | 不正な認証情報アクセスまたはデータ転送の検出 |
| OAuth2 認証情報プロバイダー | AWS::BedrockAgentCore::OAuth2CredentialProvider | OAuth2 トークン取得の不正アクセスを監視する |
| API キー認証情報プロバイダー | AWS::BedrockAgentCore::APIKeyCredentialProvider | API キーの取得パターンを異常検知のために監視する |
| リソースタイプ | resources.type | セキュリティの関連性 |
|---|---|---|
| ランタイム | AWS::BedrockAgentCore::Runtime | 不正なエージェントの起動、停止、または設定変更を検出する |
| ランタイムエンドポイント | AWS::BedrockAgentCore::RuntimeEndpoint | モニターエージェントエンドポイントのアクセスパターン |
| ゲートウェイ | AWS::BedrockAgentCore::Gateway | 不正な外部アクセス、認証失敗の検出 |
| リソースタイプ | resources.type | セキュリティの関連性 |
|---|---|---|
| メモリ | AWS::BedrockAgentCore::Memory | 不正なメモリ読み取りまたはコンテキスト変更の検出 |
| エバリュエーター | AWS::BedrockAgentCore::Evaluator | 評価パイプラインの整合性を監視する |
AgentCore の高度なイベントセレクター
CloudTrail トレイルで AgentCore データイベントをキャプチャするには、以下の高度なイベントセレクターを使用します。これらのセレクターは、セキュリティ機能に基づいて、組み込みツール、ID と認証情報、ランタイムとゲートウェイ、メモリと評価の 4 つのグループに分類されています。各セレクターは、以下を使用してログのスコープを設定します。 resources.ARN プレフィックス。AWS マネージドの組み込みツール (CodeInterpreter および Browser)、その resources.ARN filter は省略されています。これらは AWS が所有する ARN を使用しているためです — resources.type filter だけで十分です。
以下のセレクターは例です。プレースホルダーを置き換えずに適用してもイベントはキャプチャされません。置き換えてください ACCOUNT_ID および REGION 値を入力してください(上記の Bedrock プレースホルダーテーブル を参照)。AgentCore 固有のプレースホルダーは以下に示します。
| プレースホルダー | 置き換える値 | 確認場所 |
|---|---|---|
GATEWAY_ID | AgentCore Gateway ID | AgentCore コンソールまたは ListGateways API |
RUNTIME_ID | AgentCore Runtime ID | ListRuntimes API |
DIRECTORY_ID | Workload Identity Directory ID | AgentCore コンソール |
PROVIDER_NAME | OAuth2 または APIKey 認証情報プロバイダー名 | AgentCore コンソール |
MEMORY_ID | AgentCore Memory ID | AgentCore コンソール |
EVALUATOR_ID | AgentCore Evaluator ID | AgentCore コンソール |
CUSTOM_TOOL_ID / CUSTOM_BROWSER_ID | カスタムツールまたはブラウザー設定 ID | AgentCore コンソール |
特定のタイプのすべてのリソースをログに記録するには、ARN プレフィックスからリソース ID を削除します(例: gateway/GATEWAY_ID → gateway/) — これによりイベントのボリュームとコストが増加します。
- グループ 1: 組み込みツール
- グループ 2: ID と認証情報
- グループ 3: ランタイムとゲートウェイ
- グループ 4: メモリと評価
これらのセレクターは、エージェントのツール使用状況(エージェントが現実世界で実行するアクション)をキャプチャします。コードインタープリター イベントはエージェントが実行するコードを明らかにし、ブラウザーイベントはエージェントが訪問するウェブサイトを明らかにします。( エージェント AI セキュリティスコーピングマトリックスのガードレール次元(エージェントアクションのサンドボックス化、分離メカニズム、および動作監視)を実装します。)
AWS が管理する組み込みツール (CodeInterpreter および Browser) AWS 所有のリソース ARN をアカウントセグメントに設定して使用します。 aws (例: arn:aws:bedrock-agentcore:REGION:aws:code-interpreter/)、アカウント ID ではありません。カスタムツール (CodeInterpreterCustom および BrowserCustom) アカウント ID を使用します。以下のセレクターはこの違いを反映しています。マネージドツールのみを使用する場合は、カスタムツールセレクターを省略できます。
[
{
"Name": "AgentCore-CodeInterpreter-DataEvents",
"FieldSelectors": [
{ "Field": "eventCategory", "Equals": ["Data"] },
{ "Field": "resources.type", "Equals": ["AWS::BedrockAgentCore::CodeInterpreter"] }
]
},
{
"Name": "AgentCore-CodeInterpreterCustom-DataEvents",
"FieldSelectors": [
{ "Field": "eventCategory", "Equals": ["Data"] },
{ "Field": "resources.type", "Equals": ["AWS::BedrockAgentCore::CodeInterpreterCustom"] },
{ "Field": "resources.ARN", "StartsWith": ["arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:code-interpreter-custom/CUSTOM_TOOL_ID"] }
]
},
{
"Name": "AgentCore-Browser-DataEvents",
"FieldSelectors": [
{ "Field": "eventCategory", "Equals": ["Data"] },
{ "Field": "resources.type", "Equals": ["AWS::BedrockAgentCore::Browser"] }
]
},
{
"Name": "AgentCore-BrowserCustom-DataEvents",
"FieldSelectors": [
{ "Field": "eventCategory", "Equals": ["Data"] },
{ "Field": "resources.type", "Equals": ["AWS::BedrockAgentCore::BrowserCustom"] },
{ "Field": "resources.ARN", "StartsWith": ["arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:browser-custom/CUSTOM_BROWSER_ID"] }
]
}
]
これらのセレクターは、エージェントがサードパーティサービスに対して認証を行い、クレデンシャルを管理する方法を捉えます。予期しないクレデンシャルアクセスパターンは、不正なエージェントアクセスを示している可能性があります。(「エージェント型 AI セキュリティスコーピングマトリックス」 の Identity ディメンション — ID 委任、クレデンシャル管理、および Confused Deputy Problem の回避を実装します。)
[
{
"Name": "AgentCore-WorkloadIdentity-DataEvents",
"FieldSelectors": [
{ "Field": "eventCategory", "Equals": ["Data"] },
{ "Field": "resources.type", "Equals": ["AWS::BedrockAgentCore::WorkloadIdentity"] },
{ "Field": "resources.ARN", "StartsWith": ["arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:workload-identity-directory/DIRECTORY_ID"] }
]
},
{
"Name": "AgentCore-WorkloadIdentityDirectory-DataEvents",
"FieldSelectors": [
{ "Field": "eventCategory", "Equals": ["Data"] },
{ "Field": "resources.type", "Equals": ["AWS::BedrockAgentCore::WorkloadIdentityDirectory"] },
{ "Field": "resources.ARN", "StartsWith": ["arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:workload-identity-directory/DIRECTORY_ID"] }
]
},
{
"Name": "AgentCore-TokenVault-DataEvents",
"FieldSelectors": [
{ "Field": "eventCategory", "Equals": ["Data"] },
{ "Field": "resources.type", "Equals": ["AWS::BedrockAgentCore::TokenVault"] },
{ "Field": "resources.ARN", "StartsWith": ["arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:token-vault/default"] }
]
},
{
"Name": "AgentCore-APIKeyCredentialProvider-DataEvents",
"FieldSelectors": [
{ "Field": "eventCategory", "Equals": ["Data"] },
{ "Field": "resources.type", "Equals": ["AWS::BedrockAgentCore::APIKeyCredentialProvider"] },
{ "Field": "resources.ARN", "StartsWith": ["arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:token-vault/default/apikeycredentialprovider/PROVIDER_NAME"] }
]
},
{
"Name": "AgentCore-OAuth2CredentialProvider-DataEvents",
"FieldSelectors": [
{ "Field": "eventCategory", "Equals": ["Data"] },
{ "Field": "resources.type", "Equals": ["AWS::BedrockAgentCore::OAuth2CredentialProvider"] },
{ "Field": "resources.ARN", "StartsWith": ["arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:token-vault/default/oauth2credentialprovider/PROVIDER_NAME"] }
]
}
]
これらのセレクターは、エージェントのライフサイクルと外部アクセスパターンをキャプチャします。ランタイムイベントは、エージェントがいつ起動、停止し、リクエストを処理するかを示します。ゲートウェイイベントは、JWT 認証の失敗を含む、すべての受信 MCP リクエストをキャプチャします。(Agentic AI Security Scoping Matrix のオーケストレーション次元(エージェントとシステムの相互作用管理、実行フロー制御)およびスコープ次元(明確な運用境界)を実装しています。)
AgentCore Gateway データイベントは、SigV4 ではなく JWT ベースの認証を使用します。つまり、ID 情報は次の場所にキャプチャされます。 additionalEventData.jwt.claims フィールドではなく標準の userIdentity フィールド。エラー情報は次の場所に表示されます。 responseElements トップレベルではなく errorCode および errorMessage フィールドです。Gateway イベントのクエリとメトリクスフィルターは、この違いを考慮する必要があります。例については、Gateway データイベントクエリを参照してください。
[
{
"Name": "AgentCore-Runtime-DataEvents",
"FieldSelectors": [
{ "Field": "eventCategory", "Equals": ["Data"] },
{ "Field": "resources.type", "Equals": ["AWS::BedrockAgentCore::Runtime"] },
{ "Field": "resources.ARN", "StartsWith": ["arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:runtime/RUNTIME_ID"] }
]
},
{
"Name": "AgentCore-RuntimeEndpoint-DataEvents",
"FieldSelectors": [
{ "Field": "eventCategory", "Equals": ["Data"] },
{ "Field": "resources.type", "Equals": ["AWS::BedrockAgentCore::RuntimeEndpoint"] },
{ "Field": "resources.ARN", "StartsWith": ["arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:runtime/RUNTIME_ID"] }
]
},
{
"Name": "AgentCore-Gateway-DataEvents",
"FieldSelectors": [
{ "Field": "eventCategory", "Equals": ["Data"] },
{ "Field": "resources.type", "Equals": ["AWS::BedrockAgentCore::Gateway"] },
{ "Field": "resources.ARN", "StartsWith": ["arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:gateway/GATEWAY_ID"] }
]
}
]
これらのセレクターは、エージェントのメモリ操作と評価アクティビティをキャプチャします。メモリイベントは、エージェントが会話コンテキストを保存または取得するタイミングを明らかにします。エバリュエーターイベントは、自動品質評価を追跡します。(「エージェント型 AI セキュリティスコーピングマトリックス」のデータディメンション — 永続的なメモリと状態のセキュリティ、およびメモリ整合性検証を実装します。)
[
{
"Name": "AgentCore-Memory-DataEvents",
"FieldSelectors": [
{ "Field": "eventCategory", "Equals": ["Data"] },
{ "Field": "resources.type", "Equals": ["AWS::BedrockAgentCore::Memory"] },
{ "Field": "resources.ARN", "StartsWith": ["arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:memory/MEMORY_ID"] }
]
},
{
"Name": "AgentCore-Evaluator-DataEvents",
"FieldSelectors": [
{ "Field": "eventCategory", "Equals": ["Data"] },
{ "Field": "resources.type", "Equals": ["AWS::BedrockAgentCore::Evaluator"] },
{ "Field": "resources.ARN", "StartsWith": ["arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:evaluator/EVALUATOR_ID"] }
]
}
]
AgentCore データイベントは、特に Gateway(すべての受信 MCP リクエスト)および Runtime(すべてのエージェントセッション操作)において、大量のデータを生成する可能性があります。
推奨されるロールアウト順序:
- グループ 2(認証情報)とグループ 3(ゲートウェイ)から開始します。これらは通常、最も優先度の高いセキュリティ項目です。
- ベースラインのボリュームとコストを確立した後、グループ 1 と 4 に拡張します。
リソース ID によるセレクターの絞り込み: 特定の resources.ARN 個々のリソースをターゲットにする値 — 例えば、 arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:gateway/PROD_GATEWAY_ID 単一のゲートウェイに対して。マネージド組み込みツール (CodeInterpreter および Browser)、その resources.ARN filter は省略されています。これらは AWS が所有する ARN を使用しているためです — resources.type filter だけで十分です。
CloudTrail Insights イベント
CloudTrail Insights は、アカウントの運用ベースラインを継続的に分析することで、異常な API アクティビティを特定するように設計されています。AI ワークロードでは、正当な使用自体が大量のコール数を伴う場合がありますが、Insights は絶対的なコール数が単独では合理的に見える場合でも、確立された基準から逸脱した異常なスパイクを検出する手段を提供します。
インサイトタイプ
| インサイトタイプ | 検出目的 |
|---|---|
| ApiCallRateInsight | ベースラインから逸脱した API コール量の急増を検出します。 |
| ApiErrorRateInsight | 異常なエラー率パターンを検出します。AccessDenied または ThrottlingException エラーの急増は、認証情報への繰り返しのアクセス試行、繰り返される意図しないアクセス試行、またはレート制限に達した自動エージェントを示している可能性があります。 |
設定ガイダンス
CloudTrail コンソールでトレイルに移動し、編集を選択して、Insights セクショ ンの両方の Insights イベントタイプを有効にすることで、CloudTrail トレイルで Insights を有効にします。
トレイルでは、管理イベントとデータイベントの両方に対して Insights を有効にできます。イベントタイプ(管理イベント、データイベント、またはその両方)を選択し、次に Insights タイプ(API コール率、API エラー率、またはその両方)を選択します。API コール率 Insights を有効にするには、トレイルが Write 管理イベントまたはデータイベントをログに記録している必要があります。また、API エラー率 Insights を有効にするには、Read または Write 管理イベントまたはデータイベントをログに記録している必要があります。
CloudTrail Insights イベントは、標準イベントと同じ Amazon S3 バケットおよび CloudWatch Logs ロググループに配信されます。 Insights プレフィックスを使用します。Insights イベントに対してメトリクスフィルターとアラームを直接作成し、異常なアクティビティが検出されたときに自動応答をトリガーすることができます。CloudTrail は、有効化後に Insights イベントの配信を開始するまで最大 36 時間かかる場合があります。ただし、その間に異常なアクティビティが検出された場合に限ります。
CloudTrail 管理イベント
CloudTrail Management イベントは、AWS 環境におけるコントロールプレーン操作(リソースの作成と削 除、設定の変更、権限の変更)を記録するように設計されています。AI ワークロードのセキュリティにおいて、これらのイベントはレビューが必要な予期しないアクセスパターン(ロギングの無効化、監査証跡のリダイレクト、AI サービスのガードレールの弱体化など)を表面化させます。
読み取りと書き込みの両方の管理イベントがすべてのリージョンでログに記録されていることを確認してください。デフォルトの CloudTrail トレイルは、リージョンごとに管理イベントの無料コピーを 1 つ提供します。追加のコピーには料金が発生します。詳細については、CloudTrail の料金を参照してください。
AI セキュリティのキー管理イベント
- Bedrock 設定
- Bedrock 呼び出し
- AgentCore
- 監査証跡と IAM
| イベント名 | 重要な理由 |
|---|---|
UpdateAccountSettings | アカウントレベルの Bedrock 設定への変更を検出します。 |
PutModelInvocationLoggingConfiguration | Bedrock 呼び出しログ設定による設定変更を検出します。 |
DeleteModelInvocationLoggingConfiguration | Bedrock ロギング設定が完全に削除されたことを検出します。 |
CreateGuardrail / UpdateGuardrail / DeleteGuardrail | Bedrock のコンテンツフィルタリングおよび安全制御への変更を検出します。 |
| イベント名 | 重要な理由 |
|---|---|
InvokeModel / InvokeModelWithResponseStream | デフォルトで管理イベントとしてログに記録されます — どの IAM アイデンティティが基盤モデルを呼び出しているかを追跡します。 |
Converse / ConverseStream | デフォルトで管理イベントとして記録されます — マルチターンの会話型 AI アクティビティを記録します。 |
ListAsyncInvokes | デフォルトでは管理イベントとして記録されます — 非同期呼び出しジョブのリストをモニタリングします。 |
| イベント名 | 重要な理由 |
|---|---|
CreateGateway / UpdateGateway / DeleteGateway | エージェントを外部の呼び出し元に公開する AgentCore Gateway の作成、変更、または削除を検出します。 |
CreateGatewayTarget / UpdateGatewayTarget / DeleteGatewayTarget | ゲートウェイルーティングターゲットへの変更を検出します。エージェントトラフィックが意図しないエンドポイントに意図せずリダイレクトされることを検知します。 |
| イベント名 | サービス | 重要な理由 |
|---|---|---|
DeleteTrail / StopLogging | CloudTrail | 監査証跡を完全に無効化しようとする試みを検出します。 |
PutBucketPolicy / DeleteBucketPolicy | S3 | ログ送信先バケットのバケットポリシーの変更を検出します。 |
AttachRolePolicy / DetachRolePolicy / PutRolePolicy | IAM | AI ワークロードアクセスを拡大する可能性のある IAM 権限昇格を検出します。 |
一般的な意図しないアクセスパターンとして、さらなる活動を行う前に、トレイルの無効化や外部から制御されたバケットへのログのリダイレクトなど、ログ設定の変更が挙げられます。以下の監視を行うことで、 StopLogging, DeleteTrail、および PutModelInvocationLoggingConfiguration 監査証跡の整合性を保護するために推奨されます。
Amazon S3 と Lambda データイベント
AI ワークロードは、Amazon S3 バケット(トレーニングデータ、モデルアーティファクト、CI/CD パイプラインアセット用)および Lambda 関数(AI 推論、データ前処理、エージェントオーケストレーション用)と頻繁にやり取りします。これらのリソースタイプをデータイベントレベルで監視することで、管理イベントでは取得できないオブジェクトレベルおよび関数呼び出しレベルのアクティビティを可視化できます。
Amazon S3 ターゲットバケットとイベントタイプ
以下のバケットに対して Amazon S3 データイベントを有効にします。
- AI トレーニングデータセットとファインチューニングデータ
- モデルアーティファクトと設定ファイル
- CI/CD パイプラインアーティファクトとコードリポジトリ
監視すべき主要な Amazon S3 オペレーション:
- PutObject — 不正な書き込みアクセスや不正なデータアクセスのためのデータステージングを検出します
- GetObject — トレーニングデータやモデルアーティファクトの大量ダウンロードを検出します
- DeleteObject — データの削除やログの改ざんアクティビティを検出します
- CopyObject — バケット間の意図しないデータ移動を検出します
Amazon S3 書き込み専用セレクター
次のセレクターは、特定の名前が付いた AI 関連バケットへの書き込み操作のみをログに記録することで、Amazon S3 データイベントのボリュームを削減します。
以下のバケット名プレフィックス (ai-training-data-, model-artifacts-, cicd-pipeline-) は例です。AI トレーニングデータ、モデルアーティファクト、およびパイプラインアセットを含む S3 バケットの実際の名前または命名プレフィックスに置き換えてください。バケット名は S3 コンソール で確認するか、以下を実行することで確認できます。 aws s3 lsバケットが異なる命名規則を使用している場合は、 StartsWith 値を適宜設定します。
Amazon S3 データイベントをフィルタリングして、書き込み操作のみをキャプチャします (readOnly = false名前が次で始まるバケットに対して ai-training-data-, model-artifacts-、または cicd-pipeline-これにより、大量の読み取り操作(例えば GetObject) 不正な書き込み、削除、およびデータのステージングを検出しながら。
[
{
"Name": "S3-AI-Sensitive-WriteOnly",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["Data"]
},
{
"Field": "resources.type",
"Equals": ["AWS::S3::Object"]
},
{
"Field": "readOnly",
"Equals": ["false"]
},
{
"Field": "resources.ARN",
"StartsWith": [
"arn:aws:s3:::ai-training-data-",
"arn:aws:s3:::model-artifacts-",
"arn:aws:s3:::cicd-pipeline-"
]
}
]
}
]
Lambda AI パイプライン関数
Lambda データイベントを有効にしてログを記録します。 InvokeFunction 以下が必要です。
- AI 推論パイプライン関数
- データ前処理および特徴エンジニアリングワークフロー
- Bedrock エージェントオーケストレーション関数
Lambda の呼び出し数の予期しない急増、特に見慣れない IAM ロールからの急増は、Lambda ベースの AI パイプライン関数への意図しないアクセスが発生している早期の兆候です。
Lambda 本番環境専用セレクター
このセレクターは、開発およびテスト関数を除外し、本番環境の AI ワークロードのログ記録に集中します。
以下の関数名プレフィックス (prod-, ai-agent-) は例です。実際の組織が本番 AI Lambda 関数に使用する命名プレフィックスに置き換えてください。また、 ACCOUNT_ID AWS アカウント ID と REGION お使いのリージョンに置き換えてください。関数名は Lambda コンソール で確認するか、以下を実行することで確認できます。 aws lambda list-functions.
Logs Lambda Invoke ARN が次の文字列で始まる関数のデータイベントのみ prod- または ai-agent-。なぜなら StartsWith すでにこれらの特定のプレフィックスにスコープが限定されているため、開発およびテスト関数は定義上除外されます。CloudTrail では、同じフィールドに対して 2 つのフィールドセレクターを使用することはできません (resources.ARN) を単一のセレクター内で使用する場合、異なる演算子を使用する場合でも同様です。置き換えてください。 ACCOUNT_ID と、リージョンをご自身の値に置き換えてください。
[
{
"Name": "Lambda-AI-Production-Invocations",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["Data"]
},
{
"Field": "resources.type",
"Equals": ["AWS::Lambda::Function"]
},
{
"Field": "resources.ARN",
"StartsWith": [
"arn:aws:lambda:REGION:ACCOUNT_ID:function:prod-",
"arn:aws:lambda:REGION:ACCOUNT_ID:function:ai-agent-"
]
}
]
}
]
CloudTrail ネットワークアクティビティイベント
CloudTrail ネットワークアクティビティイベントは、VPC エンドポイントの所有者がプライベート VPC から AWS サービスへの VPC エンドポイントを通じて行われた AWS API 呼び出しを記録できるように設計されています。AI ワークロードにおいては、Bedrock と統合された VPC が予期しないアウトバウンド呼び出しを行っているかどうか、または VPC エンドポイントのアクセス制御が侵害されているかどうかを可視化します。(「エージェント型 AI セキュリティスコーピングマトリックス」のスコープ次元を実装し、明確な運用境界を強制し、意図されたネットワーク境界の外で動作するエージェントを検出します。)
AI ワークロード VPC エンドポイント
CloudTrail ネットワークアクティビティイベントは Amazon Bedrock をサポートしています (bedrock.amazonaws.com)、Amazon S3 (s3.amazonaws.com)、および AWS Lambda (lambda.amazonaws.com) をイベントソースとして使用します。各エンドポイントを経由してルーティングされた API 呼び出し(許可されたアクセスと拒否されたアクセスの両方を含む)をキャプチャするために、VPC エンドポイントでこれらのイベントを有効にしてください。AI ワークロードの場合、これは特に重要です。VPC 内で動作する Bedrock エージェントは、VPC エンドポイントを通じてダウンストリームサービス(ナレッジベースデータソース用の Amazon S3、アクショングループハンドラー用の Lambda)にアクセスするためです。VPC エンドポイントレベルでのアクセス拒否は、エンドポイントポリシーの設定ミス、またはプライベートネットワーク内から AI リソースへのアクセスを試みる不正なワークロードのいずれかを示しています。
有効化を検討すべき追加のイベントソース:
| イベントソース | 監視目的 |
|---|---|
| bedrock.amazonaws.com | AI モデルへのアクセスを監視し、VPC エンドポイント経由の不正な呼び出しを検出します。 |
| s3.amazonaws.com | VPC エンドポイント経由でのトレーニングデータバケットへの不正な Amazon S3 アクセスを検出しま す。 |
| kms.amazonaws.com | AI モデルの暗号化操作のための暗号化キーアクセスパターンを監視します。 |
| lambda.amazonaws.com | AI パイプライン関数から VPC エンドポイント経由の Lambda 呼び出しを追跡します。 |
| sagemaker.amazonaws.com | AI ワークロード環境における SageMaker エンドポイントのアクティビティを追跡します。 |
ネットワークアクティビティイベントの高度なイベントセレクターフィールド
初期デプロイでは、キャプチャに集中してください VpceAccessDenied すべての AI 関連 VPC エンドポイント全体のエラーを監視し、最小限の追加データ量でVPC エンドポイントポリシーの違反を検出します。以下のセレクターは、Bedrock、Amazon S3、および Lambda をカバーしています。これらは、AI エージェントが VPC エンドポイントを通じて最も一般的にアクセスする 3 つのサービスです。
Bedrock、Amazon S3、または Lambda がレスポンスを返したネットワークアクティビティイベントをログに記録します。 VpceAccessDenied エラーを示しており、VPC 内からのトラフィックが VPC エンドポイントポリシーによってブロックされたことを意味します。これにより、成功したすべてのネットワークアクティビティをログに記録するボリュームを必要とせず、AI ワークロード全体の表面にわたって拒否されたアクセスをキャプチャします。Amazon S3 の拒否は、トレーニングデータやモデルアーティファクトバケットへのアクセスがブロックされたエージェントを検出します。Lambda の拒否は、アクショングループハンドラーや AI パイプライン関数の呼び出しがブロックされたエージェントを検出します。
ネットワークアクティビティ VpceAccessDenied セレクター (JSON) を表示
[
{
"Name": "Bedrock-NetworkActivity-VpceAccessDenied",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["NetworkActivity"]
},
{
"Field": "eventSource",
"Equals": ["bedrock.amazonaws.com"]
},
{
"Field": "errorCode",
"Equals": ["VpceAccessDenied"]
}
]
},
{
"Name": "S3-NetworkActivity-VpceAccessDenied",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["NetworkActivity"]
},
{
"Field": "eventSource",
"Equals": ["s3.amazonaws.com"]
},
{
"Field": "errorCode",
"Equals": ["VpceAccessDenied"]
}
]
},
{
"Name": "Lambda-NetworkActivity-VpceAccessDenied",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["NetworkActivity"]
},
{
"Field": "eventSource",
"Equals": ["lambda.amazonaws.com"]
},
{
"Field": "errorCode",
"Equals": ["VpceAccessDenied"]
}
]
}
]
実装優先度チェックリスト
次の表は、AI ワークロード環境で CloudTrail イベントタイプを有効化するための推奨実装順序を示しています。各ステップは前のステップを基盤として構築されており、影響度の高い変更から始まり、より詳細なモニタリング設定へと進んでいきます。
| ステップ | イベントタイプ | 有効化する対象 | 詳細 |
|---|---|---|---|
| 1 | 管理イベント | すべてのサービス、すべてのリージョン(読み取り + 書き込み) | InvokeModel、Converse、ListAsyncInvokes、および AgentCore 管理イベントをデフォルトでキャプチャします |
| 2 | データイベント | 18 個すべての Bedrock リソースタイプ | エージェント呼び出し、RAG、フロー、ガードレール、セッション、データ自動化、ツールなど。Bedrock セレクターを参照 |
| 3 | データイベント | 14 個すべての AgentCore リソースタイプ | ゲートウェイトラフィック、ランタイム操作、組み込みツール、認証情報、メモリ、評価。AgentCore セレクターを参照 |
| 4 | Insights イベント | アカウント全体 | 管理イベントとデータイベントに対する ApiCallRateInsight および ApiErrorRateInsight |
| 5 | データイベント | AWS::S3::Object(AI バケット) | ai-training-data、model-artifacts、cicd-pipeline プレフィックスのバケットに対する書き込み専用 |
| 6 | データイベント | AWS::Lambda::Function | 本番 AI 関数のみ。開発およびテスト関数名プレフィックスを除外します |
| 7 | ネットワークアクティビティイベント | Bedrock、S3、Lambda VPC エンドポイント | bedrock.amazonaws.com、s3.amazonaws.com、lambda.amazonaws.com に対する VpceAccessDenied |
データイベント収集の最適化
高度なイベントセレクターを使用すると、コストとログボリュームの両方を制御するための精密なフィルタリングが可能になります。以下の戦略では、主要なリソースタイプごとに、セキュリティ上重要なイベントのみに絞り込む方法を示します。
Bedrock: 本番リソースへの絞り込み
上記の高度なイベントセレクターは、ARN によって Bedrock データイベントを特定のリソースにスコープしています。ボリュームをさらに削減するには、ARN プレフィックスを本番環境のエージェントとナレッジベースのみに絞り込み、非本番環境または実験的なリソースを除外します。
以下のリソース ID (PROD_AGENT_ID, PROD_KB_ID) は例です。実際のエージェントおよびナレッジベース ID は、本番環境のものに置き換えてください。これらの ID は、Bedrock コンソール の Agents および Knowledge bases から確認するか、または実行することで取得できます。 aws bedrock list-agents および aws bedrock list-knowledge-bases.
ARN が特定のリソース ID プレフィックスに一致するエージェントエイリアスとナレッジベースのみに Bedrock データイベントのログを制限します。本番環境で使用されている正確なエージェントとナレッジベースの ID を特定済みで、それ以外をすべて除外したい場合に使用します。置き換えてください。 ACCOUNT_ID リソース ID をご自身の値に置き換えてください。
[
{
"Name": "Bedrock-Production-Agents-Only",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["Data"]
},
{
"Field": "resources.type",
"Equals": ["AWS::Bedrock::AgentAlias"]
},
{
"Field": "resources.ARN",
"StartsWith": [
"arn:aws:bedrock:REGION:ACCOUNT_ID:agent-alias/PROD_AGENT_ID"
]
}
]
},
{
"Name": "Bedrock-Production-KnowledgeBases-Only",
"FieldSelectors": [
{
"Field": "eventCategory",
"Equals": ["Data"]
},
{
"Field": "resources.type",
"Equals": ["AWS::Bedrock::KnowledgeBase"]
},
{
"Field": "resources.ARN",
"StartsWith": [
"arn:aws:bedrock:REGION:ACCOUNT_ID:knowledge-base/PROD_KB_ID"
]
}
]
}
]
Amazon S3: AI バケットへの書き込み専用
AI 専用バケットへの書き込み操作のみをログに記録することで、Amazon S3 データイベントのボリュームを削減します。不正なデータ転送の検出を優先する場合は、高価値バケットに対して後から読み取り操作を追加できます。
Amazon S3 書き込み専用の高度なイベントセレクター JSON の完全な内容については、セクション 6.2 を参照してください。