AIエージェントの記憶アクセスをFGACで統制:マルチテナント環境における情報漏洩対策
本記事は、マルチテナント環境で動作するAIエージェントが、ユーザーごとの記憶(Memory)に安全にアクセスするための高度なセキュリティアーキテクチャについて解説しています。従来のAgentCore Memoryは、データプレーンの認証がSigV4(IAMロール)に依存するため、複数のエンドユーザーが同一のバックエンドを介してアクセスする場合、Memory側は呼び出し元をバックエンドのIAMロールのみとして認識し、どのエンドユーザーのためのリクエストかを区別できません。このため、データ分離はアプリケーションコードが正しいユーザーID(actorId)を渡すことに全面的に依存しており、動的なアクセスやプロンプトインジェクションによる情報漏洩リスクが指摘されています。
この課題を解決するのが、「AgentCore Memory connector」と「FGAC(Fine-Grained Access Control)」の組み合わせです。この構成では、リクエストを「AgentCore Gateway」を経由させることで、セキュリティ制御をアプリケーションコードの外側、すなわちGatewayのポリシーエンジンに委ねます。Gatewayは、OpenID Connectで認証されたJWTトークンを基に、Cedarというオープンソースの認可ポリシー言語を用いてアクセスを評価します。
FGACの最大の利点は、単なるユーザーIDの一致強制(IAMセッションタグ方式)に留まらず、リクエストのパスパラメータやボディ内の特定のフィールド(例:metadataやfilter)といった、より詳細なコンテキスト情報に基づいてアクセスを制御できる点です。これにより、例えば「特定のクライアントIDを持つアプリケーションからの書き込み操作のみを許可する」といった、極めて細かいルール設定が可能になります。また、従来のIAMセッションタグ方式が、ユーザーごとに一時的なAWS資格情報の管理をエージェントランタイムに要求するのに対し、Gateway方式ではランタイムは不透明なBearerトークンを転送するだけで済み、アーキテクチャの複雑性を大幅に低減させています。この仕組みにより、正規にサインインしたユーザーであっても、ポリシーに違反するアクセスはGatewayの段階で完全に遮断されるため、安全性が飛躍的に向上します。
背景
AIエージェントがユーザーの個人情報や会話履歴といった「記憶(Memory)」を利用する際、複数のユーザーが同じシステムを共有するマルチテナント環境でのデータ分離が最大の課題です。従来のIAMベースのアクセス制御では、呼び出し元がバックエンドの共通ロールに集約されるため、ユーザーごとの厳密な権限分離が困難であり、情報漏洩のリスクが高まっていました。
重要用語解説
- AgentCore Memory: Amazon Bedrockが提供する、エージェントがユーザーごとの会話履歴や知識を長期的に保持・参照するための機能。マルチテナント環境でのデータ分離が課題となる。
- FGAC (Fine-Grained Access Control): きめ細かいアクセス制御の略。リクエストのパスやボディ内の特定の属性(metadataなど)まで評価し、アクセスを許可するかどうかを判断する高度なセキュリティ機構。
- Cedar: オープンソースの認可ポリシー言語。FGACの核となるもので、複雑なビジネスロジックに基づいた「誰が、何を、どのコンテキストでできるか」というルールを記述するために使用される。
今後の影響
本技術の導入は、マルチテナントAIエージェントのセキュリティ標準を大きく引き上げます。開発者は、複雑な資格情報管理(STS呼び出しなど)から解放され、単一のトークンとポリシー定義のみで、極めて高いレベルのデータ分離を実現できます。これにより、より安全でスケーラブルなエンタープライズ向けAIソリューションの構築が可能となり、AIサービスの信頼性向上に直結します。