s R es erv ed. マルチテナントの課題 テナントコンテキスト Pub lic SaaS 環境全体で使用されるテナントに関する重要な情報(※1) • テナントID o テナントの固有識別子 • テナントティア o standard, premiumなど • etc ※1 http://docs.aws.amazon.com/ja_jp/whitepapers/latest/saas-architecture-fundamentals/saas-identity.html
s R es erv ed. マルチテナントの課題 うるさい隣人問題 プールされているリソース • 特定のテナントがリソースを大きく使用 • テナント間の不公平・リソース枯渇 • システム全体の不安定化 対処 • 使用量の監視 o 閾値を超えた際のスロットル o レイトリミットの実装 o 閾値を超えたらティアを変更する • キューを使った制御 • オートスケーリングの導入 Pub lic
s R es erv ed. マルチテナントの課題 テナントごとのオブサーバビリティ Pub lic 通常のメトリクスではテナントはファーストクラスの指標ではない メトリクスにテナントコンテキストを含める必要がある その上で、テナントを加味したダッシュボードを作成する https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/saas-lens/tenant-insights.html
s R es erv ed. テナントコンテキストの伝播 AI Agent では 代理実行 パターンを使う Pub lic ホップ毎に Token Exchange を行う代理実行パターンで認証・認可情報をつたえる 代理実行パターンによって、最小権限の原則を守り、セキュリティを高く保つ AIエージェント A AIエージェント B サービス A
s R es erv ed. AgentCore Memory AgentCore Memory Pub lic AIエージェントに過去のインタラクションを記憶する機能を提供するフルマネージドサービス 短期的なコンテキストと長期的な知識の保持の両方をシンプルかつ強力に処理可能 https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/memory.html
s R es erv ed. AgentCore Memory AgentCore Memory Pub lic AgentCore Memoryにはユーザーとの会話履歴が保存される ユーザー、テナント固有の情報も含まれる可能性がある データ層としてデータパーティショニングやテナント分離がとても重要 テナント A ユーザー A メモリー テナント A ユーザー B メモリー テナント B ユーザー C メモリー
s R es erv ed. AgentCore Memory Memoryのデータパーティショニング Long Term Memory namespaceで論理分離 namespaceにテナントコンテキストを含める actorId=${tenantId}:${userId} namespace=/strategy/{memoryStrategyId}/a ctor/{actorId} Pub lic Short Term Memory actorId, sessionIdで分離 actorIdにテナントコンテキストを含める 例: actorId=${tenantId}:${userId}
s R es erv ed. AgentCore Memory Memoryのテナント分離手順 Pub lic • IAM Roleに付与するPermisson Policyを定義 • IAM Roleに付与するTrust Policyを定義 o ① assumeRoleの呼び出し許可 o ② SessionTag付け許可 • STSでTagを付与してassumeRoleを実行 • 一時クレデンシャルを用いたMemoryへのアクセス
s R es erv ed. AgentCore Memory Memoryのテナント分離 Pub lic Permisson Policy の Condition でテナントの条件をつける STSのassumeRole のタグでテナントコンテキストを指定 assumeRole で取得した一時クレデンシャルでアクセス 上記でテナント分離を実現 テナント A ユーザー A メモリー テナント B ユーザー B メモリー テナント A ユーザー A
s R es erv ed. AgentCore Gateway AgentCore Gateway Interceptor Pub lic Gatewayのrequestとresponseに対して介入することができる https://aws.amazon.com/jp/blogs/news/apply-fine-grained-access-control-with-bedrock-agentcore-gateway-interceptors/
s R es erv ed. AgentCore Gateway mcpリクエストへのInterceptorでの介入 Pub lic どのタイミングで介入するかを考える • tools/list o 使用して良いToolとして返却される前にFilterしたい -> Response • tools/call o Toolが実行される前に阻止したい -> Request
s R es erv ed. AgentCore Gateway AgentCore Gateway Interceptor による制御 Pub lic Gateway Interceptorでの制御を以下のように整理する • Request Interceptor o tools/callに対して介入する o テナントでツール実行が許可されているか確認し、実行を制御する • Reponse Interceptor o tools/listに対して介入する o テナントに許可されたツールか確認し、フィルターした結果を返却する
s R es erv ed. AgentCore Gateway AgentCore Gateway Interceptor の 制御 Pub lic 呼び出し制御 • listTools o Response Interceptorにてテナントに許されたツールのフィルターをかける • InvokeTool o Request Interceptorでテナントのツール呼び出し許可を確認し、実行を制御する
s R es erv ed. 注意事項 想定ユースケース Pub lic SaaSで契約しているテナントごとの接続先を考える テナント A: サービスA, サービスB テナント B: サービスA 同じサービスでもテナントごとに Client IdとClient Secretは異なる テナント x サービスの数だけ credential providersが必要 テナントA テナントB サービス A サービス B サービス A
s R es erv ed. 注意事項 テナントごとにサービスにOAuthでアクセスする Pub lic Quotasを考慮すると現時点ではテナントそれぞれが、 外部サービスにOAuthで接続することは難しい.... ワークアラウンド 下記どちらも未検証ですが、考えうる選択肢として... • 1 AWS アカウント 1 テナントのフルスタックサイロ構成 o 少数テナントの間は良いが、テナント数が増えると... o クロスアカウントの制約で何か問題が起きないか... • credential providersと同様の機能を自作する o とはいえ、Workload identitiesのquotasは引き続き問題となる...
s R es erv ed. まとめ Pub lic • サービスの要件に合わせてリソースごとにプール / サイロ どちらにするか決める • マルチテナントの各種の課題にテナントコンテキストを用いて対処する o データパーティショニング o テナント分離 • テナントコンテキストを含めたJWTはそのままSaaS全体に流すことはしない o なりすましパターンではなく代理実行パターンでトークンを流す • AgentCoreのquotasをよく確認し、サービスの要件に適うか判断する • amazon-bedrock-agentcore-samples サンプルがとても参考になる まとめ
s R es erv ed. 参考資料 re:Invent 2025 Pub lic • Integration patterns for multi-tenant systems (SAS312) • Building multi-tenant SaaS agents with Amazon Bedrock AgentCore (SAS407) • Transforming from SaaS to multi-tenant agentic SaaS (SAS304) • Using GenAI to profile, scale, and optimize your multi-tenant SaaS architecture • sample-saas-multi-agents-workshop • Workshop Next-gen agentic SaaS: Transforming to an agent-powered experience
s R es erv ed. 参考資料 SaaS Pub lic • Rethinking SaaS in the Agentic Era - Whitepaper • SaaS アーキテクチャの基礎 AWS ホワイトペーパー • Building multi-tenant architectures for agentic AI on AWS • AWS Well-Architected フレームワーク SaaS レンズ