Google Cloud 中的多代理专用网络模式

Last reviewed 2026-04-16 UTC

本文档提供了一些指导,可帮助您设计私有网络基础架构,以支持可公开访问的多代理 Gemini Enterprise 应用,该应用在代理、子代理和工具之间建立私密连接。此网络设计可为托管在 Vertex AI Agent Engine、Cloud Run、Google Kubernetes Engine (GKE)、本地数据中心或其他云平台中的代理提供专用连接。该设计还支持连接到在互联网位置运行的代理。

多智能体 AI 系统通常涉及组织敏感数据或专有数据。通过专用网络,您可以避免将此流量公开给公共互联网。此设计使用 Google Cloud 网络基础设施、虚拟私有云 (VPC) 网络资源和专用连接来连接本地环境或跨云网络。

在本文档介绍的设计中,智能体使用 Agent2Agent (A2A) 协议和 Model Context Protocol (MCP) 与其他智能体和工具进行通信。通过 VPC 网络路由通信,使通信成为私密通信。为了将流量移入和移出 VPC 网络,此设计结合使用了 Private Service Connect 端点、Private Service Connect 接口和 Cloud Run Direct VPC 出站流量。Cloud Next Generation Firewall (Cloud NGFW) 可控制通过 VPC 网络的流量。其他安全层通过使用 Secure Web Proxy 提供受控的互联网出站流量,并通过使用 VPC Service Controls 边界提供 API 服务访问政策。

本文档的目标受众群体包括构建和管理云 AI 基础设施和应用的架构师、开发者和管理员。本文档假定您对 AI 代理和模型有基本的了解,并且熟悉 Google Cloud 网络概念。

多代理设计模式

多智能体 Gemini Enterprise 应用需要一个自定义智能体作为编排器或智能体,用于连接工具和子智能体。为了实现与托管在Google Cloud 或本地环境中的工具和子代理的专用连接,该设计使用具有专用 IP 地址的 VPC 网络。根代理托管在 Google 的基础架构中,使用 Agent Engine、Cloud Run 或 GKE。多智能体设计模式突出了这些互动:

  1. Gemini Enterprise 应用与自定义根代理交互 Gemini Enterprise 应用提供了一个受管理的用户界面,其中包含内置的安全功能,可公开自定义智能体功能。自定义根代理已向 Gemini Enterprise 注册,并且已在应用中向最终用户提供。自定义根代理充当顶级工作流编排器,并将专业任务委托给子代理。此架构使用托管在 Vertex AI Agent Engine、Cloud Run 或 GKE 上的自定义根代理。
  2. 根代理与子代理和工具互动。AI 系统工作流和业务逻辑的核心位于根智能体和专用子智能体中。代理框架、运行时和托管平台的灵活性允许通过 VPC 网络将根代理连接到子代理和工具。通过在此部分架构中使用 VPC 网络,代理可以使用您定义的专用网络路径,这些路径可公开其他专用端点、企业安全控制措施和更广泛的网络可访问性。

多代理网络架构的简要概览。

该架构包括以下组件:

  • Gemini Enterprise 应用:供用户访问应用内聊天界面并与多智能体 AI 系统互动的前端。用户可以通过公共互联网访问 Gemini Enterprise 应用,也可以通过混合连接以私密方式访问。
  • 自定义代理:使用 Gemini Enterprise 构建和注册并托管在 Vertex AI Agent Engine、Cloud Run 或 GKE 上的根代理。这些根代理充当编排器,将任务委托给子代理。
  • VPC 网络:一种由您控制的资源,可为代理提供与专用端点的 IP 网络连接,并扩大网络覆盖范围。VPC 网络提供了一个平台,用于为代理对其他代理和工具的请求实现专用连接和网络安全控制。
  • 子智能体:由根智能体工作流触发的专业智能体。子代理使用 A2A protocol 进行通信,该协议可实现代理之间的互操作性,而无需考虑编程语言和运行时。
  • 工具:公开服务(例如 API、数据源和工作流函数)的远程系统。这些工具可为代理提取数据并执行操作或交易。工具位于智能体外部,智能体通过使用 MCP 规范来连接工具并与之互动。

这种高级多智能体设计模式突出了多智能体 AI 系统中的网络组件。它可以支持许多不同的代理到代理路由模式。如需了解其他 AI 系统设计模式,请参阅为您的智能体 AI 系统选择设计模式

共享 VPC

多代理设计模式使用共享 VPC 来集中网络和安全权限与责任。此设计为开发者提供了有助于满足组织安全需求的环境。我们建议您使用共享 VPC 来集中简化网络和安全配置。

共享 VPC 架构中,宿主项目包含共享网络资源,包括 VPC 网络、Cloud Router、子网、防火墙和 Cloud DNS。管理员可以授予服务项目使用这些资源的权限。服务项目包含代理运行时资源,包括 Vertex AI Agent Engine、Cloud Run、GKE、Gemini Enterprise 和特定于应用的负载平衡器。

共享 VPC 可在网络和安全管理员角色与 AI 应用开发者角色之间强制执行明确的边界:

  • 网络和安全管理员控制核心基础架构,例如 VPC 路由、子网、DNS 对等互连和防火墙政策。
  • AI 应用开发者可以在附加的服务项目中构建代理,而无需具备修改底层网络基础设施的权限。

在宿主项目中集中部署网络和安全功能后,您就可以通过一个管理点来管理代理到代理以及代理到服务的通信。这种设计简化了在许多不同服务项目中实施安全政策的过程,同时确保了连接的一致性。

您可以使用 Network Connectivity Center (NCC) VPC spoke 将共享 VPC 网络添加为工作负载 VPC 网络,从而将共享 VPC 网络纳入 跨云网络。此实现可为共享 VPC 提供对 NCC hub 路由的完全可达性,并提供从其他 spoke 到服务接入点的连接。

从自定义根代理发起的请求使用客户管理的专用 VPC 网络,为子代理、工具和服务提供安全的网络路径。VPC 网络路由决定了专用端点的可达性。应用于 VPC 网络的 Cloud NGFW 政策用于控制网络访问权限。

代理可安全访问专用 VPC 网络路径,包括与以下各项的连接:

  • 其他 VPC 网络(通过 VPC 网络对等互连、多 NIC 设备或 NCC)。
  • 用于访问提供方服务的 Private Service Connect 端点。
  • 具有专用 IP 地址的 Cloud SQL 等受管理的服务。
  • 内部负载均衡器前端和 Compute Engine 资源。
  • 通过专用 Google 访问通道或 Private Service Connect 访问 Google API。
  • 通过 Secure Web Proxy 控制的互联网。
  • 使用 Cloud Interconnect、Cloud VPN、路由器设备或 SD-WAN 实现混合云和跨云目标。
  • 可通过 VPC 网络 IP 路由访问的任何端点目标位置。
  • 其他 AI 智能体、工具和支持服务。

如需详细了解共享 VPC,请参阅以下资源:

Gemini Enterprise 网络

Gemini Enterprise 应用是受管理的资源,在 VPC 网络外部但在 Google 网络内的托管环境中运行。以下部分介绍了用户与 Gemini Enterprise 应用之间的网络配置,以及应用与代理之间的网络配置。

用户与 Gemini Enterprise 应用的对话

用户通过基于浏览器的应用与 Gemini Enterprise 应用对话,该应用会将请求发送给 Google API 和服务。如需启用专用用户连接,您可以配置 Google API 网址以解析为通过 VPC 网络路由的专用 IP 地址范围。如需了解详情,请参阅配置专用界面访问权限

Gemini Enterprise 应用到自定义代理

您需要向 Gemini Enterprise 发现服务注册自定义代理。注册代理时,Gemini Enterprise 会将代理的名称映射到特定目标,即 Vertex AI Agent Engine 资源 URIA2A 代理网址。Gemini Enterprise 应用具有内置的对话界面,称为助理。当用户使用 @agent_name 指定代理时,或者当助理决定委托时,应用会在注册表中查找代理以找到关联的端点。

向 Gemini Enterprise 注册根代理后,您可以将该代理部署为自定义代理,并将其部署到任何位置。Vertex AI Agent Engine 和 Cloud Run 上的自定义代理可以使用现有的专用网络路径,而无需配置额外的网络资源。如需在 GKE 上部署自定义代理,您必须使用外部网关公开服务。如需了解如何配置外部网关以提高安全性,请参阅本文档后面的 GKE 网络

为了向自定义代理发出请求,Gemini Enterprise 使用 Vertex AI Discovery Engine 服务账号身份。网络路径和授权机制因您使用的托管平台而异:

  • Vertex AI Agent Engine 上的自定义代理:Vertex AI Discovery Engine 服务代理包含必要的 Vertex AI Identity and Access Management (IAM) 角色,可作为内置功能调用 Vertex AI Agent Engine 资源。系统会将通过 Google 网络向 Vertex AI API 服务发出的请求作为内部 API 调用进行路由。
  • Cloud Run 上的自定义智能体:Gemini Enterprise 应用使用 Vertex AI Discovery Engine 服务代理身份来调用从智能体卡片注册的稳定 run.app 网址。为了让 AI 智能体 Cloud Run 服务能够授权这些调用,您必须向 Discovery Engine 服务代理授予 Cloud Run Invoker IAM 角色 (roles/run.invoker)。对 Cloud Run 的请求通过 Google 生产网络路由到 Cloud Run 入站流量的 Google Front End (GFE)
  • GKE 上的自定义代理:Gemini Enterprise 应用使用 Vertex AI Discovery Engine 服务代理身份来调用从代理卡注册的网址。公共 DNS 必须能够将主机名解析为由网关管理的外部 IP 地址。我们建议您使用 gke-l7-regional-external-managed 负载均衡器gke-l7-global-external-managed 负载均衡器。为了提高安全性,我们建议 Gemini Enterprise 使用 Identity-Aware Proxy (IAP) 调用 GKE 托管的 A2A 代理。为了让 IAP 授权这些调用,您必须向 Discovery Engine 服务代理授予 IAP-secured Web App User IAM 角色 (roles/iap.httpsResourceAccessor)。Google 生产网络会将请求从 GKE 路由到外部应用负载平衡器 Ingress 的 GFE。

    如需保护来自 Gemini Enterprise 的 GKE Ingress,请参阅本文档后面的 IAPGoogle Cloud Armor 部分。

代理托管平台的专用网络

用户向 Gemini Enterprise 应用发起请求后,自定义根代理会向子代理和工具发起请求。自定义代理托管平台提供 Gemini Enterprise 与您的 VPC 网络之间的接口。容器化代理和工具的托管平台包括 Vertex AI Agent Engine、Cloud Run 和 GKE。

选择代理托管平台时,您需要考虑每个平台的专用网络模式、安全控制、管理控制、自定义程度和安全合规性。如需详细了解如何选择 AI 智能体托管平台,请参阅为您的生成式 AI 应用选择模型和基础设施选择您的智能体 AI 架构组件

您可以通过不同的机制建立专用 VPC 连接,具体取决于您使用的代理托管平台:

  • Vertex AI Agent Engine 上的自定义代理:Private Service Connect 接口将 Vertex AI Agent Engine 运行时连接到 VPC 网络。您可以在 VPC 网络的子网中创建网络连接,并授予 Vertex AI Agent Engine 连接到该网络连接的权限。从 Vertex AI Agent Engine 发送的流量在 VPC 网络中显示为好像源自连接的子网 IP 地址。然后,VPC 网络将流量路由到相应的目标 IP 地址。
  • Cloud Run 上的自定义代理:Cloud Run 直接 VPC 出站流量将 Cloud Run 服务实例连接到 VPC 网络。部署 Cloud Run 服务时指定的 VPC 网络可以来自 Cloud Run 服务项目,也可以来自其共享 VPC 宿主项目。从 Cloud Run 发送的流量在 VPC 网络中显示为源自直接 VPC 出站流量的子网 IP 地址。然后,VPC 网络将流量路由到相应的目标 IP 地址。
  • GKE 上的自定义代理:GKE 集群直接位于 VPC 网络中,并使用本地子网 IP 地址。默认情况下,GKE 出站流量使用 Pod IP 地址作为源 IP 地址。如果您配置了伪装,GKE 出站流量将使用节点 IP 地址作为源 IP 地址。所有 GKE 出站流量都由 VPC 网络路由。

以下部分针对每个代理托管平台,提供了有关管理进出 VPC 网络的入站流量和出站流量请求的更多指导。网络注意事项适用于根代理和子代理功能。

Vertex AI Agent Engine 网络

本部分介绍了在 Vertex AI Agent Engine 上托管的根代理和子代理的专用网络。如果您使用 Vertex AI Agent Engine 托管根代理,则必须在同一项目中部署 Gemini Enterprise 和 Vertex AI Agent Engine。

Vertex AI Agent Engine 在 VPC 网络之外的 Google 基础设施上托管容器。如需启用与其他代理的专用连接,您可以使用以下方法将代理连接到 VPC 网络:

如需允许您的代理与其他代理之间进行请求,请设置上述两种连接。

Vertex AI Agent Engine 出站流量到 VPC 网络

Vertex AI Agent Engine 使用由 Google 管理的租户项目进行网络出站。租户网络可为代理提供与 Google API 的连接以及公共互联网出站流量,但默认情况下不会直接连接到客户 VPC 网络。

为了将代理连接到 VPC 网络内部的资源,Vertex AI Agent Engine 使用 Private Service Connect 接口。Vertex AI Agent Engine 会在租户项目中部署一个网络接口,该接口会连接到您项目中的网络连接资源。此连接会在 Vertex AI Agent Engine 运行时与 VPC 网络之间创建安全的数据路径。在 Vertex AI Agent Engine 项目中配置 Private Service Connect 接口时,系统会将所有不以 Google API 为目标的代理流量路由到 VPC 网络。

如需部署 Vertex AI Agent Engine VPC 网络出站流量,请参阅以下资源:

如需进一步保护代理和 VPC 网络,以实现 Vertex AI Agent Engine 出站流量安全,请参阅本文档后面的以下部分:

来自 VPC 网络的 Vertex AI Agent Engine 入站流量

对在 Vertex AI Agent Engine 上运行的代理的请求是通过使用 Vertex AI API 端点 (aiplatform.googleapis.com) 发出的。如需使用 VPC 网络中的专用网络路径访问 Google API 端点,请使用专用 Google 访问通道或Google API 的 Private Service Connect 端点

向代理发出查询的私有用户需要将 Vertex AI API 端点主机名解析为 专用 Google 访问通道的专用 IP 地址范围,或解析为 Google API 的 Private Service Connect 端点的 IP 地址。一个私有的受管 Cloud DNS 地区,用于解析 googleapis.com 的 Vertex AI API 请求。VPC 网络通过 Google 生产网络直接路由请求。

如果您使用专用 Google 访问通道或 Private Service Connect for Google APIs,则可以使用以下产品和功能来帮助保护从 VPC 网络到 Vertex AI Agent Engine 的流量:

其他 Vertex AI Agent Engine 网络注意事项

使用 Private Service Connect 接口的 Vertex AI Agent Engine 出站流量只能路由到 VPC 网络中的 RFC 1918 IP 地址范围。对于 Vertex AI Agent Engine 出站流量无法路由的特定目标范围,请参阅子网 IP 范围要求。 如需访问不可路由的 IP 地址范围目标,请在代理上使用显式代理配置,并部署在 VPC 网络中使用可路由 IP 地址的代理资源。

当 Vertex AI Agent Engine 在没有 Private Service Connect 接口的情况下部署时,默认情况下可以访问互联网。为防止数据渗漏,请启用 VPC Service Controls 以停用默认访问权限。

当 Vertex AI Agent Engine 部署了 Private Service Connect 接口时,无论是否启用 VPC Service Controls,直接互联网出站流量都会被停用。如果您需要智能体访问 Vertex AI Agent Engine 通常无法访问的目标(例如互联网),请执行以下操作:

  1. 在 VPC 网络的 RFC 1918 子网中配置 Secure Web Proxy。您必须以显式代理路由模式配置代理。
  2. 为 Secure Web Proxy 主机名创建 Cloud DNS 记录。
  3. 为 Vertex AI Agent Engine 配置 DNS 对等互连,以支持代理 DNS 查询解析到 VPC 网络中 Secure Web Proxy 的私有地址。
  4. 部署代理时,请执行以下操作:
    1. 通过指定 Secure Web Proxy 主机名和端口,定义用于使用显式代理的环境变量
    2. 如果您要访问专用目的地,请为该目的地配置专用 DNS 区域。

来自 Vertex AI Agent Engine 出站流量到达 VPC 网络后,可以到达 VPC 网络可路由的任何网络目的地。如需了解如何限制 Vertex AI Agent Engine 代理可访问的出站网络目标位置的范围,请参阅本文档后面的 Cloud NGFW 部分。

Cloud Run 网络

本部分介绍了在 Cloud Run 上托管的根代理和子代理的专用网络。Cloud Run 在 VPC 网络之外的 Google 基础架构上托管容器。如需实现与其他代理的私密连接,您可以使用以下方法将代理连接到 VPC 网络:

如需允许您的代理与其他代理之间进行请求,请设置上述两种连接。

Cloud Run 到 VPC 网络的出站流量

如需启动 Cloud Run 与 VPC 网络的连接,我们建议您使用直接 VPC 出站流量。借助直接 VPC 出站流量,Cloud Run 实例可以通过在部署直接 VPC 出站流量时指定的子网中的 IP 地址直接连接到共享 VPC 网络。

配置直接 VPC 出站流量时,请执行以下操作:

  1. 配置目标子网,使其启用专用 Google 访问通道
  2. 配置流量路由,以将所有流量路由到 VPC 网络

此配置会通过 VPC 网络发送所有流量,以保护隐私;并且会通过 Google 内部网络将 Cloud Run 的请求发送到其他 Google API。

来自 Cloud Run 的所有 DNS 查询都使用与 VPC 网络关联的 Cloud DNS 政策和区域。无需进行额外的 DNS 对等互联配置。 在 Cloud Run 上托管的代理会解析所有 Cloud DNS 专用区域和公共主机名。

如需了解如何进一步保护 Cloud Run 出站流量的代理和 VPC 网络,请参阅本文档后面的以下部分:

来自 VPC 网络的 Cloud Run 入站流量

Cloud Run 是一个由 Google 管理的平台,在 VPC 网络之外的环境中运行。此环境托管着运行 AI 智能体或工具工作负载的 Cloud Run 服务的稳定 *.run.app 网址端点。这些端点由提供 *.googleapis.com API 服务的同一 GFE 入口点提供。Cloud Run 使用相同的底层网络路径,这些路径可为专用 Google 访问通道和 Google API 的 Private Service Connect 实现专用连接。

VPC 网络中向代理或工具发出查询的私密用户需要将 run.app 主机名解析为 专用 Google 访问通道的专用 IP 地址范围,或解析为 Google API 的 Private Service Connect 端点的 IP 地址。用于 run.app 网址的专用托管式 Cloud DNS 区域可解析 Cloud Run 服务的请求。VPC 网络通过 Google 生产网络直接路由请求。

将 Cloud Run 入站流量设置为内部,可仅允许来自经过验证的内部来源的请求,从而限制对服务的访问。获批的来源包括:

  • Cloud Run 服务项目的 VPC 网络。
  • 托管直接 VPC 出站流量端点的共享 VPC 网络。
  • 位于同一 VPC Service Controls 边界内的资源。
  • VPC 网络中的内部应用负载平衡器。
  • 服务项目或 VPC Service Controls 边界内的 Google 服务,例如 Cloud Scheduler 和 Pub/Sub。

如果您未使用通用 VPC Service Controls 边界来涵盖调用服务和被调用服务,则来自 Cloud Run 服务项目或共享 VPC 环境之外的流量将被视为外部流量。此类流量包括来自其他 Google Cloud服务(例如 Vertex AI Agent Engine 和其他 Cloud Run 服务)的流量。为了通过 Cloud Run 内部入站流量检查,必须以一种方式路由此流量,使其看起来源自目标服务的 VPC 网络内部。

如需提供必要的内部网络归因信息,您可以执行以下任一操作:

  • 使用 Private Service Connect 端点,让其他 VPC 或项目中的服务能够通过 VPC 网络中的专用 IP 地址连接到 Google API 和服务(包括您的 Cloud Run 服务)。
  • 通过放置在 Cloud Run 服务前面的 VPC 网络内的内部应用负载平衡器路由流量。负载均衡器通过 VPC 网络将来自其他服务的请求分流,以便这些请求满足内部入站流量条件。

使用无服务器网络端点组 (NEG) 后端的内部应用负载平衡器会创建直接映射到 Cloud Run 服务的 VPC 资源。在此模型中,负载均衡器会使用受信任的证书终止客户端 TLS 连接。内部应用负载平衡器支持其他安全控制措施,包括 Cloud Armor 后端安全政策和其他授权政策

默认情况下,访问所有 Cloud Run 服务都需要进行 IAM 身份验证。我们建议您按服务使用身份,并向正文授予 Cloud Run Invoker IAM 角色 (roles/run.invoker)。

如需了解如何配置 Cloud Run 入站流量控制,请参阅以下资源:

如果您使用专用 Google 访问通道或 Google API 的 Private Service Connect 端点将流量从 VPC 网络发送到 Cloud Run,则可以使用以下产品和功能来帮助保护该流量:

如果您使用内部应用负载平衡器将流量从 VPC 网络发送到 Cloud Run,则可以使用以下产品和功能来帮助保护该流量:

GKE 网络

本部分介绍了基于 GKE 的代理的网络。

GKE 和 Gemini Enterprise

作为 AI 代理和工具的宿主,GKE 提供高度可自定义的网络和安全控制平台。部署在 GKE 上的多智能体 AI 系统可以大规模提高运营效率。它可以与其他 Kubernetes 应用和更大的微服务架构紧密集成。

GKE 集群是运行在 VPC 网络子网中的 Compute Engine 虚拟机节点。Gemini Enterprise 应用是受管理的资源,在 VPC 网络外部的托管环境中运行。如需让 Gemini Enterprise 应用调用托管在 GKE 上的自定义代理,您必须安全地公开具有公共 IP 地址和 DNS 名称的外部网关。流量从 Gemini Enterprise 出站到 Google 边缘网络,然后通过优化后的路线到达 GKE 外部负载均衡器。

请务必使用强身份验证和授权、Cloud Armor 以及有限的权限来保护 GKE 端点。为了提供全面的深度防御模型来保护在 GKE 上运行的 AI 智能体,请考虑以下各部分中介绍的安全控制措施。

GKE 操作模式

GKE 提供以下操作模式,以平衡管理和控制:

  • Autopilot:Google 会自动管理整个 GKE 集群基础架构,包括控制平面、节点预配、安全强化和伸缩。
  • 标准:Google 管理控制平面。您仍需对节点池配置承担全部责任,例如选择机器类型、管理操作系统映像和手动伸缩。
基础架构和控制平面安全加固
  • 专用 GKE 集群:预配没有公共 IP 地址的节点,从而确保运行时环境与直接的互联网暴露相隔离。
  • 主授权网络:将对 Kubernetes API 的管理员权限权限限制为特定可信的 IP 地址范围,从而增强控制平面抵御未经授权的配置更改的能力。使用 Google Cloud的 IAM 和 VPC Service Controls 保护 Kubernetes API 的 DNS 端点。
身份和访问权限(零信任)
  • IAP:在负载均衡器级别充当门卫。它可确保只有拥有正确 IAM 权限且经过身份验证的用户才能访问代理端点。这种方法可有效地将安全边界从网络转移到单个用户及其设备环境。
边缘保护和流量管理
  • Cloud Armor:提供强大的边缘安全性,包括 Web 应用防火墙 (WAF) 规则(有助于阻止恶意载荷)、DDoS 攻击防护(有助于确保正常运行时间)和速率限制(有助于防止服务耗尽)。
  • Model Armor:Model Armor 专为 LLM 安全性而设计,可实时检查和清理提示和回答,以防止提示注入和数据渗漏。
内部网络隔离
  • Kubernetes 网络政策:强制执行微服务之间精细的最小权限通信。默认情况下,政策会拒绝所有流量,除非您明确允许,这样可以防止集群内的横向移动。

GKE 流向 VPC 网络的出站流量

VPC 网络会路由 GKE 上托管的代理的出站连接。默认 GKE 集群网络模式为 VPC 原生,具有以下属性:

  • GKE 集群使用别名 IP 地址范围。
  • 通过指定 Pod IP 范围来预留 Pod IP 地址。
  • Pod IP 地址可在集群 VPC 网络和连接的其他 VPC 网络中进行原生路由。

如果代理 Pod 与同一节点中的子代理 Pod 进行通信,则流量会在节点网络命名空间内进行本地路由。如果目标代理 Pod 位于集群中的其他节点上,则流量会通过 VPC 网络路由表进行路由。为了使代理 Pod 能够与其他 VPC 资源(如负载平衡器或 Private Service Connect 端点)通信,它可以使用相同的标准 VPC 路由到达目标,但需要遵守防火墙规则。

您可以使用以下产品和服务来帮助保护离开 GKE 集群的流量:

来自 VPC 网络的 GKE 入站流量

Kubernetes 服务可提供对 GKE 资源的访问权限。对于多代理 AI 系统,我们建议您使用 GKE 网关 GKE 推理网关。网关提供增强的功能,包括流量控制、资源的操作分离和安全集成。不过,根据您的系统要求,您还可以选择其他 ingress 服务选项

Gateway 资源会创建应用负载平衡器,并预配所有必需的负载均衡组件。服务的后端网络端点组已连接,可直接为容器提供负载均衡。如需在内部公开服务以处理来自 VPC 网络的流量,请使用适用于区域级内部应用负载平衡器 (gke-l7-rilb) 或跨区域内部应用负载平衡器 (gke-l7-cross-regional-internal-managed-mc) 的网关类。

应用负载平衡器提供额外的安全控制点,以保护托管在 GKE 集群上的 AI 代理和工具:

  • Cloud Armor:通过将 Cloud Armor 安全政策附加到由 Gateway 管理的后端服务来保护服务。它可在流量到达 GKE 集群或 IAP 之前提供 WAF 过滤、基于 IP 地址和地理位置的过滤、DDoS 攻击防护和速率限制。
  • IAP:在后端服务上启用,以使用 IAM 凭据控制对应用的访问权限;IAP 会强制执行零信任访问政策。IAP 会对访问集群资源的 AI 智能体(包括 Gemini Enterprise 应用、自定义智能体和外部资源)进行身份验证和授权。它要求调用者具有经过 IAM 身份验证的身份,并且具有访问后端服务的授权权限。

如果您通过网关将流量从 VPC 网络发送到 GKE 服务,则可以使用以下产品和功能来帮助保护该流量:

如果您不使用网关将流量从 VPC 网络发送到 GKE 服务,则可以使用以下产品和服务来帮助保护该流量:

如需详细了解如何保护 GKE,请参阅网络安全最佳实践了解 GKE 中的网络安全

代理网络安全

为了保护多智能体 AI 系统的网络,您必须通过 VPC 网络和 API 表面来保护通信。VPC 网络数据平面解决了代理和工具如何安全连接的问题。API 表面定义了允许哪些身份和数据交换类型。在 VPC 网络和 API 表面上分层实施访问权限控制有助于实现高度受控且富有弹性的安全状况。

Cloud NGFW

Cloud NGFW 充当网络级门卫,以保护 A2A 和 MCP 通信。防火墙通过验证与其他代理和工具之间建立的每个传入或传出连接,确保只有授权流量才能到达代理端点。

Cloud NGFW 是一项内置于 VPC 网络结构的分布式防火墙服务。它提供以下功能层级,这些层级在网络堆栈的不同层运行:

  • Cloud Next Generation Firewall Essentials:提供有状态防火墙数据包过滤功能。政策规则是根据 IP 地址 (L3)、协议和端口 (L4) 定义的。
  • Cloud Next Generation Firewall Standard:提供基于 IP 的强制执行,并使用完全限定域名 (FQDN) 对象、地理位置对象和来自 Google Threat Intelligence 的 Feed 来阻止已知的恶意地址。
  • Cloud Next Generation Firewall Enterprise:提供真正的应用 (L7) 检查功能,具有 TLS 解密以及入侵检测和防御系统 (IDPS) 功能,可根据高级威胁签名分析载荷。

Cloud NGFW 可应用于 VPC 网络,以根据所需规则强制执行防火墙政策,从而定位您使用的代理托管平台。

  • Vertex AI Agent Engine:在 Vertex AI Agent Engine 中运行的代理通过 Private Service Connect 网络连接连接到 VPC 网络。通过这些附加项,代理网络接口会显示在 VPC 网络中的子网内。Cloud NGFW 网络防火墙政策应用于 VPC 网络。这些政策会根据专用于 Private Service Connect 网络连接的子网中的来源 IP 地址过滤流量。对于流量匹配,您可以使用源 IP 地址和目标 IP 地址范围。
  • Cloud Run:使用直接 VPC 出站流量的 Cloud Run 服务会直接从在 VPC 网络中指定的子网内运行的实例发送流量。Cloud NGFW 网络防火墙政策适用于 Cloud Run 用于过滤流量的子网。对于匹配的流量,您可以使用来源 IP 地址和目标 IP 地址范围。
  • GKEVPC 原生 GKE 集群为 Pod 提供直接来自 VPC 网络辅助 IP 地址范围的 IP 地址。网络防火墙政策可以根据 GKE 节点和 Pod 的 IP 地址范围过滤流量,并且政策可以使用安全标记和服务账号。安全标记会绑定到充当 GKE 节点的虚拟机实例。然后,防火墙规则可以针对或来源于具有特定标记的节点的流量。防火墙规则还可以根据与节点池关联的服务账号身份,将来自 GKE 节点的流量作为目标或来源。

默认拒绝出站流量政策

实施默认拒绝策略是一种安全最佳实践,遵循最小权限原则。此策略可确保仅允许明确允许的网络流量,而默认情况下会阻止所有其他流量。此实现方式是通过以下方式实现的:为已知合法流量构建具有高优先级的 ALLOW 规则,并构建具有低优先级的全方位 DENY 规则。所有 Cloud NGFW 层级都允许基于源 IP 地址范围和目标 IP 地址范围的规则。

防火墙政策规则可以有效地匹配来自 Vertex AI Agent Engine 网络附件子网和 Cloud Run 直接 VPC 出站流量子网的源流量。

以下是默认拒绝出站流量政策的示例:

  • 创建网络防火墙政策和规则:创建全局或区域级防火墙政策,并将其与 VPC 网络相关联。创建防火墙政策规则,根据来源 IP 地址范围 (--src-ip-ranges=SRC_IP_RANGES) 和目标 IP 地址范围 (--dest-ip-ranges=DEST_IP_RANGES) 将出站方向 (--direction=EGRESS) 的流量作为目标。
  • 具体 ALLOW 规则:使用较低的优先级数值,例如 100-1000。这些规则可精确允许 AI 代理正常运行所需的网络流量。此流量包括与其他内部服务、负载平衡器、必需的 Google API 或合法外部端点的通信。创建一条规则,用于匹配来自 Vertex AI Agent Engine 网络附件子网或来自 Cloud Run 直接 VPC 出站流量子网的源流量,并将其发送到所需的目标。
  • 常规 DENY 规则:为确保该规则在评估顺序中排在最后,请使用最高的优先级数字,例如 2147483647。此规则拒绝发往任何目的地 (--dest-ip-ranges=0.0.0.0/0) 且不符合任何上述 ALLOW 规则的流量。

默认拒绝出站政策可防止 AI 智能体建立任何未经明确授权的网络连接,并阻止潜在的数据渗漏或对恶意网站的访问。该政策将托管代理限制为仅与获批的端点通信,这对于保持对自主工作负载的控制至关重要。

其他 Cloud NGFW 政策注意事项

除了所有 Cloud NGFW 层级都提供的默认拒绝策略之外,您还可以使用付费层级功能进一步加强多智能体 AI 网络安全:

  • Cloud NGFW 标准功能
    • 用于动态端点的 FQDN 对象:AI 代理通常会与 IP 地址可能会发生变化的外部 API、模型端点或数据源进行交互。为了确保通过域名稳定访问必要服务,请在 ALLOW 规则中使用 FQDN 对象。
    • 地理位置控制:如果 AI 代理有合规性要求,或者不应与特定地理区域中的服务互动,请在防火墙规则中使用地理位置对象 (--src-region-codes=SRC_COUNTRY_CODES) 来限制进出这些位置的流量。
    • Google Threat Intelligence:在出站流量过滤器中使用 Google Threat Intelligence,以自动阻止代理连接到已知的恶意目的地,例如命令和控制 (C2) 服务器、Tor 等匿名化工具和恶意软件分发网站。使用 Google Threat Intelligence 有助于控制可能遭到入侵的代理的影响。我们建议您将这些目标过滤条件纳入优先级较高的数字(评估顺序较低)的 DENY 规则中。
  • Cloud NGFW 企业版功能
    • 第 7 层检查:对于处理敏感数据或面临较高风险的代理,检查数据包载荷中是否存在网络层防火墙规则未分析的威胁,例如恶意软件、间谍软件和漏洞利用。
    • TLS 检查:如需允许检查引擎分析加密流量,请启用 TLS 检查。使用 TLS 检查至关重要,因为大多数现代攻击和 C2 通信都是加密的。

如需了解可能适用于您环境的其他实现注意事项或限制,请参阅以下资源:

IAP

IAP 通过为 AI 应用提供中央身份验证和授权层,确保 GKE 集群的 Ingress 请求安全无虞。IAP 会拦截所有发往网关的 HTTPS 请求,并检查调用方的身份和权限。IAP 仅允许经过身份验证和授权的请求传递到后端服务工作负载。网关负载均衡器上的 IAP 仅保护来自集群外部的流量。集群内的通信不会通过 IAP。

如需访问托管在 GKE 上且受 IAP 保护的 AI 应用,必须向主账号用户身份授予受 IAP 保护的后端服务资源的 IAP-secured Web App User IAM 角色 (roles/iap.httpsResourceAccessor)。我们建议您将自定义服务账号配置为已部署代理的身份。 使用自定义服务账号可让您根据最小权限原则更精确地分配权限。

仅直接向允许访问托管在 GKE BackendConfig 自定义资源上的其他代理和工具的代理的服务账号授予 IAP-secured Web App User IAM 角色。如需允许 Gemini Enterprise 应用访问,请为您的 Gemini Enterprise 项目绑定 IAM 角色 Discovery Engine Service Account (roles/discoveryengine.serviceAgent),以授予相应权限。

VPC Service Controls

VPC Service Controls 通过严格控制对 Google API 的访问权限来降低数据渗漏风险。我们建议您部署一个包含所有受支持服务的宏边界。这种方法可提供最可靠的防数据渗出保护。为确保共享 VPC 架构中的政策执行保持一致,请务必将宿主项目和所有关联的服务项目都纳入同一服务边界内。

为了确保 Gemini Enterprise 与 Cloud Run 之间跨项目边界的互动安全无虞,请考虑以下建议:

  • 部署一个包含 Gemini Enterprise 项目和 Cloud Run 项目的 VPC Service Controls 边界。
  • 将所有受支持的 VPC Service Controls 服务添加到受限服务列表中。这种方法有助于防止未经授权的管理更改。
  • 强制执行内部入站流量授权设置,以阻止对 Cloud Run 服务的所有公共互联网访问。

Cloud Run 服务受 IAM 保护。调用方必须经过身份验证,并且必须具有目标服务的 Cloud Run Invoker IAM 角色 (roles/run.invoker)。通过验证授权标头中的令牌来检查角色。为了成功调用 Cloud Run 服务,服务账号(例如 Gemini Enterprise 使用的服务账号)还必须获得 Cloud Run Invoker 角色。

当 Gemini Enterprise 和 Cloud Run 部署在不同的项目中时,需要使用 VPC Service Controls 边界才能将 Cloud Run 入站流量设置为“内部”。如果没有此安全边界,来自 Gemini 的跨项目调用会被视为外部流量,这会迫使您将 Cloud Run 入站流量设置为“全部”,从而使服务暴露于公共互联网。

  • 如果同时满足以下两个条件,则支持 Cloud Run 入站流量 all
    • VPC Service Controls 未启用。
    • Cloud Run 和 Gemini Enterprise 不在同一项目中。
  • 对于所有其他配置,仅支持 Cloud Run 入口 internal

其他 VPC Service Controls 注意事项

在 VPC Service Controls 边界内部署 Cloud Run 时,我们建议您实施以下政策护栏,以帮助确保全面保护:

  • 限制允许的入站流量设置:通过设置 run.allowedIngress 组织政策限制条件,防止开发者意外部署面向公众的端点。此限制仅适用于新部署。之前的部署可能不合规。我们建议您审核边界内的所有现有 Cloud Run 服务,并重新部署或更新任何不符合所需入站流量和出站流量设置的服务。
    • 如需仅允许内部请求,请将值设置为 internal
    • 如需允许通过外部应用负载平衡器发送请求,请将该值设置为 internal-and-cloud-load-balancing
  • 限制允许的 VPC 出站流量设置:若要通过 VPC 路由所有出站请求,以便边界防火墙规则可以检查这些请求,请将 run.allowedVPCEgress 组织政策限制值设置为 all-traffic。此设置要求每个 Cloud Run 修订版本都使用直接 VPC 出站流量或无服务器 VPC 访问通道连接器。此限制仅适用于新部署。之前的部署可能不合规。我们建议您审核边界内的所有现有 Cloud Run 服务,并重新部署或更新任何不符合所需入站流量和出站流量设置的服务。
  • 将容器映像和服务放置在同一位置:包含容器映像的 Artifact Registry 代码库必须与 Cloud Run 服务位于同一边界内。除非您明确设置入站和出站规则,否则系统会自动阻止跨边界拉取映像。
  • 管理访问权限级别:Cloud Run 调用不支持依赖于 IAM 主账号身份的 VPC Service Controls 入站流量政策规则和访问权限级别。您必须改用基于网络的条件或基于设备的访问权限级别来管理访问权限。

Model Armor

Model Armor 是一项基于 API 的服务,可为 AI 应用提供增强的安全性和保障性。AI 代理通过调用 Model Armor 来进行交互,以便在用户提示发送给 LLM 之前对其进行清理,并在模型回答返回给用户之前对其进行清理。Model Armor 会主动过滤 LLM 提示和回答,这为检测新兴风险提供了一个重要的检查点,并为落实 Responsible AI 标准提供了一个控制点。我们建议您使用 Model Armor,以确保符合数据留存要求和数据主权法律法规。如需在 VPC Service Controls 边界内使用 Model Armor,您需要在 VPC 网络内为 Model Armor 区域端点配置 Private Service Connect 端点。

Model Armor 是一项区域级服务,可通过 VPC 网络中的区域级 Private Service Connect 端点以私密方式访问。例如,通过使用区域端点 modelarmor.us-central1.rep.googleapis.com 调用 us-central1 服务。区域端点有助于确保数据驻留

如需为代理启用访问权限,请在需要 Model Armor 服务的每个区域中配置以下组件:

  1. 在 Model Armor 服务所在的 VPC 网络区域中,创建或确定 RFC 1918 子网。
  2. 在 RFC 1918 子网中创建区域端点
  3. 创建 Cloud DNS 专用地区和一条记录,用于解析 Model Armor 区域端点主机名(例如 modelarmor.us-central1.rep.googleapis.com),并将其解析为区域端点的 IP 地址。
  4. 为了实现 Vertex AI Agent Engine 的互操作性,请从 Vertex AI Agent Engine 到与您的 VPC 网络关联的 Cloud DNS 专用区域建立 DNS 对等互连。当代理向 Model Armor 发出请求时,Cloud DNS 会将主机名请求解析为 VPC 网络中 Private Service Connect 区域端点的 IP 地址。对于在 Cloud Run 和 GKE 中托管的代理,无需执行此步骤。

如需将 Gemini Enterprise 与 Model Armor 集成,请在与 Gemini Enterprise 相同的项目中创建 Model Armor 模板。模板的位置必须与 Gemini Enterprise 应用的位置一致。

如需详细了解如何启用 Model Armor,请参阅以下资源:

Cloud Armor

Cloud Armor 是一项分布式网络安全服务,可在请求到达后端服务运行时之前保护负载平衡器后面的应用和服务。AI 智能体工作负载涉及大量使用 A2A、MCP 和 API 调用的服务间通信。Cloud Armor 保护通过速率限制、WAF 过滤和符合预期智能体请求的自定义规则,在安全设计中提供额外的弹性层。通过将 Cloud Armor 安全政策附加到应用负载平衡器后端服务,可以过滤恶意请求并使用速率限制来监管流量,还可以缓解 DDoS 攻击。

在以下场景中,Cloud Armor 可以部署在代理网络架构中:

  • 搭配内部应用负载平衡器的 Cloud Run:通过使用具有无服务器 NEG 后端的内部应用负载平衡器,保护在 Cloud Run 上运行的代理和工具。将后端安全政策应用于无服务器 NEG,以针对内部流量和速率限制强制执行 WAF 规则。如需控制代理通信,您可以根据 IP 地址和标头定义其他自定义规则。
  • 网关:通过使用网关资源定义来保护在 GKE 上运行的代理和工具,该网关资源定义适用于具有可用区级 NEG 后端的全球或区域级外部应用负载平衡器。使用 Kubernetes Gateway API 应用具有已定义的 Cloud Armor 安全政策的 GCPBackendPolicy 资源。如果您使用区域级外部应用负载平衡器,Cloud Armor 支持后端安全政策,其中包含 WAF 规则、基于 IP 地址和地理位置的控制措施以及速率限制。全球外部应用负载平衡器支持后端安全政策和额外的边缘安全政策,并提供 Google Cloud Armor 自适应防护 Google Threat Intelligence

安全 Web 代理

Secure Web Proxy是一项区域性代管式服务,部署在 VPC 网络内,用于过滤源自 VPC 网络或任何连接网络的 HTTP/S 网络流量。它充当集中式代理和安全强制执行点,可对出站网络流量提供精细的控制和可见性。它还充当内部服务通信的显式代理。

Secure Web Proxy 支持三种部署模式:显式代理路由模式、Private Service Connect 服务连接模式和下一跳模式。我们建议您使用显式代理路由模式下的 Secure Web Proxy,本文档将重点介绍此模式。在此模式下,必须明确配置 HTTP 客户端,使其直接指向 Secure Web Proxy IP 地址或主机名。

如需在 VPC 网络中部署 Secure Web Proxy,您必须配置前端子网和代理专用子网。Secure Web Proxy 是一项全代管式服务。部署 Secure Web Proxy 时,它会在您的 VPC 网络中自动部署和配置 Cloud Router 和 Cloud NAT,以便与代理资源进行特定集成。此配置强制规定,任何出站请求都必须先通过 Secure Web Proxy,然后才能传出到互联网。

使用 Secure Web Proxy 作为显式代理支持来自 Vertex AI Agent Engine Private Service Connect 接口、Cloud Run 直接 VPC 出站流量和 VPC 原生 GKE 集群的代理请求。当代理使用 HTTP CONNECT 方法向 Secure Web Proxy 发送请求时,TCP 会话流量会通过隧道传输到代理,并在该代理中应用安全政策规则。如果允许流量,Secure Web Proxy 会将流量发送到受控的互联网出站流量或 VPC 网络可路由的专用网络目的地。

显式代理路由

Vertex AI Agent Engine 出站流量要求您使用明确的代理配置,以便代理能够访问 VPC 网络中的互联网目的地或不可路由的 IP 地址范围。为了实现 Vertex AI Agent Engine 互操作性,我们建议您使用 VPC 网络中前端子网的 RFC 1918 IP 地址配置 Secure Web Proxy 资源。通过此配置,Vertex AI Agent Engine 可以直接访问 Secure Web Proxy。然后,它可以代理与 VPC 网络或连接网络中不可路由的 IP 地址目的地的任何连接。

如需支持代理托管平台在显式路由模式下使用 Secure Web Proxy,请配置以下网络资源:

  1. 在 VPC 网络中创建或标识一个 RFC 1918 子网,以托管 Secure Web Proxy 资源。
  2. 为 Secure Web Proxy 主机名(例如 swp.example.com)创建 Cloud DNS 记录,该记录可解析为 Secure Web Proxy 资源的 IP 地址。
  3. 为了实现 Vertex AI Agent Engine 的互操作性,请从 Vertex AI Agent Engine 到与您的 VPC 网络关联的 Cloud DNS 专用区域建立 DNS 对等互连。当代理向 Secure Web Proxy 发出请求时,Cloud DNS 会将主机名请求解析为 VPC 网络中 Secure Web Proxy 资源的 IP 地址。对于在 Cloud Run 和 GKE 中托管的代理,无需执行此步骤。

代理代理设置

配置代理应用以使用 HTTP(S) 代理的标准方法是设置以下环境变量:

  • HTTP_PROXY:HTTP 流量的显式代理服务器的网址(例如 http://swp.example.com:8888)。此设置使用从客户端到代理的 HTTP CONNECT 方法。即使指定了 HTTP,TLS 加密也会通过代理从代理运行时一直保持到目标端点。
  • HTTPS_PROXY:用于 HTTPS 流量的显式代理服务器的网址(例如 https://swp.example.com:8888)。与 HTTP_PROXY 设置类似,HTTPS_PROXY 设置默认使用 TLS。 不过,您可以在默认 TLS 的基础上启用自己的 TLS 加密,从而提供额外的加密层。如需了解详情,请参阅Certificate Authority Service
  • NO_PROXY:不应通过代理的主机名或 IP 地址的逗号分隔列表。例如,如果您将 metadata.google.internal169.254.169.254 添加到 NO_PROXY 列表,工作负载便可直接访问元数据服务,以便对 Google API 和服务进行身份验证和授权。

如果您在部署期间使用 env_vars 实参设置变量,这些变量将在代理运行时环境内可用(例如,当您在 Python 中使用 os.environ 时)。大多数标准 HTTP 客户端库都会自动发现并使用这些环境变量,以通过指定的代理路由流量。这种方法在 Python 应用和 requests 等 HTTP 客户端库中很常见。部署代理时,请定义环境变量,以便为代理需要访问的任何专用网域使用 Secure Web Proxy。确保所有专用网域目的地也包含在 Cloud DNS 中。

以下示例展示了如何从代理对象部署 Vertex AI Agent Engine 代理:

## specify environment variables (dictionary)
env_vars = {
    "OTHER_VARIABLE": "OTHER_VALUE",
    "HTTP_PROXY": "http://swp.example.com:8888",
    "HTTPS_PROXY": "http://swp.example.com:8888",
    "NO_PROXY": "localhost,127.0.0.1,metadata.google.internal,169.254.169.254,.googleapis.com,run.app,.gcr.io,.pkg.dev,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.internal"
}

remote_agent = aiplatform.agent_engines.create(
    agent=local_agent,
    config={
        "display_name": "Example agent using proxy",
        "env_vars": env_vars,
        ## ... other configs
    },
)

Cloud Run 支持在服务修订版本级别设置环境变量。此方法会替换容器映像中设置的任何同名环境变量。此方法有助于在服务实例启动时设置代理变量等操作参数。

以下示例展示了在部署 Cloud Run 服务时用于设置环境变量的命令:

gcloud run deploy SERVICE_NAME \
--image=IMAGE_URL \
--set-env-vars="HTTP_PROXY=http://swp.example.com:8888,HTTPS_PROXY=http://swp.example.com:8888,NO_PROXY=localhost,127.0.0.1,metadata.google.internal,169.254.169.254,.googleapis.com,run.app,.gcr.io,.pkg.dev,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.internal"

如需在 GKE pod 中实现显式代理配置,请定义一个指定代理变量的 ConfigMap 资源:

apiVersion: v1
kind: ConfigMap
metadata:
  name: agent-proxy-config
  namespace: ai-apps
data:
  HTTP_PROXY: "http://swp.example.com:8888"
  HTTPS_PROXY: "http://swp.example.com:8888"

  NO_PROXY: "localhost,127.0.0.1,metadata.google.internal,169.254.169.254,.googleapis.com,run.app,.gcr.io,.pkg.dev,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.internal"

如需将 ConfigMap 密钥应用于 Pod,请使用容器清单中的 envFrom 字段。此规范会在运行时将环境变量注入容器中。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: subagent-app
spec:
  template:
    spec:
      containers:
      -   name: my-container
        image: my-agent-app:latest
        envFrom:
        -   configMapRef:
            name: agent-proxy-config

CA Service

当 Secure Web Proxy 或 Cloud NGFW 配置为进行 TLS 检查时,需要使用 CA Service (CA Service)。启用 TLS 检查后,如果工作负载的目标使用 TLS,CA 服务会为该目标创建并签署证书。当实际目标的加密流量到达 Secure Web Proxy 或 Cloud NGFW 时,它会解密数据包、检查数据包,然后强制执行政策。如果政策允许该数据包,则服务会为最终目的地重新加密该数据包。您还可以使用 CA Service 向其他 Google 管理的服务提供证书。

CA Service 是一项代管式服务。配置 CA Service 后,它会处理叶证书签名,直到根 CA 证书过期。必须更新根 CA 证书,以确保它们不会过期。

CA Service 支持以下功能,可在多代理 AI 架构中大规模实现流量检查和证书管理:

  • TLS 检查:必须使用私有 CA 才能进行完整的 TLS 检查。 为了完全解密和分析 HTTPS 载荷,中间代理设备(Secure Web Proxy 或 Cloud NGFW)需要终止与客户端的 TLS 会话。代理必须提供有效的证书,该证书可被客户端接受为所请求网域的受信任证书。

    CA 服务可以动态生成并签署所请求网站的特定于该网站的冒充证书。当客户端的受信任证书存储区中安装了私有根 CA 证书时,它会接受此动态创建的证书。客户端信任代理发送的证书,因此发送请求。代理会终止 TLS 会话、解密数据包、检查内容,然后强制执行政策。

  • 证书分发:在 Vertex AI Agent Engine、Cloud Run 或 GKE 上运行的 AI 代理等内部客户端资源需要将专用根 CA 证书添加到其本地受信任证书存储区。通过在 Secret Manager 中存储根 CA 证书公钥,AI 智能体可以在启动时拉取证书并将其添加到其系统受信任证书存储区中。

    内部服务器资源(例如内部应用负载平衡器)需要由私有 CA 签发的证书,才能充当可信的服务器端点并终止客户端 TLS 会话。应用负载均衡器与 Certificate Manager 颁发配置集成,以自动执行 CA Service 对证书请求进行签名并将其部署到负载均衡器的过程。

如需详细了解证书操作,请参阅以下资源:

A2A 连接安全性

根代理与部署在各种运行时托管平台上的各种子代理和 MCP 服务器进行通信。每种环境都会带来独特的网络和安全要求,这些要求必须由 A2A 或 MCP 层进行抽象化处理。

下图展示了本设计指南支持的组件和可能的连接路径:

不同托管平台(包括 GKE、Cloud Run 和 Vertex AI Agent Engine)之间的 Agent2Agent (A2A) 连接模式,以及与 MCP 服务器和互联网的连接。

上图总结了这些连接可能性:

  • 用户通过 Gemini Enterprise 应用与代理系统互动。
  • Gemini Enterprise 应用使用 Google 基础设施连接到在 GKE、Cloud Run 或 Vertex AI Agent Engine 中运行的根代理。
  • Gemini Enterprise 应用和根代理使用 Google 基础设施连接到 Model Armor 和 Vertex AI 上的 Gemini LLM。
  • 根代理可以使用 Google 基础架构连接到在 Cloud Run 或 Vertex AI Agent Engine 中运行的子代理。
  • 根代理可以使用专用 IP 地址连接到在 Vertex AI Agent Engine、Cloud Run 和 GKE 中运行的子代理。这些连接必须通过 VPC 网络进行路由。
  • 根代理和子代理都可以连接到在 Cloud Run 或 GKE 上运行的 MCP 服务器。连接到 MCP 服务器的代理可以使用 Google 基础架构或 VPC 网络。MCP 服务器可提供对托管在Google Cloud、本地、其他云端或互联网上的工具的访问权限。
  • 托管在互联网上的服务可以通过 Secure Web Proxy 直接访问。

以下部分提供了有关安全 A2A 互动所需的运行时数据路径和安全控制措施的资源。此信息可作为建立专用连接和实现多层防御机制的架构标准,以保护代理之间的端到端数据路径。

GKE 源代理

下表提供了一些资源,可帮助您在 GKE 是源代理时保护流量。此流量会通过托管 GKE 集群的 VPC 网络传输。

目标代理(数据路径) 安全控制
Vertex AI Agent Engine(内部)
Cloud Run(内部)
Cloud Run(适用于 Google API 的 Private Service Connect)
Cloud Run 访问权限(无服务器 NEG)
GKE
通过 VPC 网络访问互联网

Vertex AI Agent Engine(内部)源代理

下表提供了一些资源,可帮助您在 Vertex AI Agent Engine 是源代理且流量直接通过 Google 基础架构传输时保护流量。在这些路径中,不涉及任何 VPC 网络。

目标代理(数据路径) 安全控制
Vertex AI Agent Engine(内部)
Cloud Run(内部)

Vertex AI Agent Engine(Private Service Connect 接口)源代理

下表提供了一些资源,可帮助您在 Vertex AI Agent Engine 是源代理且流量使用 Private Service Connect 接口通过 VPC 网络传输时保护流量。

目标代理(数据路径) 安全控制
Cloud Run (Private Service Connect GoogleAPIs)
Cloud Run 访问权限(无服务器 NEG)
GKE
通过 VPC 网络访问互联网

Cloud Run(内部)源代码代理

下表列出了相关资源,可帮助您在 Cloud Run 作为源代理且流量直接通过 Google 基础架构传输时保护流量。在这些路径中,不涉及任何 VPC 网络。

目标代理(数据路径) 安全控制
Vertex AI Agent Engine(内部)
Cloud Run(内部)

Cloud Run(直接 VPC 出站流量)源代理

下表提供了一些资源,可帮助您在 Cloud Run 作为源代理且流量通过直接 VPC 出站流量在 VPC 网络中传输时保护流量。

目标代理(数据路径) 安全控制
Cloud Run(适用于 Google API 的 Private Service Connect)
Cloud Run 访问权限(无服务器 NEG)
GKE
通过 VPC 网络访问互联网
适用于 Google API 的 Vertex AI Agent Engine Private Service Connect

MCP 连接安全性

以下列表概述了在保护代理运行时与 MCP 服务器之间的数据路径时所涉及的托管平台和纵深防御控制措施。对于 Vertex AI Agent Engine、Cloud Run 或 GKE 中的源代理,请根据目标 MCP 服务器使用以下安全控制措施:

  • 互联网
    • VPC Service Controls
    • Model Armor
    • Cloud NGFW
    • 安全 Web 代理
  • Google MCP
    • VPC Service Controls
    • Model Armor

后续步骤

贡献者

作者:

  • Deepak Michael | 网络专家客户工程师
  • Michael Larson | 客户工程师,网络专家
  • Victor Morno | Cloud 网络产品经理

其他贡献者: