使用 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,以達成下列目標:

  • 強制執行複合授權:在網路邊緣驗證呼叫服務的身分,以及要求酬載的語意情境。
  • 將安全性與代理程式碼分離:套用嚴格的雙向傳輸層安全標準 (mTLS) 和授權政策,AI 開發人員不必在代理應用程式中建構複雜的安全邏輯。
  • 自動清理提示詞:在提示詞傳送至代理的推論引擎前,篩選傳入的提示詞,檢查是否有提示詞注入攻擊或有害內容。

ingress 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,透過 Cloud de Confiance by S3NSModel Armor 轉送傳入的提示詞和傳出的回覆,藉此封鎖提示詞注入攻擊,或將授權決策委派給自訂識別資訊提供者 (IDP)。

必要條件

設定 ingress Agent Gateway 前,GKE 環境必須符合下列需求:

  • GKE 叢集版本:叢集必須執行 GKE 1.37.1-gke.1697000 以上版本。
  • Gateway API:您必須在叢集中啟用 GKE Gateway API。
  • 代理身分:您必須為代理工作負載指派加密 SPIFFE 身分,閘道才能評估身分型政策。如要瞭解如何將這些身分指派給 Pod,請參閱「關於 GKE 的代理程式身分」。
  • 代理登錄:您必須註冊代理部署作業,代理登錄才能探索工作負載並同步中繼資料。Registry 才能探索工作負載並同步中繼資料。如要註冊,請在 Deployment 中新增 registry.gke.io/functional-type: "AGENT" 標籤。

後續步驟