当生成式 AI 智能体与外部工具、API 或服务(例如 BigQuery、Jira、GitHub 或 Google 地图)互动时,它们需要一种安全机制来对出站请求进行身份验证。智能体身份验证管理器(身份验证管理器)通过充当集中式凭据保险库和身份验证代理来简化出站工具身份验证,从而提供此机制。
使用身份验证管理器的优势
身份验证管理器为智能体开发提供了以下优势:
- 集中式凭据保险库:将 API 密钥、OAuth 客户端 密钥和用户令牌存储在 Google 管理的保险库中,有助于避免 硬编码密钥和自定义数据库存储。
- 自动 OAuth 2.0:处理多步 OAuth 2.0 流程, 例如用户同意、授权代码交换和令牌刷新, 无需自定义后端代码。
- 无缝 ADK 集成:与
智能体开发套件 (ADK) 原生集成,以检索出站
身份验证标头(例如
Authorization或X-Goog-Api-Key)并将其注入到 工具和模型上下文协议 (MCP) 服务器调用中。 - 精细的 SPIFFE ID 访问权限控制:使用基于 SPIFFE 的智能体身份 来定义精确的 Identity and Access Management (IAM) 政策,有助于确保 只有经过授权的智能体主账号和开发者才能访问特定的身份验证 提供方。
身份验证管理器的工作原理
身份验证管理器充当 Gemini Enterprise Agent Platform 环境中的 Agent Runtime 与外部服务 端点之间的凭据保险库。
当智能体调用外部工具时,ADK 会拦截工具执行,从身份验证管理器保险库请求适当的凭据,并附加所需的身份验证标头,然后将请求分派到目标 API。
以下流程图展示了大致的架构和
凭据检索生命周期:
- 最终用户触发需要出站工具身份验证的事件或提示。
- 已部署的智能体(使用 ADK)以透明方式拦截工具请求并查询安全的身份验证管理器保险库。
- 身份验证管理器将安全凭据(API 密钥或 OAuth 令牌)返回给智能体。
- 智能体使用附加的凭据调用外部 API 或工具。
- 第三方服务验证凭据,并将请求的数据返回给智能体。
- 智能体使用返回的数据生成最终响应并将其传送给用户。
后续步骤
- 使用身份验证管理器通过 API 密钥进行身份验证
- 使用身份验证管理器通过双方模式 OAuth 进行身份验证
- 使用身份验证管理器通过三方模式 OAuth 进行身份验证
- 智能体身份概览
- 管理智能体身份验证提供方