将 GKE Gateway 用作入站 Agent Gateway

在 Google Kubernetes Engine (GKE) 集群中托管自主 AI 智能体或 Model Context Protocol (MCP) 服务器时,您必须确保来自外部客户端、开发者 CLI 和其他服务的传入连接安全。由于 AI 智能体动态确定其执行路径,因此标准第 4 层网络防火墙无法完全保护它们。通过使用 GKE Gateway API 部署区域级应用负载均衡器,您可以管理这种客户端到智能体的(入站)流量,并在请求到达工作负载之前应用 AI 专用安全防护措施。

如果您是管理 GKE 网络的平台管理员或安全工程师,则可以使用此架构安全地公开自管理代理。

为何要使用 Agent Gateway 处理入站流量?

标准微服务依赖于可预测的静态依赖项。不过,AI 智能体会根据用户提示动态确定其执行路径。为了保护这些不可预测的交互模式,您可以将标准 GKE Gateway 转换为 Agent Gateway,以实现以下目标:

  • 强制执行复合授权:在网络边缘验证调用服务的身份及其请求载荷的语义上下文。
  • 将安全性与智能体代码解耦:应用严格的双向 TLS (mTLS) 和授权政策,而无需 AI 开发者在其智能体应用中构建复杂的安全逻辑。
  • 自动清理提示:在传入的提示到达智能体的推理引擎之前,对其进行筛查,以防范提示注入攻击或有害内容。

入站流量 Agent Governance 在 GKE 上的工作原理

如需管理智能体的入站流量,您可以将标准 GKE Gateway API 资源与 Agent Platform 治理政策结合使用:

  • GKE Gateway:部署标准 Gateway 资源(配置了 gke-l7-regional-external-managed 或 gke-l7-rilb GatewayClass),以预配区域级 HTTP(S) 负载均衡器作为网络入口点。
  • Agent Gateway 定位:创建一个定位到 Gateway 资源的 GCPAgentGateway 自定义资源,将负载均衡器转换为受治理的 Agent Gateway。
  • 身份和访问权限控制:应用 GCPAuthzPolicy 自定义资源,以强制执行基于身份的第 7 层访问权限控制。您可以验证调用客户端的 SPIFFE ID,并限制对特定 MCP 方法或工具名称(例如 tools/list 或 tools/call)的访问。
  • 内容安全和自定义授权:将 Service Extension Binding 自定义资源附加到 GCPAgentGateway,以通过 Google CloudModel Armor 路由传入的提示词和传出的回答,从而阻止提示词注入攻击,或将授权决策委托给自定义身份提供方 (IDP)。

前提条件

在配置入站 Agent Gateway 之前,您的 GKE 环境必须满足以下要求:

  • GKE 集群版本:您的集群必须运行 GKE 1.37.1-gke.1697000 版或更高版本。
  • Gateway API:您必须在集群中启用 GKE Gateway API。
  • 代理身份:您必须为代理工作负载分配加密 SPIFFE 身份,以便网关可以评估基于身份的政策。如需了解如何将这些身份分配给 Pod,请参阅 GKE 的代理身份简介。
  • Agent Registry:您必须注册智能体 Deployment,以便 Agent Registry 能够发现工作负载并同步其元数据。以便 Registry 能够发现工作负载并同步其元数据。如需注册这些 Deployment,请向其添加 registry.gke.io/functional-type: "AGENT" 标签。

后续步骤