情境感知访问权限代理的安全性

本文档介绍了情境感知访问权限如何通过在 Gemini Enterprise Agent 平台内强制执行双向 TLS (mTLS) 和演示所有权证明 (DPoP) 身份验证和授权,来支持 Gemini Enterprise Agent 平台内的端到端安全性。

在 Gemini Enterprise Agent Platform 中,Agent Gateway预览版)可以管理所有智能体到智能体以及智能体到任何位置的交互的内嵌访问权限控制。

情境感知访问权限默认处于启用状态,它会强制受代理网关管理的代理使用以下方法进行身份验证 (authn) 和授权 (authz) 安全:

  • 双向 TLS (mTLS):为了帮助保护访问代理网关的代理,情境感知访问权限和 IAP 通过验证基于证书的令牌绑定来强制代理使用 mTLS

  • 演示所有权证明 (DPoP):为了帮助保护访问智能体网关以外服务的智能体,情境感知访问权限会使用 DPoP 来强制验证智能体身份是否有效。

当代理网关停用时,代理可以通过 mTLS 直接访问Google Cloud API。不过,当代理网关处于启用状态时,网关会终止 mTLS,因此必须使用 DPoP。

通过强制执行 mTLS 和 DPoP,情境感知访问权限可提供基准的端到端安全性,并有助于防范凭据盗窃和账户接管(攻击)(ATO)。情境感知访问权限政策强制执行有助于确保遭入侵的令牌在预期可信的运行时之外毫无用处。情境感知访问权限强制执行凭据绑定,有助于确保不同 Gemini Enterprise Agent Platform Runtime 租户之间的凭据隔离。

主要概念

以下概念对于了解情境感知访问权限如何使用 mTLS 和 DPoP 强制执行代理与资源交互的安全性至关重要。

  • 代理身份池:一种资源和配置分组,用于管理一组特定代理的安全凭据和密钥。

  • 授权 DPoP 证明:由代理身份在最初为代理分配身份时生成的加密证明。

  • 与证书绑定的工作负载访问令牌:一种以加密方式与代理的 X.509 证书绑定的令牌。此令牌用于通过 Google Cloud API(包括代理网关)对代理进行身份验证,以实现对资源进行 mTLS 访问。情境感知访问权限 (CAA) 政策通过验证此绑定来强制使用双向 TLS (mTLS)。验证可确保令牌仅供在预配环境中运行的代理(例如 Cloud Run 容器)使用。

  • 演示所有权证明 (DPoP):代理在通过代理网关后必须使用的协议,以便通过 Google Cloud API 向资源进行身份验证并访问资源。与双向 TLS 进行比较。DPoP 基于 RFC 9449

  • DPoP 密钥管理:底层代理身份池已预配必要的公钥/私钥对,以支持 DPoP 操作。

  • 与 DPoP 绑定的授权令牌:平台还会将授权令牌绑定到代理。此令牌与代理的证书相关联,并使用由代理身份管理的密钥对进行签名,从而支持 DPoP。情境感知访问权限会强制执行此 DPoP 令牌的存在性和有效性,以确认调用方拥有关联的私钥。

  • 双向 TLS:代理身份用于访问Google Cloud API(包括访问代理网关)的身份验证协议。 与 DPoP 进行比较。

  • 资源 DPoP 证明:由代理网关生成并提供给 Google CloudAPI 的加密证明。

  • SPIFFE 身份:部署后,每个代理都会自动获得一个唯一的、可进行加密验证的身份,该身份遵循 SPIFFE(Secure Production Identity Framework For Everyone,面向所有人的安全生产身份框架)框架。SPIFFE 为云原生环境中的联合服务身份提供了一个框架。

  • X.509 证书:代理的容器会收到由 Google 管理的信任网域颁发的 X.509 证书,该证书表示其 SPIFFE 身份。此证书用于帮助建立安全的通信渠道。

通过代理网关强制执行情境感知访问权限

Agent Platform 使用情境感知访问权限来强制执行从代理身份到代理网关以及从代理网关到资源之间的内嵌安全性。情境感知访问权限是以下工作流程的一部分。

代理部署

  1. 代理部署在 Gemini Enterprise Agent Platform Runtime 上。

  2. Agent Identity 会自动预配以下内容:

    • 包含密钥对的代理身份池

    • 池中的代理工作负载,具有以下特征:

      • 唯一的 SPIFFE 身份

      • 一种唯一的签名证书绑定工作负载访问令牌,其中包含加密的授权 DPoP 证明

使用 mTLS 实现代理到代理网关访问

  1. 当代理使用 mTLS 访问 Google Cloud API 时,代理必须通过代理网关。在这种情况下,mTLS 会在代理和代理网关之间提供安全信道。

  2. 情境感知访问权限会验证代理是否已预配与证书绑定的令牌,以及是否正在使用 mTLS。

  3. 代理网关会检查代理是否获准访问资源。

    代理网关使用 IAP 检查代理的 IAM 允许政策。如果目标资源上的 IAM 允许政策允许代理尝试访问,则代理网关允许代理调用 Google CloudAPI。

    不过,由于 mTLS 在代理网关处终止,因此当代理尝试访问Google Cloud API 时,必须使用 DPoP 重新对代理进行身份验证。

使用 DPoP 实现智能体网关到资源的访问

  1. 为了启用 DPoP,代理网关使用 IAP 生成资源 DPoP 证明。代理网关将资源 DPoP 证明传递给 Google Cloud API。

  2. 代理尝试访问 Google Cloud API。

  3. 情境感知访问权限会以加密方式验证授权 DPoP 证明和资源 DPoP 证明是否是使用代理身份池中的同一私钥生成的。

  4. 如果情境感知访问权限验证了这两个 DPoP 证明,则允许代理通过 Google Cloud API 访问资源。

停用 CAA 政策强制执行功能

在某些情况下,您可能需要选择不强制执行情境感知访问权限政策。例如,您可能对代理之间的令牌共享有特定要求。

如需停用 CAA 政策强制执行功能,请设置以下环境变量:

GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES=False

后续步骤