AI News HubLIVE
站內改寫2 分鐘閱讀

使用Amazon Bedrock AgentCore構建多租户代理

本文探討了使用Amazon Bedrock AgentCore構建多租户代理應用程序的設計考慮因素,包括租户隔離模式、身份管理、數據隔離和成本歸屬等架構挑戰。

來源AWS Machine Learning Blog作者: Dhawalkumar Patel

軟件即服務(SaaS)提供商在構建多租户代理應用程序時,面臨着超越安全、治理和響應準確性等典型問題的架構挑戰,包括租户隔離、租户身份、租户可觀測性、數據隔離、成本歸屬和嘈雜鄰居緩解。從工作演示到生產部署的差距需要為多租户環境構建的基礎設施。

Amazon Bedrock AgentCore是一個託管的無服務器服務,用於在AWS上構建、部署和安全運營代理應用程序。它提供了部署代理和託管MCP服務器的構造,內置了對身份管理、內存、可觀測性和評估的支持,所有這些都旨在使多租户代理架構易於構建。

本文是該系列博客的第一部分,探討了使用Amazon Bedrock AgentCore構建多租户代理應用程序的設計考慮因素以及解決SaaS架構挑戰所需的框架。

構建安全的多租户代理應用程序需要跨關鍵組件的仔細架構決策。每個組件必須在租户隔離、運營效率和成本優化之間取得平衡,同時保持安全和合規標準。這些設計考慮圍繞三種租户隔離模式:Silo、Pool和Bridge,分級策略是選擇模式時的關鍵考慮因素。

  1. 代理運行時部署:專用與共享。多租户代理架構中的一個關鍵決策是代理運行時相對於租户的配置方式。每個租户的專用運行時實例化一個單獨的執行環境,提供最強的嘈雜鄰居保護和簡化的合規審計。共享運行時將所有租户的代理託管在同一個容器鏡像和進程池中,降低基礎設施成本和運營開銷,但需要嚴格的進程內租户上下文傳播。Amazon Bedrock AgentCore運行時通過基於會話隔離的微VM計算解決了這一矛盾,每個會話攜帶自己的持久文件系統,減少跨會話數據泄露的風險。
  1. 共享模型與分等級模型與微調模型。共享基礎模型(FM)是大多數多租户部署的推薦起點,提供單一模型維護的簡化運營。按租户等級選擇模型允許靈活性和平衡成本、性能和準確性。租户特定的微調模型對於需要特定術語、法規合規或性能SLA的用例是必要的,但會引入更高的運營複雜性。混合方法有助於平衡成本效率和定製需求。
  1. 工作流:Silo、Pool和Bridge模式。多租户代理應用程序需要靈活的工作流管理,其中每個代理根據租户要求和業務邏輯執行不同的步驟序列。Silo模式使用專用的租户特定技能,提供最大定製和完全獨立性。Pool模式使用共享的代理技能。Bridge模式將通用工作流步驟嵌入共享的代理技能,這些技能在運行時調用特定於租户的技能,以實現業務關鍵邏輯。
  1. 多租户RAG。檢索增強生成(RAG)系統需要數據隔離決策。Silo模式使用每個租户專用的向量數據庫,提供最大安全性。Pool模式使用共享向量數據庫和基於元數據的租户過濾,支持服務許多中小型租户的SaaS平台的成本高效運營。Amazon Bedrock知識庫提供完全託管的RAG能力,支持創建隔離或共享的向量數據庫。
  1. 租户上下文、代表行為模式與令牌傳播。多租户身份管理需要在服務鏈中仔細處理租户上下文。與確定性的軟件API不同,AI代理是非確定性的且可能自主,這使得安全考慮有所不同。建議使用代表行為(委託)模式,實現真正的委託,令牌在每個服務邊界被轉換,具有範圍限制的憑證。AgentCore身份中的代表令牌交換使代理能夠代表經過身份驗證的用户訪問受保護的資源。
  1. MCP工具和API的細粒度訪問控制。多租户代理應用程序需要使用策略限制MCP服務器訪問,在工具調用層進行細粒度訪問控制,並在數據訪問層進行租户隔離。AgentCore策略在允許工具訪問之前攔截並評估所有代理請求,提供基於用户身份和工具輸入參數的細粒度控制。

總之,使用Amazon Bedrock AgentCore構建多租户代理需要綜合考慮運行時部署、模型選擇、工作流設計、RAG策略、身份管理和訪問控制等方面,以構建安全、可擴展且高效的SaaS代理應用。