AxoniusがAmazon Bedrock AgentCoreで実現するセキュアなマルチテナントAIエージェント構築の深掘り
Amazon Bedrock AgentCoreを用いたマルチテナントAIエージェントの課題と解決策
Axoniusは、Amazon Bedrock AgentCoreを活用して、安全なマルチテナントAIエージェントを構築する際のアーキテクチャ上の課題に取り組んでいます。SaaSプロバイダーがマルチテナントのAIエージェントアプリケーションを構築する場合、セキュリティ、ガバナンス、応答の正確性といった一般的な懸念事項に加え、テナント分離、テナントID管理、データ分離、コスト配分、ノイジーネイバー問題といった固有の課題に直面します。特に、あるテナントのために動作しているエージェントが、意図せず別のテナントのデータにアクセスしてしまうことを防ぐことは極めて重要です。一度データがモデルのコンテキストに入ってしまうと、その後のチェックで回復することは困難であり、プロンプトインジェクションのような攻撃によって、モデルが読み取ったテキストとユーザーが作成したテキストの区別がつかなくなり、不正な指示に従ってしまうリスクもあります。
Amazon Bedrock AgentCoreは、このような課題に対応するために設計されたマネージドサーバーレスサービスです。エージェントのデプロイとModel Context Protocol (MCP) サーバーのホスティングのための構造を提供し、ID管理、メモリ、可観測性、評価のサポートを組み込み、マルチテナントエージェントアーキテクチャの構築を簡素化します。Axoniusは、厳格なコンプライアンス要件を満たすため、エージェントへのAPIコールが開発者のラップトップや公開エンドポイント、または制御されたVPC境界外のネットワークから行われることを禁止しています。これにより、エージェントのセキュリティが物理的にも論理的にも強化されています。
厳格なテナント分離を実現するアーキテクチャ詳細
Axoniusが採用するマルチテナントAIエージェントのアーキテクチャは、厳格なテナント分離を念頭に置いて設計されています。中心となるのは、以下のコンポーネント連携です。
-
ツールの構築: 各ツールは、通常、小さなLambda関数として実装されます。これらのツールは、テナント固有のパラメータを直接受け取らず、データ分離のロジックを上流に委ねることで、ツール自体の複雑性を低減します。
-
テナントクレームを含むトークンの発行: Amazon CognitoのようなIDプロバイダーを使用して、各ユーザーにカスタム属性(例:
custom:tenant)としてテナント識別子を含むJWT(JSON Web Token)を発行します。 -
AgentCore GatewayでのMCPサーバーホスティング: AgentCore Gatewayは、MCPプロトコルとカスタムJWTオーソライザーを設定してMCPサーバーをホストします。このオーソライザーは、発行されたJWTトークンを検証し、認証済みリクエストを許可します。ツールLambdaは、このGatewayのターゲットとして登録されます。
-
リクエストインターセプターによる分離の強制: AgentCore Gatewayは、標準ではJWTクレームをツールLambdaに直接渡さず、ツールメタデータのみを渡します。このため、テナント分離を強制するために、特別なリクエストインターセプターLambdaを導入します。このインターセプターは、JWTクレームを受け取り、その情報に基づいて、リクエストが最終的なツールLambdaに到達する前に、テナント固有のデータアクセスフィルタリングを適用します。
-
データ分離パターン:
- 行レベルセキュリティ (RLS): 構造化データ(例: DynamoDBなどのデータベース)に対して、行レベルでアクセスを制御し、エージェントが自身のテナントに関連するデータのみにアクセスできるようにします。
- メタデータフィルタリング: 非構造化データ(例: Amazon Bedrock Knowledge Bases)の場合、ドキュメントに付与されたメタデータ(テナントIDなど)に基づいてフィルタリングを行い、関連性のないデータをエージェントのコンテキストから除外します。
- プールモデル: 複数のテナントが共通のデータストアを共有する「プール」モデルを採用し、テナント識別子(トークンのテナントクレーム)に基づいてアクセス制御を厳密に適用します。
この多層的なアプローチにより、エージェントが誤って、または悪意のあるプロンプトによって、他のテナントのデータにアクセスすることを確実に防ぎます。
データ保護とプロンプトインジェクション対策
AIエージェントにおけるデータ保護は、マルチテナント環境のSaaSプロバイダーにとって最優先事項です。Axoniusのアプローチは、「Defense-in-Depth(多層防御)」の原則に基づいています。エージェントがどのツールを、どの引数で、どの順序で呼び出すかをリアルタイムで決定するため、事前にすべての呼び出しシーケンスをレビューすることはできません。この動的な性質が、データアクセスのリスクを高める可能性があります。
しかし、AgentCore GatewayのJWTオーソライザーとカスタムリクエストインターセプターの組み合わせは、エージェントがデータに到達する各段階で、他のテナントのデータにアクセスできないことを保証します。リクエストインターセプターは、モデルが生成した呼び出し引数を評価し、JWTクレーム内のテナント情報に基づいて、データストアへのアクセス要求をフィルタリングします。これにより、モデルが誤って、またはプロンプトインジェクションによって誘導された場合でも、不正なデータアクセスはゲートウェイレベルで阻止されます。
さらに、Axoniusは、Amazon VPC内にAIエージェントのランタイム環境を隔離することで、ネットワークレベルでのセキュリティを強化しています。これにより、外部からの不正アクセスやデータ流出のリスクを最小限に抑え、企業コンプライアンス要件を満たすセキュアな運用環境を実現しています。
開発者・エンジニア視点での考察
-
リクエストインターセプターLambdaの実装は、AgentCore Gatewayのデフォルトオーソライザーだけでは不足する、ツール呼び出しに対するきめ細やかなテナント認識型アクセス制御を実現するために不可欠である。これにより、モデルが生成する引数に対してもデータ分離ロジックを適用できる柔軟性が得られます。
-
行レベルセキュリティとメタデータフィルタリングを組み合わせた「プール」分離モデルは、テナントごとにインフラストラクチャを分離する「サイロ」モデルと比較して、コスト効率が高くスケーラブルなマルチテナントアプローチを提供します。しかし、これはアクセス制御ポリシーの細心の設計と実装を要求し、潜在的な「ノイジーネイバー」問題やコスト配分を管理するための追加ロジックが必要となる可能性があります。
-
コンプライアンス要件としてVPC制御下のAPIアクセスが義務付けられている場合、開発者はパブリックエンドポイントへの露出を避け、エージェントのAPI呼び出しが制御されたVPC境界内でのみ行われるよう、ネットワークアーキテクチャとデプロイ戦略を慎重に計画する必要があります。これにより、開発・テスト環境と本番環境間のデプロイパイプラインの複雑さが増す可能性があります。
Source / 元記事
この記事について
この記事は、公開されているニュース、論文、公式発表、RSSフィードなどをもとに、AIが要約・補足調査・考察を行って作成しています。
元記事の完全な翻訳・逐語的な要約ではなく、AIによる背景説明や開発者向けの考察を含みます。
重要な技術仕様・価格・提供状況などは、必ず元記事または公式情報をご確認ください。


