Agent Gateway for GKE 概览

在 Google Kubernetes Engine (GKE) 上部署自主 AI 智能体时,这些工作负载会连接到外部资源,例如 Model Context Protocol (MCP) 服务器、SaaS API 和其他智能体。

由于 AI 智能体会根据用户提示动态确定其执行路径,因此其网络依赖项会实时发生变化。Agent Gateway 提供了一个集中式治理模型,用于保护、管理和监控这种动态智能体流量。

本文档适用于管理和保护 GKE 基础设施的平台工程师,以及在 GKE 上构建和部署 AI 智能体的开发者。

为何使用 Agent Gateway?

Agent Gateway for GKE 提供一致的用户体验,用于治理自行管理、由 GKE 托管的智能体,并在整个舰队的所有智能体交互中集中执行治理和访问政策。

  • 应用语义上下文:强制执行零信任原则。该网关超越了防火墙规则,会考虑每次互动的语义上下文、意图和载荷内容(提示/回答)。
  • 复合授权:解决“身份验证必要性”问题。安全模型可以处理复合授权,在智能体代表用户执行操作时,强制执行同时验证智能体身份(代码是否可信?)和用户身份(此人是否有权限?)的政策。
  • AI 防护措施:为了保护工作负载免受提示词注入、越狱和数据渗漏的影响,网关与Google Cloud Model Armor 集成。使用扩展程序绑定,您可以将请求和回答清理模板附加到网关,以便在载荷到达代理或外部目标之前对其进行评估。
  • 自动加密:网关使用无边车的 GKE 环境代理和其他网络服务,在网关和代理工作负载之间自动执行 mTLS 握手、TLS 终结和检查,无需代码更改或进行自定义证书管理。
  • 开箱即可使用的可观测性:受管控的智能体会自动提供丰富的遥测数据,包括会话跟踪,其中包含显示执行路径、堆栈轨迹、属性以及分步输入和输出的交互式瀑布跟踪。

主要概念

了解以下概念和产品对于在 GKE 上使用 Agent Gateway 至关重要:

  • GKE 环境代理:一种无边车服务网格数据平面,可简化 GKE 网络。您可以使用它来自动执行双向 TLS (mTLS) 并拦截出站代理流量。
  • Secure Web Proxy (SWP):一种透明的正向代理,用于强制执行安全政策并对代理的出站流量执行 TLS 检查。
  • GKE Gateway:Kubernetes Gateway API 的 GKE 实现,用于为入站客户端到代理流量预配应用负载均衡器。
  • Model Armor:一种 AI 安全服务,用于清理传入的提示词和传出的回答,以防范提示词注入和数据渗漏。
  • Identity-Aware Proxy (IAP):一项用于建立中央授权层的服务,在此处用于对通过 Secure Web Proxy 出站的流量强制执行访问权限政策。
  • 智能体身份:分配给智能体的安全、与工作负载绑定的 SPIFFE ID,用于身份验证和访问权限控制。
  • Agent Registry:组织中所有已获批准的智能体、Model Context Protocol (MCP) 服务器和工具的中央目录。
  • 扩展程序绑定:用于将可自定义的授权和内容安全扩展程序(例如 Model Armor)附加到 Agent Gateway 以评估载荷的机制。

工作原理

您可以将 Agent Gateway 与 Google Cloud 网络服务结合使用,以保护跨入站和出站流量模式的特定智能体交互流。

  • 出站流量(代理到任何位置):将代理的出站请求安全地路由到外部服务、工具和其他代理。您需要配置 GKE 环境代理,以通过Google Cloud Secure Web Proxy (SWP) 拦截和重定向流量。SWP 会强制执行您的安全政策、执行 TLS 检查,并允许您将访问权限决策委托给Google Cloud Identity-Aware Proxy (IAP) 或自定义扩展程序。
  • 入站流量(客户端到智能体或 MCP 服务器):管理外部客户端和 Google 托管的服务如何与 GKE 集群中的自管理智能体进行交互。您预配标准 Google Cloud应用负载均衡器 (GKE Gateway),并使用 Kubernetes 自定义资源应用全面的安全防护机制。您可以使用 GCPAuthzPolicy 强制执行身份、元数据和 MCP 工具 RBAC 控制,并使用 GCPExtensionBinding 进行载荷评估和委托的护栏(例如 Model Armor)。

支持的版本和区域

您的集群必须运行 GKE 1.37.2-gke.1042000 版或更高版本,该版本在快速发布渠道中提供。

此外,您只能在以下区域使用 Agent Gateway for GKE:

  • europe-west1
  • us-central1

何时使用 Agent Gateway

如果您要在 GKE 集群上部署自行管理的 AI 智能体,并且需要完成以下任一操作,请使用 Agent Gateway:

  • 保障和管控智能体与用户、其他智能体以及外部工具和服务的互动方式。
  • 在不降低开发者速度的情况下保持严格的安全状况。
  • 监控代理的性能、行为和运行状况。
  • 自动执行复杂的网络任务,包括双向 TLS (mTLS) 和 TLS 检查。
  • 应用 AI 专属保护措施,例如提示清理。

前提条件和要求

在配置入站流量或出站流量治理之前,请先完成以下前提条件:

  1. 启用必需的 API:

    gcloud services enable \
        agentregistry.googleapis.com \
        certificatemanager.googleapis.com \
        gkehub.googleapis.com \
        iap.googleapis.com \
        modelarmor.googleapis.com \
        networksecurity.googleapis.com \
        networkservices.googleapis.com \
        privateca.googleapis.com \
        serviceextensions.googleapis.com
    
  2. 创建为 Ambient Networking 配置的新 GKE 集群。 您的集群必须运行 GKE 1.37.2-gke.1042000 版或更高版本,该版本在快速发布渠道中提供。

    如需创建启用了所有必需功能的 Standard 集群,请运行以下命令:

    gcloud beta container clusters create CLUSTER_NAME \
        --machine-type=e2-standard-4 \
        --enable-ambient-networking \
        --enable-dataplane-v2 \
        --enable-fleet \
        --gateway-api=standard \
        --location=LOCATION \
        --release-channel=rapid \
        --workload-pool=PROJECT_ID.
    

    替换以下内容:

    • CLUSTER_NAME:您的集群的名称。
    • LOCATION:集群所在的区域或可用区。
    • PROJECT_ID:您的 Google Cloud 项目 ID。
  3. 配置 kubectl 以与您的集群通信:

    gcloud container clusters get-credentials CLUSTER_NAME \
        --location=LOCATION
    

    替换以下内容:

    • CLUSTER_NAME:您的集群的名称。
    • LOCATION:集群所在的区域或可用区。

后续步骤