为了在人类用户、自主工作负载和外部工具之间强制执行信任边界,而无需依赖服务账号模拟,智能体身份使用三身份委托框架。此框架在您的环境中分离并协调三种不同的身份上下文:
- 用户身份:发起操作的最终用户的身份,通过标准 OAuth 2.0 或 OpenID Connect (OIDC) 以及 Google Identity 或联合员工身份提供方 (IdP) 进行身份验证。
- 智能体身份:已部署智能体的唯一、经过加密认证的 SPIFFE 身份和自动预配的 X.509 证书,代表智能体以自己的权限行事。
- 委托身份:当智能体代表发起操作的人类用户,使用由 Agent Identity 身份验证管理器代理的有范围限制的三足式 OAuth (3LO) 凭证时,所形成的组合权限上下文。
下图展示了用户身份、代理身份和委托身份如何在入站流量、运行时和出站流量信任边界之间进行交互:
在此架构中,用户身份在入站流量期间建立调用方上下文,代理身份在运行时边界内对工作负载进行身份验证,而委托身份则在代理代表用户访问下游服务时结合这两种授权。
身份如何跨信任边界传播
当请求跨越这些信任边界时,平台会评估并传播每个身份层:
- 客户端到代理的入站流量边界(用户身份):人类用户使用 OAuth 2.0 或 OIDC 令牌向客户端应用进行身份验证。当流量通过 Agent Gateway(在
CLIENT_TO_AGENT入站流量模式下)进入时,附加到 Agent Gateway 的授权政策会验证用户身份,以确认用户有权调用目标智能体,并将经过验证的用户上下文转发到运行时。 - Agent Runtime 和凭证代理(Agent Identity):在隔离的运行时环境中,智能体以自己的 SPIFFE 智能体身份运行,并使用自动轮换的 24 小时 X.509 证书。当代理需要下游工具的凭证时,它会使用其代理身份向 Agent Identity 身份验证管理器进行身份验证。
- 自主出站路径(智能体身份):当智能体自行调用 Google Cloud API 或机器对机器端点时,它会使用由双向 TLS (mTLS) 和所有权证明 (DPoP) 强制执行的证书绑定令牌、OIDC ID 令牌或来自身份验证管理器的 2-legged OAuth (2LO) 凭据进行身份验证。 IAM 允许和拒绝政策、Principal Access Boundary (PAB) 政策以及情境感知访问权限政策会严格根据代理身份评估请求。
- 用户委托的出站路径(委托身份):当智能体代表人类用户调用用户范围内的 Model Context Protocol (MCP) 服务器或第三方 API 时,身份验证管理器会代理一个代表委托身份的已同意 3LO 用户令牌。外拨电话受代理的出站流量政策以及委托用户的权限和已同意的 OAuth 范围约束,并且审核日志会同时记录代理身份和用户身份。
身份层比较
下表总结了这三个身份层如何管理访问权限和可审核性:
| 身份层 | 主账号和凭证类型 | 信任边界和政策执行 | 审核日志归因 |
|---|---|---|---|
| 用户身份 | 发起最终用户(Google 账号或员工身份主体)使用 OAuth 2.0 或 OIDC 令牌进行身份验证。 | 客户端到智能体(入站流量):Agent Gateway 授权政策会验证用户是否可以调用智能体并启动会话。 | 将人类用户身份记录为调用代理端点的调用方。 |
| 代理身份 | 使用 SPIFFE X.509 证书(mTLS 和 DPoP)、OIDC ID 令牌或来自身份验证管理器的 2LO 凭据或 API 密钥进行身份验证的自主代理工作负载(代理身份主账号)。 | 智能体到任何位置(出站流量):IAM 允许、拒绝、Principal Access Boundary 和情境感知访问权限政策会强制执行智能体可以自行访问哪些 Google Cloud 资源、身份验证提供方和外部端点。 | 将代理的唯一 SPIFFE 主账号记录为操作身份。 |
| 委托身份 | 代理身份,代表同意的人类用户(Google 账号或员工身份主账号),使用由 Agent Identity 身份验证管理器代理的有范围限制的 3LO 访问令牌。 | 智能体到任何位置(出站):强制执行最小权限交集,即调用必须同时满足智能体的出站治理政策以及委托用户的权限和已同意的 OAuth 范围。 | 记录双重归因,同时捕获代理的 SPIFFE 身份和委托的人类用户。 |