Agent Identity Auth Manager 概览

当生成式 AI 代理与外部工具、API 或服务(例如 BigQuery、Jira、GitHub 或 Google 地图)互动时,需要一种安全机制来对出站请求进行身份验证。代理身份验证管理器(身份验证管理器)通过充当集中式凭据保险库和身份验证代理来简化出站工具身份验证,从而提供此功能。

使用身份验证管理器的优势

身份验证管理器可为智能体开发提供以下优势:

  • 集中式凭据保险箱:在 Google 管理的保险箱中存储 API 密钥、OAuth 客户端密钥和用户令牌,有助于避免硬编码密钥和自定义数据库存储。
  • 自动 OAuth 2.0:无需自定义后端代码即可处理多步 OAuth 2.0 流程,例如用户同意、授权代码交换和令牌刷新。
  • 无缝 ADK 集成:与智能体开发套件 (ADK) 原生集成,以检索和注入出站身份验证标头(例如 AuthorizationX-Goog-Api-Key),从而调用工具和 Model Context Protocol (MCP) 服务器。
  • 精细的 SPIFFE ID 访问权限控制:使用基于 SPIFFE 的代理身份来定义精确的 Identity and Access Management (IAM) 政策,有助于确保只有经过授权的代理主账号和开发者才能访问特定的身份验证提供方。

身份验证管理器的运作方式

身份验证管理器旨在充当凭据保险库,位于 Gemini Enterprise Agent Platform 环境中的 Agent Runtime 与外部服务端点之间。

当代理调用外部工具时,ADK 会拦截工具执行,从身份验证管理器保险库请求相应的凭据,并在将请求分派到目标 API 之前附加所需的身份验证标头。

以下流程图展示了高级别的架构和凭据检索生命周期: 出站凭据检索架构图。

  1. 最终用户触发需要进行出站工具身份验证的事件或提示。
  2. 部署的代理(使用 ADK)会透明地拦截工具请求并查询安全身份验证管理器保险库。
  3. 身份验证管理器将安全凭据(API 密钥或 OAuth 令牌)返回给代理。
  4. 代理使用附加的凭据调用外部 API 或工具。
  5. 第三方服务验证凭据,并将请求的数据返回给代理。
  6. 代理使用返回的数据生成最终回答并将其提供给用户。

后续步骤