生成式 AI 代理與外部工具、API 或服務 (例如 BigQuery、Jira、GitHub 或 Google 地圖) 互動時,需要安全機制來驗證傳出要求。代理身分驗證管理員 (驗證管理員) 會做為集中式憑證保管庫和驗證代理人,簡化外寄工具驗證程序,藉此提供這項功能。
使用驗證管理工具的好處
授權管理工具可為代理程式開發帶來下列好處:
- 集中式憑證保管庫:將 API 金鑰、OAuth 用戶端密鑰和使用者權杖儲存在 Google 代管的保管庫中,有助於避免硬式編碼密鑰和自訂資料庫儲存空間。
- 自動化 OAuth 2.0:處理多步驟 OAuth 2.0 流程,例如使用者同意聲明、授權碼交換和權杖更新,無需自訂後端程式碼。
- 無縫整合 ADK:與 Agent Development Kit (ADK) 原生整合,可擷取及插入外送驗證標頭 (例如
Authorization或X-Goog-Api-Key),用於工具和 Model Context Protocol (MCP) 伺服器呼叫。 - 精細的 SPIFFE ID 存取權控管:使用以 SPIFFE 為基礎的代理身分定義精確的 Identity and Access Management (IAM) 政策,確保只有授權的代理主體和開發人員可以存取特定驗證供應商。
授權管理工具的運作方式
驗證管理員的設計目的是做為憑證保管庫,位於 Gemini Enterprise Agent Platform 環境的 Agent Runtime 與外部服務端點之間。
當代理呼叫外部工具時,ADK 會攔截工具執行作業、向驗證管理員儲存庫要求適當的憑證,並附加必要的驗證標頭,然後將要求傳送至目標 API。
下方的流程圖說明整體架構和憑證擷取生命週期:
- 使用者觸發需要工具驗證的事件或提示。
- 部署的代理程式 (使用 ADK) 會透明地攔截工具要求,並查詢安全授權管理員保管庫。
- 驗證管理工具會將安全憑證 (API 金鑰或 OAuth 權杖) 傳回給代理程式。
- 代理會使用附加的憑證,叫用外部 API 或工具。
- 第三方服務會驗證憑證,並將要求的資料傳回給代理程式。
- 代理程式會使用傳回的資料生成最終回覆,並傳送給使用者。