Google Cloud 中的多代理程式私有網路模式

Last reviewed 2026-04-16 UTC

本文件提供指引,協助您設計私人網路基礎架構,支援可公開存取的多代理 Gemini Enterprise 應用程式,並在代理、子代理和工具之間建立私人連線。這項網路設計可為託管於 Gemini Enterprise Agent Platform、Cloud Run、Google Kubernetes Engine (GKE)、地端部署資料中心或其他雲端的代理,提供私人連線。這項設計也支援連線至在網際網路位置執行的代理。

多代理 AI 系統通常會涉及組織機密或專屬資料。私人網路可避免將這類流量公開至網際網路。這項設計使用 Google Cloud 網路基礎架構、虛擬私有雲 (VPC) 網路資源,以及與地端部署環境或跨雲端網路的私人連線。

在本文件所述的設計中,代理會使用 Agent2Agent (A2A) 通訊協定和 Model Context Protocol (MCP),與其他代理和工具通訊。通訊會透過虛擬私有雲網路轉送,確保私密性。為將流量移入及移出虛擬私有雲網路,這項設計結合了 Private Service Connect 端點、Private Service Connect 介面和 Cloud Run 直連虛擬私有雲輸出。Cloud Next Generation Firewall (Cloud NGFW) 會控管通過虛擬私有雲網路的流量。其他安全防護層則使用 Secure Web Proxy 提供受控的網際網路輸出,並使用 VPC Service Controls perimeter 提供 API 服務存取政策。

本文的目標對象包括建構及管理 Cloud AI 基礎架構和應用程式的架構師、開發人員和管理員。本文件假設您對 AI 代理和模型有基本瞭解,並熟悉 Google Cloud 網路概念。

多代理設計模式

多代理 Gemini Enterprise 應用程式需要自訂代理,做為自動調度管理工具或根代理,用於連結工具和子代理。為實作私人連線,連至託管於Google Cloud 或地端部署的工具和子代理,設計採用具備私人 IP 位址的虛擬私有雲網路。根代理託管於 Google 基礎架構,使用 Agent Engine、Cloud Run 或 GKE。多代理設計模式著重於下列互動:

  1. 與自訂根代理互動的 Gemini Enterprise 應用程式。Gemini Enterprise 應用程式提供代管使用者介面,內建安全功能,可公開自訂代理功能。自訂根代理會註冊至 Gemini Enterprise,並在應用程式中提供給使用者。自訂根層級代理會做為頂層工作流程自動化調度管理工具,並將特定工作委派給子代理。這個架構使用自訂根代理,託管於 Gemini Enterprise Agent Platform 的 Agent Runtime、Cloud Run 或 GKE。
  2. 根代理與子代理和工具互動。AI 系統工作流程和商業邏輯的核心,位於根層級代理和專門的子代理中。代理架構、執行階段和託管平台具有彈性,可讓您透過虛擬私有雲網路,以不同方式將根代理連結至子代理和工具。在這個架構部分使用虛擬私有雲網路,代理就能使用您定義的私人網路路徑,公開其他私人端點、企業安全控管機制,以及更廣泛的 Network Reachability。

多代理網路架構的概略總覽。

此架構含有以下元件:

  • Gemini Enterprise 應用程式:使用者可透過這個前端介面,存取應用程式內即時通訊介面,並與多代理式 AI 系統互動。使用者可以透過公開網際網路,或透過混合式連線私下存取 Gemini Enterprise 應用程式。
  • 自訂代理:使用 Gemini Enterprise 建構及註冊,並託管於 Agent Runtime、Cloud Run 或 GKE 的根代理。這些根層級代理就像自動調度管理工具,會將工作委派給子代理。
  • 虛擬私有雲網路:您控管的資源,可為代理提供 IP 網路連線,連至私人端點和更廣泛的網路。虛擬私有雲網路提供平台,可為代理對其他代理和工具的要求,實作私人連線和網路安全控管機制。
  • 子代理:由根代理工作流程觸發的專用代理。子代理會使用 A2A 通訊協定進行通訊,無論程式設計語言和執行階段為何,代理之間都能互通。
  • 工具:公開 API、資料來源和工作流程函式等服務的遠端系統。這些工具會擷取資料,並為代理執行動作或交易。工具位於代理外部,代理會使用 MCP 規格連結及與工具互動。

這個高階多代理式 AI 設計模式,重點在於多代理式 AI 系統中的網路元件。支援多種不同的代理間轉送模式。如要瞭解其他 AI 系統設計模式,請參閱「選擇代理式 AI 系統的設計模式」。

Shared VPC

多代理程式設計模式使用 Shared VPC,集中管理網路和安全性的權限與責任。這種設計可為開發人員提供有助於滿足組織安全性需求的環境。建議您使用 Shared VPC 集中管理,簡化網路和安全性設定。

在Shared VPC架構中,主專案包含共用網路資源,包括虛擬私有雲網路、Cloud Router、子網路、防火牆和 Cloud DNS。管理員可以授予服務專案使用這些資源的權限。服務專案包含代理執行階段資源,包括 Agent Runtime、Cloud Run、GKE、Gemini Enterprise 和應用程式專屬負載平衡器。

Shared VPC 會在網路和資安管理員角色,以及 AI 應用程式開發人員角色之間,強制執行明確的界線:

  • 網路和安全性管理員控管核心基礎架構,例如虛擬私有雲路由、子網路、DNS 對接和防火牆政策。
  • AI 應用程式開發人員在附加的服務專案中建構代理,但沒有權限修改基礎網路基礎架構。

將網路和安全性部署作業集中在主專案中,即可建立單一管理點,用於代理與代理、代理與服務之間的通訊。這種設計可簡化多項服務專案的安全性政策強制執行作業,同時確保連線一致。

您可以使用 Network Connectivity Center (NCC) 虛擬私有雲輪輻,將 Shared VPC 網路新增為工作負載虛擬私有雲網路,藉此將 Shared VPC 網路納入Cross-Cloud Network。這項實作可讓 Shared VPC 完整連線至 NCC 中樞路由,並連線至其他輪輻的服務存取點。

從自訂根代理啟動的要求會使用客戶自行管理的私人虛擬私有雲網路,為子代理、工具和服務提供安全的網路路徑。虛擬私有雲網路路由會控管私人端點的可連性。套用至虛擬私有雲網路的 Cloud NGFW 政策會控管網路存取權。

代理可安全存取私人虛擬私有雲網路路徑,包括連線至下列項目:

  • 其他虛擬私有雲網路,透過虛擬私有雲網路對接、多 NIC 設備或 NCC 連線。
  • 用於存取供應商服務的 Private Service Connect 端點。
  • 具有私人 IP 位址的代管服務,例如 Cloud SQL。
  • 內部負載平衡器前端和 Compute Engine 資源。
  • 透過 Private Google Access 或 Private Service Connect 存取 Google API。
  • 透過 Secure Web Proxy 控管的網際網路。
  • 使用 Cloud Interconnect、Cloud VPN、路由器設備或 SD-WAN 的混合雲和跨雲端目的地。
  • 可透過虛擬私有雲網路 IP 路由連線的任何端點目的地。
  • 其他 AI 代理、工具和支援服務。

如要進一步瞭解 Shared VPC,請參閱下列資源:

Gemini Enterprise 網路

Gemini Enterprise 應用程式是代管資源,在虛擬私有雲網路外部,但位於 Google 網路內的託管環境中運作。以下各節說明使用者與 Gemini Enterprise 應用程式之間的網路設定,以及應用程式與代理之間的網路設定。

使用者與 Gemini Enterprise 應用程式對話

使用者透過瀏覽器應用程式與 Gemini Enterprise 應用程式對話,向 Google API 和服務傳送要求。如要啟用私人使用者連線,您可以設定 Google API 網址,解析為透過虛擬私有雲網路轉送的私人 IP 位址範圍。詳情請參閱「設定私人 UI 存取權」。

Gemini Enterprise 應用程式與自訂代理

您可以使用 Gemini Enterprise 探索服務註冊自訂代理。註冊代理時,Gemini Enterprise 會將代理名稱對應至特定目標,也就是 Agent Runtime 資源 URI 或 A2A 代理網址。Gemini Enterprise 應用程式內建名為「助理」的對話介面。當使用者透過 @agent_name 指定代理,或助理決定委派時,應用程式會在註冊資料庫中查詢代理,找出相關聯的端點。

將根代理註冊至 Gemini Enterprise 後,即可將該代理部署為自訂代理。Agent Runtime 和 Cloud Run 上的自訂代理,可以使用現有的私人網路路徑,不需設定額外的網路資源。如要在 GKE 上部署自訂代理,您必須使用外部閘道公開服務。如要瞭解如何設定外部閘道,提高安全性,請參閱本文後續的「GKE 網路」一節。

如要向自訂代理提出要求,Gemini Enterprise 會使用 Gemini Enterprise Agent Platform Discovery Engine 服務帳戶身分。網路路徑和授權機制會因您使用的託管平台而異:

  • Agent Runtime 上的自訂代理:Agent Platform Discovery Engine 服務代理包含必要的 Agent Platform Identity and Access Management (IAM) 角色,可叫用 Agent Runtime 資源做為內建功能。系統會透過 Google 網路,將向 Agent Platform API 服務提出的要求轉送為內部 API 呼叫。
  • Cloud Run 上的自訂代理:Gemini Enterprise 應用程式會使用 Agent Platform Discovery Engine 服務代理身分,呼叫從代理資訊卡註冊的穩定 run.app 網址。為使 AI 代理 Cloud Run 服務授權這些呼叫,您必須將 Cloud Run Invoker IAM 角色 (roles/run.invoker) 授予 Discovery Engine 服務代理。傳送至 Cloud Run 的要求會透過 Google 正式環境網路,轉送至 Cloud Run 的 Google Front End (GFE) 輸入。
  • GKE 上的自訂代理:Gemini Enterprise 應用程式會使用 Agent Platform Discovery Engine 服務代理身分,呼叫從代理資訊卡註冊的網址。公開 DNS 必須能將主機名稱解析為閘道管理的外部 IP 位址。建議您使用 gke-l7-regional-external-managed 負載平衡器或 gke-l7-global-external-managed 負載平衡器。為提升安全性,建議 Gemini Enterprise 使用 Identity-Aware Proxy (IAP),呼叫 GKE 託管的 A2A 代理。為使 IAP 授權這些呼叫,您必須將受 IAP 保護的網頁應用程式使用者 IAM 角色 (roles/iap.httpsResourceAccessor) 授予 Discovery Engine 服務代理。Google 正式環境網路會將傳送至 GKE 的要求,轉送至 GFE,以便外部應用程式負載平衡器輸入。

    如要透過 Gemini Enterprise 保護 GKE Ingress,請參閱本文件後續的「IAP」和「Google Cloud Armor」章節。

代理託管平台的私人網路

使用者向 Gemini Enterprise 應用程式發出要求後,系統會從自訂根代理向子代理和工具發出要求。自訂代理託管平台提供 Gemini Enterprise 和虛擬私有雲網路之間的介面。容器化代理和工具的託管平台包括 Agent Runtime、Cloud Run 和 GKE。

選擇代理託管平台時,您需要考量各平台的私人網路模式、安全性控管機制、管理控制、自訂程度和安全性法規遵循。如要進一步瞭解如何選取 AI 代理託管平台,請參閱「為生成式 AI 應用程式選擇模型和基礎架構」和「選擇代理式 AI 架構元件」。

您可根據使用的代理託管平台,透過不同機制建立私人虛擬私有雲連線:

  • Agent Runtime 上的自訂代理:Private Service Connect 介面會將 Agent Runtime 執行階段連線至虛擬私有雲網路。您可以在虛擬私有雲網路的子網路中建立網路連結,並授予 Agent Runtime 連結權限。從 Agent Runtime 傳送的流量會顯示在虛擬私有雲網路中,就像是從連結的子網路 IP 位址傳送。接著,虛擬私有雲網路會將流量轉送至適當的目的地 IP 位址。
  • Cloud Run 上的自訂代理:Cloud Run 直連虛擬私有雲輸出會將 Cloud Run 服務執行個體連線至虛擬私有雲網路。部署 Cloud Run 服務時指定的虛擬私有雲網路,可以來自 Cloud Run 服務專案或其 Shared VPC 主專案。從 Cloud Run 傳送的流量會顯示在虛擬私有雲網路中,就像是從直連虛擬私有雲輸出的子網路 IP 位址發出。接著,虛擬私有雲網路會將流量轉送至適當的目的地 IP 位址。
  • GKE 上的自訂代理:GKE 叢集直接位於虛擬私有雲網路中,並使用本機子網路 IP 位址。根據預設,GKE 輸出流量會使用 Pod IP 位址做為來源 IP 位址。如果您設定了偽裝,GKE 輸出流量會使用節點 IP 位址做為來源 IP 位址。所有 GKE 輸出流量都會由虛擬私有雲網路轉送。

下列各節提供額外指引,說明如何管理各個代理託管平台進出虛擬私有雲網路的輸入和輸出要求。網路考量事項適用於根代理和子代理功能。

Agent Runtime 網路

本節說明託管於 Agent Runtime 的根代理和子代理的私人網路。如果您使用 Agent Runtime 託管根代理,則必須在同一個專案中部署 Gemini Enterprise 和 Agent Runtime。

Agent Runtime 會在虛擬私有雲網路以外的 Google 基礎架構上託管容器。如要啟用與其他代理程式的私人連線,請使用下列方法將代理程式連線至虛擬私有雲網路:

如要允許代理與其他代理之間的要求,請設定上述兩項連線。

Agent Runtime 輸出至虛擬私有雲網路

Agent Runtime 會使用 Google 代管的租戶專案進行網路輸出。租戶網路可讓代理連線至 Google API 和公開網際網路輸出,但預設不會直接連線至客戶虛擬私有雲網路。

如要將代理連結至虛擬私有雲網路中的資源,Agent Runtime 會使用 Private Service Connect 介面。Agent Runtime 會在租戶專案中部署網路介面,連線至專案中的網路連結資源。這項連線會在 Agent Runtime 執行階段和虛擬私有雲網路之間建立安全的資料路徑。在 Agent Runtime 專案中設定 Private Service Connect 介面後,系統會將所有非 Google API 的代理流量轉送至虛擬私有雲網路。

如要部署 Agent Runtime 虛擬私有雲網路輸出,請參閱下列資源:

如要進一步保護代理和 Agent Runtime 輸出作業的虛擬私有雲網路,請參閱本文後續章節:

從虛擬私有雲網路輸入 Agent Runtime

如要向在 Agent Runtime 執行的代理提出要求,請使用 Agent Platform API 端點 (aiplatform.googleapis.com)。如要透過虛擬私有雲網路的私人網路路徑連至 Google API 端點,請使用 Private Google Access,或適用於 Google API 的 Private Service Connect 端點。

私人使用者向代理查詢時,必須將 Agent Platform API 端點主機名稱解析為Private Google Access的私人 IP 位址範圍,或 Google API 的 Private Service Connect 端點 IP 位址。 googleapis.com 的私人代管 Cloud DNS 區域 會解析 Agent Platform API 的要求。虛擬私有雲網路會直接透過 Google 正式環境網路轉送要求。

如果您使用 Private Google Access 或 Private Service Connect for Google APIs,可以透過下列產品和功能,保護從虛擬私有雲網路傳送至 Agent Runtime 的流量:

其他 Agent Runtime 網路注意事項

使用 Private Service Connect 介面的 Agent Runtime 輸出流量,只能轉送至虛擬私有雲網路中的 RFC 1918 IP 位址範圍。如要瞭解 Agent Runtime egress 無法轉送的特定目的地範圍,請參閱「子網路 IP 範圍規定」。如要連線至不可路由的 IP 位址範圍目的地,請在代理程式上使用明確的 Proxy 設定,並在虛擬私有雲網路中部署使用可路由 IP 位址的 Proxy 資源。

部署 Agent Runtime 時,如果未使用 Private Service Connect 介面,預設會存取網際網路。為防範資料竊取,請啟用 VPC Service Controls,停用預設存取權。

使用 Private Service Connect 介面部署 Agent Runtime 時,無論是否啟用 VPC Service Controls,都會停用直接網際網路輸出。如果需要代理存取 Agent Runtime 通常無法連線的目的地 (例如網際網路),請按照下列步驟操作:

  1. 在虛擬私有雲網路的 RFC 1918 子網路中設定 Secure Web Proxy。您必須在明確 Proxy 轉送模式中設定 Proxy。
  2. 為 Secure Web Proxy 主機名稱建立 Cloud DNS 記錄。
  3. 為 Agent Runtime 設定 DNS 對接,支援代理 DNS 查詢解析至虛擬私有雲網路中 Secure Web Proxy 的私人位址。
  4. 部署代理時,請執行下列操作:
    1. 定義環境變數,指定 Secure Web Proxy 主機名稱和通訊埠,以使用明確 Proxy。
    2. 如要存取私人目的地,請為該目的地設定私人 DNS 區域。

從 Agent Runtime 輸出的流量到達虛擬私有雲網路後,即可到達虛擬私有雲網路可轉送的任何網路目的地。如要瞭解如何限制 Agent Runtime 代理可用的輸出網路目的地範圍,請參閱本文後續的「Cloud NGFW」一節。

Cloud Run 網路

本節說明託管於 Cloud Run 的根代理和子代理的私人網路。Cloud Run 會在虛擬私有雲網路以外的 Google 基礎架構上託管容器。如要啟用與其他代理的私人連線,請使用下列方法將代理連線至虛擬私有雲網路:

如要允許代理與其他代理之間的要求,請設定上述兩項連線。

Cloud Run 輸出至虛擬私有雲網路

如要啟動 Cloud Run 連線至虛擬私有雲網路,建議使用直連虛擬私有雲輸出。使用直連虛擬私有雲輸出時,Cloud Run 執行個體會使用您在部署直連虛擬私有雲輸出時指定的子網路 IP 位址,直接連線至 Shared VPC 網路。

設定直連虛擬私有雲輸出時,請按照下列步驟操作:

  1. 設定目標子網路,並啟用Private Google Access。
  2. 設定流量轉送,將所有流量轉送至虛擬私有雲網路。

這項設定會透過虛擬私有雲網路傳送所有流量,以確保隱私,並透過 Google 內部網路將要求從 Cloud Run 傳送至其他 Google API。

所有來自 Cloud Run 的 DNS 查詢,都會使用與虛擬私有雲網路相關聯的 Cloud DNS 政策和區域。無須額外設定 DNS 對接。託管於 Cloud Run 的代理程式會解析所有 Cloud DNS 私人區域和公開主機名稱。

如要瞭解如何進一步保護代理和 Cloud Run egress 的虛擬私有雲網路,請參閱本文件後續章節:

從虛擬私有雲網路輸入 Cloud Run

Cloud Run 是 Google 代管的平台,在虛擬私有雲網路以外的環境中運作。這個環境會託管穩定的 *.run.app 網址端點,用於執行 AI 代理或工具工作負載的 Cloud Run 服務。這些端點由提供 *.googleapis.com API 服務的相同 GFE 進入點提供。Cloud Run 使用的基礎網路路徑,與 Private Google Access 和 Private Service Connect for Google API 啟用私人連線的路徑相同。

虛擬私有雲網路上的私人使用者向代理或工具發出查詢時,必須將 run.app 主機名稱解析為 Private Google Access 的私人 IP 位址範圍,或 Google API 的 Private Service Connect 端點 IP 位址。run.app 網址的私人代管 Cloud DNS 區域會解析 Cloud Run 服務的要求。虛擬私有雲網路會直接透過 Google 正式環境網路轉送要求。

將 Cloud Run 輸入設為「Internal」(內部),即可限制服務存取權,只允許來自已驗證內部來源的要求。核准的來源包括:

  • Cloud Run 服務專案的虛擬私有雲網路。
  • 託管直連虛擬私有雲輸出端點的共用虛擬私有雲網路。
  • 位於相同 VPC Service Controls 範圍內的資源。
  • 虛擬私有雲網路中的內部應用程式負載平衡器。
  • 服務專案或 VPC Service Controls 範圍內的 Google 服務,例如 Cloud Scheduler 和 Pub/Sub。

如果未透過共同的 VPC Service Controls perimeter 涵蓋呼叫和被呼叫的服務,則來自 Cloud Run 服務專案或 Shared VPC 環境外部的流量會視為外部流量。這類流量包括來自其他 Google Cloud服務 (例如 Agent Runtime 和其他 Cloud Run 服務) 的流量。為通過 Cloud Run 內部輸入檢查,這類流量的轉送方式必須看起來像是來自目標服務的虛擬私有雲網路。

如要提供必要的內部網路歸因,您可以採取下列任一做法:

  • 使用 Private Service Connect 端點,允許其他虛擬私有雲或專案中的服務,透過虛擬私有雲網路中的私人 IP 位址,連線至 Google API 和服務,包括 Cloud Run 服務。
  • 透過內部應用程式負載平衡器轉送流量,該負載平衡器位於虛擬私有雲網路中,且位於 Cloud Run 服務前端。負載平衡器會透過虛擬私有雲網路,將其他服務的要求匯入,以符合內部輸入條件。

內部應用程式負載平衡器搭配無伺服器網路端點群組 (NEG) 後端,可建立直接對應至 Cloud Run 服務的虛擬私有雲資源。在這個模式中,負載平衡器會使用信任的憑證終止用戶端 TLS 連線。內部應用程式負載平衡器支援其他安全控管機制,包括 Cloud Armor 後端安全性政策和其他授權政策。

根據預設,所有 Cloud Run 服務都必須通過 IAM 驗證才能存取。建議您為每項服務使用一個身分,並將 Cloud Run 叫用者 IAM 角色 (roles/run.invoker) 授予主體。

如要瞭解如何設定 Cloud Run 輸入控管,請參閱下列資源:

如果您使用 Private Google Access 或 Google API 的 Private Service Connect 端點,將流量從虛擬私有雲網路傳送至 Cloud Run,則可使用下列產品和功能保護該流量:

如果您使用內部應用程式負載平衡器,將流量從虛擬私有雲網路傳送至 Cloud Run,可以使用下列產品和功能保護流量:

GKE 網路

本節說明以 GKE 為基礎的代理網路。

GKE 和 Gemini Enterprise

GKE 可託管 AI 代理和工具,提供高度可自訂的網路和安全控管平台。在 GKE 部署多代理式 AI 系統,可大規模提升作業效率。可與其他 Kubernetes 應用程式和大型微服務架構緊密整合。

GKE 叢集是 Compute Engine VM 節點,在虛擬私有雲網路的子網路中運作。Gemini Enterprise 應用程式是代管資源,在虛擬私有雲網路外的託管環境中運作。如要讓 Gemini Enterprise 應用程式呼叫託管於 GKE 的自訂代理,您必須安全地公開具有公開 IP 位址和 DNS 名稱的外部閘道。流量會從 Gemini Enterprise 輸出至 Google 邊緣網路,並透過最佳化路徑傳送至 GKE 外部負載平衡器。

請務必使用強式驗證和授權、Cloud Armor 和有限權限,保護 GKE 端點。如要提供全方位的縱深防禦模型,保護在 GKE 上執行的 AI 代理,請考慮採用下列各節所述的安全控管機制。

GKE 作業模式

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

  • Autopilot:Google 會自動化整個 GKE 叢集基礎架構,包括控制層、節點佈建、安全性強化和資源調度。
  • Standard:Google 會管理控制層。您必須全權負責節點集區設定,例如選取機型、管理 OS 映像檔,以及手動調度資源。
基礎架構和控制層強化
  • 私人 GKE 叢集:佈建沒有公開 IP 位址的節點,確保執行階段環境不會直接暴露於網際網路。
  • 主要授權網路:將 Kubernetes API 的管理員權限限制在特定、受信任的 IP 位址範圍,強化控制層,防止未經授權的設定變更。使用 Google Cloud的 IAM 和 VPC Service Controls,保護 Kubernetes API 的 DNS 端點。
身分與存取權 (零信任)
  • IAP:在負載平衡器層級扮演守門員的角色。確保只有通過驗證且具備正確 IAM 權限的使用者,才能存取代理端點。這種做法可有效將安全防護範圍從網路轉移至個別使用者及其裝置情境。
邊緣防護和流量管理
  • Cloud Armor:提供強大的邊緣安全性,包括網頁應用程式防火牆 (WAF) 規則,可協助封鎖惡意酬載;DDoS 防護功能,可協助確保運作時間;以及頻率限制,可協助防止服務耗盡。
  • Model Armor:專為 LLM 安全性設計,可即時檢查及清理提示詞和回覆,防範提示詞注入和資料竊取。
內部網路隔離
  • Kubernetes 網路政策:強制執行微服務之間的精細、最小權限通訊。根據預設,除非您明確允許,否則政策會拒絕所有流量,防止叢集內發生橫向移動。

GKE 輸出至虛擬私有雲網路

虛擬私有雲網路會轉送 GKE 託管代理的傳出連線。預設的 GKE 叢集網路模式為虛擬私有雲原生,提供下列屬性:

  • GKE 叢集使用別名 IP 位址範圍。
  • 指定 Pod IP 範圍,即可保留 Pod IP 位址。
  • Pod IP 位址可在叢集虛擬私有雲網路和其他連結的虛擬私有雲網路中原生轉送。

如果代理程式 Pod 與同一節點中的子代理程式 Pod 通訊,流量會在本機透過節點網路命名空間轉送。如果目的地代理程式 Pod 位於叢集內的不同節點,則會使用虛擬私有雲網路路由表轉送流量。如要讓代理 Pod 與其他虛擬私有雲資源 (例如負載平衡器或 Private Service Connect 端點) 通訊,可以使用相同的標準虛擬私有雲轉送功能,並遵守防火牆規則,即可連線至目的地。

您可以使用下列產品和服務,保護離開 GKE 叢集的流量:

從虛擬私有雲網路輸入 GKE

Kubernetes Service 可讓您存取 GKE 資源。如果是多代理式 AI 系統,建議使用 GKE Gateway 或 GKE Inference Gateway。閘道提供更強大的功能,包括流量控管、資源作業區隔和安全性整合。不過,視系統需求而定,您也可以選擇其他輸入服務選項。

Gateway 資源會建立應用程式負載平衡器,並佈建所有必要的負載平衡元件。服務的後端網路端點群組已連結,可直接為容器提供負載平衡。如要為源自虛擬私有雲網路的流量在內部公開服務,請使用區域性內部應用程式負載平衡器 (gke-l7-rilb) 或跨區域內部應用程式負載平衡器 (gke-l7-cross-regional-internal-managed-mc) 的閘道類別。

應用程式負載平衡器提供額外的安全控管點,可保護託管於 GKE 叢集的 AI 代理和工具:

  • Cloud Armor:將 Cloud Armor 安全性政策附加至閘道管理的後端服務,藉此保護服務。在流量到達 GKE 叢集或 IAP 之前,這項服務會提供 WAF 篩選、IP 位址和地理位置篩選、DDoS 防護和頻率限制。
  • IAP:在後端服務上啟用,可使用 IAM 憑證控管應用程式存取權,並強制執行零信任存取政策。IAP 會驗證及授權存取叢集資源的 AI 代理,包括 Gemini Enterprise 應用程式、自訂代理和外部資源。呼叫端必須具備經 IAM 驗證的身分,並有權存取後端服務。

如果透過閘道將流量從虛擬私有雲網路傳送至 GKE 服務,可以使用下列產品和功能保護流量:

如果您不使用閘道將流量從虛擬私有雲網路傳送至 GKE 服務,可以使用下列產品和服務保護流量:

如要進一步瞭解如何保護 GKE,請參閱「網路安全最佳做法」和「瞭解 GKE 的網路安全」。

代理網路安全

如要保護多代理式 AI 系統的網路,必須確保虛擬私有雲網路和 API 介面的通訊安全。虛擬私有雲網路資料層可解決代理和工具如何安全連線的問題。API 介面會定義允許的身分和資料交換類型。在虛擬私有雲網路和 API 介面中分層控管存取權,有助於落實高度控管且彈性的資安態勢。

Cloud NGFW

Cloud NGFW 扮演網路層級的守門人,保護 A2A 和 MCP 通訊。防火牆會驗證與其他代理和工具之間的所有傳入或傳出連線,確保只有授權流量能到達代理端點。

Cloud NGFW 是內建於虛擬私有雲網路架構的分散式防火牆服務。這項服務提供下列功能層級,可在網路堆疊的不同層級運作:

  • Cloud Next Generation Firewall Essentials:提供有狀態防火牆封包篩選功能。政策規則是根據 IP 位址 (L3)、通訊協定和通訊埠 (L4) 定義。
  • Cloud Next Generation Firewall Standard:提供以 IP 為基礎的強制執行功能,並使用完整網域名稱 (FQDN) 物件、地理位置物件和 Google Threat Intelligence 的動態饋給,封鎖已知的惡意位址。
  • Cloud Next Generation Firewall Enterprise:提供真正的應用程式 (L7) 檢查功能,以及 TLS 解密和入侵偵測與防禦系統 (IDPS) 功能,可根據進階威脅特徵分析酬載。

Cloud NGFW 可套用至虛擬私有雲網路,根據所需規則強制執行防火牆政策,指定您使用的代理託管平台。

  • Agent Runtime:在 Agent Runtime 中執行的代理,會使用 Private Service Connect 網路連結連線至虛擬私有雲網路。這些連結會使代理網路介面顯示在虛擬私有雲網路的子網路中。Cloud NGFW 網路防火牆政策會套用至虛擬私有雲網路。政策會根據 Private Service Connect 網路連結專用子網路的來源 IP 位址篩選流量。如要比對流量,可以使用來源 IP 位址和目的地 IP 位址範圍。
  • Cloud Run:使用直連虛擬私有雲輸出的 Cloud Run 服務,會直接從虛擬私有雲網路中指定子網路內執行的執行個體傳送流量。Cloud NGFW 網路防火牆政策會套用至 Cloud Run 用來篩選流量的子網路。如要比對流量,可以使用來源 IP 位址和目的地 IP 位址範圍。
  • GKE:虛擬私有雲原生 GKE 叢集會直接從虛擬私有雲網路次要 IP 位址範圍,為 Pod 提供 IP 位址。網路防火牆政策可根據 GKE 節點和 Pod 的 IP 位址範圍篩選流量,並可使用安全標記和服務帳戶。安全標記會繫結至做為 GKE 節點的 VM 執行個體。防火牆規則可以指定或來源流量 來自具有特定標記的節點。防火牆規則也可以根據與節點集區相關聯的服務帳戶身分,指定或來源 GKE 節點的流量。

預設拒絕輸出政策

實施預設拒絕策略是符合最小權限原則的安全最佳做法。這項策略可確保系統只允許明確允許的網路流量,並預設封鎖所有其他流量。如要實作這項功能,請建構防火牆規則,其中包含高優先順序的 ALLOW 規則 (用於已知、合法的流量),以及低優先順序、涵蓋所有流量的 DENY 規則。所有 Cloud NGFW 級別都允許根據來源和目的地 IP 位址範圍設定規則。

防火牆政策規則可有效比對來自 Agent Runtime 網路連結子網路和 Cloud Run 直連虛擬私有雲輸出子網路的來源流量。

以下是預設拒絕輸出政策範例:

  • 建立網路防火牆政策和規則:建立全域或區域防火牆政策,並與虛擬私有雲網路建立關聯。建立防火牆政策規則,根據來源 IP 位址範圍 (--src-ip-ranges=SRC_IP_RANGES) 和目的地 IP 位址範圍 (--dest-ip-ranges=DEST_IP_RANGES),指定輸出方向 (--direction=EGRESS) 的流量。
  • 特定ALLOW規則:使用較小的優先順序值,例如 100-1000。這些規則會精確允許 AI 代理運作所需的網路流量。這類流量包括與其他內部服務、負載平衡器、必要 Google API 或合法外部端點的通訊。建立規則,比對從 Agent Runtime 網路連結子網路或 Cloud Run 直連虛擬私有雲輸出子網路,傳送至所需目的地的來源流量。
  • 一般DENY規則:為確保規則在評估順序中排在最後,請使用最高優先順序編號,例如 2147483647。這項規則會拒絕傳送至任何目的地 (--dest-ip-ranges=0.0.0.0/0) 的流量,前提是該目的地不符合上述任何 ALLOW 規則。

預設拒絕輸出政策可防止 AI 代理建立未明確授權的網路連線,並封鎖潛在的資料竊取行為或惡意網站存取。這項政策會限制託管代理,只與核准的端點通訊,這對控管自主工作負載至關重要。

其他 Cloud NGFW 政策注意事項

除了所有 Cloud NGFW 級別都提供的預設拒絕策略外,您還可以使用付費級別功能,進一步強化多代理式 AI 網路安全:

  • Cloud NGFW Standard 功能:
    • 動態端點的 FQDN 物件:AI 代理經常與外部 API、模型端點或資料來源互動,這些來源的 IP 位址可能會變更。如要透過網域名稱持續存取必要服務,請在 ALLOW 規則中使用 FQDN 物件。
    • 地理位置控管:如果 AI 代理有法規遵循要求,或不應與特定地理區域的服務互動,請在防火牆規則中使用地理位置物件 (--src-region-codes=SRC_COUNTRY_CODES),限制往返這些位置的流量。
    • Google Threat Intelligence:在輸出篩選器中使用 Google Threat Intelligence,自動封鎖代理連線至已知惡意目的地,例如指揮與控制 (C2) 伺服器、Tor 等匿名器,以及惡意軟體發布網站。使用 Google Threat Intelligence 有助於控制可能遭入侵的代理所造成的影響。建議您將這些目的地篩選器納入優先順序編號較高 (評估順序較低) 的 DENY 規則中。
  • Cloud NGFW Enterprise 功能:
    • 第 7 層檢查:如果代理程式會處理機密資料或面臨較高風險,請檢查封包酬載,找出惡意軟體、間諜軟體和漏洞等網路層防火牆規則未分析的威脅。
    • TLS 檢查:如要允許檢查引擎分析加密流量,請啟用 TLS 檢查。TLS 檢查至關重要,因為大多數現代攻擊和 C2 通訊都經過加密。

如需其他可能適用於您環境的導入考量或限制,請參閱下列資源:

IAP

IAP 為 AI 應用程式提供中央驗證和授權層,保護傳入 GKE 叢集的 ingress 要求。IAP 會攔截所有傳送至閘道的 HTTPS 要求,並檢查呼叫者的身分和權限。IAP 只允許經過驗證和授權的要求傳遞至後端服務工作負載。閘道負載平衡器上的 IAP 只會保護來自叢集外部的流量。叢集內的通訊不會通過 IAP。

如要存取託管於 GKE 且受 IAP 保護的 AI 應用程式,主體使用者身分必須具備受 IAP 保護後端服務資源的「受 IAP 保護的網頁應用程式使用者」IAM 角色 (roles/iap.httpsResourceAccessor)。建議您設定自訂服務帳戶,做為已部署代理程式的身分。使用自訂服務帳戶,即可根據最小權限原則,更精確地指派權限。

請務必只將「受 IAP 保護的網頁應用程式使用者」IAM 角色,直接授予有權存取其他代理和工具的代理服務帳戶,這些代理和工具託管於 GKE BackendConfig 自訂資源。如要允許 Gemini Enterprise 應用程式存取,請為 Gemini Enterprise 專案繫結 IAM 角色「Discovery Engine 服務帳戶」(roles/discoveryengine.serviceAgent),藉此授予權限。

VPC Service Controls

VPC Service Controls 嚴格控管 Google API 的存取權,降低資料竊取風險。建議您部署單一巨集 perimeter,納入所有支援的服務。這種做法能最有效地防範資料竊取。為確保共用虛擬私有雲架構的政策執行一致,請務必將主專案和所有相關聯的服務專案納入同一個 service perimeter。

為確保 Gemini Enterprise 與 Cloud Run 跨專案邊界的互動安全,建議採取下列做法:

  • 部署單一 VPC Service Controls 範圍,涵蓋 Gemini Enterprise 和 Cloud Run 專案。
  • 將所有支援的 VPC Service Controls 服務新增至受限制服務清單。這種做法有助於防止未經授權的管理變更。
  • 強制執行內部輸入和授權設定,禁止所有公開網路連線能力存取 Cloud Run 服務。

Cloud Run 服務受到 IAM 保護。呼叫端必須經過驗證,且具備目標服務的 Cloud Run 叫用者 IAM 角色 (roles/run.invoker)。系統會驗證授權標頭中的權杖,藉此檢查角色。如要成功呼叫 Cloud Run 服務,也必須將 Cloud Run 叫用者角色授予服務帳戶,例如 Gemini Enterprise 使用的服務帳戶。

如果 Gemini Enterprise 和 Cloud Run 部署在不同專案,則必須設定 VPC Service Controls perimeter,才能將 Cloud Run 輸入設為「Internal」(內部)。如果沒有這個 perimeter,Gemini 的跨專案呼叫會被視為外部流量,您就必須將 Cloud Run 輸入設為「All」(全部),導致服務暴露在公開網際網路上。

  • 如果下列兩項條件皆為是,則支援 Cloud Run 輸入 all:
    • 未啟用 VPC Service Controls。
    • Cloud Run 和 Gemini Enterprise 不在同一個專案中。
  • 所有其他設定僅支援 Cloud Run 輸入 internal。

其他 VPC Service Controls 注意事項

在 VPC Service Controls 範圍內部署 Cloud Run 時,建議您實施下列政策護欄,確保全面防護:

  • 限制允許的輸入設定:設定 run.allowedIngress 組織政策限制,防止開發人員不小心部署公開端點。這項限制僅適用於新的部署作業。先前的部署作業可能不符合規定。建議您稽核 perimeter 內現有的 Cloud Run 服務,並重新部署或更新不符合必要輸入和輸出設定的服務。
    • 如要僅允許內部要求,請將值設為 internal。
    • 如要允許要求透過外部應用程式負載平衡器傳送,請將值設為 internal-and-cloud-load-balancing。
  • 限制允許的虛擬私有雲輸出設定:如要透過虛擬私有雲轉送所有傳出要求,以便由 perimeter 防火牆規則檢查,請將 run.allowedVPCEgress 組織政策限制值設為 all-traffic。這項設定要求每個 Cloud Run 修訂版本都必須使用直連虛擬私有雲輸出,或無伺服器 VPC 存取連接器。這項限制僅適用於新的部署作業。先前的部署作業可能不符合規定。建議您稽核 perimeter 內所有現有的 Cloud Run 服務,並重新部署或更新不符合所需輸入和輸出設定的服務。
  • 將容器映像檔和服務放在同一位置:含有容器映像檔的 Artifact Registry 存放區,必須與 Cloud Run 服務位於相同 perimeter。除非您建立明確的輸入和輸出規則,否則系統會自動禁止跨 perimeter 提取映像檔。
  • 管理存取層級:Cloud Run 叫用不支援 VPC Service Controls 輸入政策規則,以及依賴 IAM 主體身分的存取層級。您必須改用網路條件或裝置存取層級來管理存取權。

Model Armor

Model Armor 是一項以 API 為基礎的服務,可強化 AI 應用程式的安全性。AI 代理會與 Model Armor 互動,在使用者提示詞傳送至 LLM 前,以及模型回覆傳回給使用者前,呼叫 Model Armor 清理這些內容。Model Armor 會主動篩選 LLM 提示詞和回覆,提供重要的檢查點來偵測新興風險,並提供控制點來實施負責任的 AI 標準。建議您使用 Model Armor,確保符合資料落地要求和資料主權法規。如要在 VPC Service Controls 範圍內使用 Model Armor,您必須在虛擬私有雲網路中,為 Model Armor 區域端點設定 Private Service Connect 端點。

Model Armor 是區域性服務,可透過虛擬私有雲網路中的區域性 Private Service Connect 端點私下存取。舉例來說,us-central1 服務是使用區域端點 modelarmor.us-central1.rep.googleapis.com 呼叫。區域端點有助於確保資料落地。

如要為代理啟用存取權,請在需要 Model Armor 服務的每個區域中,設定下列元件:

  1. 在 Model Armor 服務所在的虛擬私有雲網路區域中,建立或找出 RFC 1918 子網路。
  2. 在 RFC 1918 子網路中建立區域端點。
  3. 建立 Cloud DNS 私人區域,並為 Model Armor 區域端點主機名稱 (例如 modelarmor.us-central1.rep.googleapis.com) 建立記錄,解析為區域端點的 IP 位址。
  4. 如要確保 Agent Runtime 互通性,請建立從 Agent Runtime 到與虛擬私有雲網路相關聯的 Cloud DNS 私人區域的 DNS 對接。當代理向 Model Armor 提出要求時,Cloud DNS 會將主機名稱要求解析為虛擬私有雲網路中 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 位址和標頭定義其他自訂規則。
  • 閘道:使用全域或區域性外部應用程式負載平衡器的閘道資源定義,搭配可用區 NEG 後端,保護在 GKE 上執行的代理和工具。使用 Kubernetes Gateway API,將 GCPBackendPolicy 資源與定義的 Cloud Armor 安全性政策一併套用。如果使用區域性外部應用程式負載平衡器,Cloud Armor 支援後端安全性政策,其中包含 WAF 規則、IP 位址和地理位置控管,以及頻率限制。全域外部應用程式負載平衡器支援後端安全性政策,以及搭配 Google Cloud Armor Adaptive Protection 和 Google Threat Intelligence 的其他邊緣安全性政策。

Secure Web Proxy

Secure Web Proxy 是部署在虛擬私有雲網路中的區域代管服務,可篩選源自虛擬私有雲網路或任何連線網路的 HTTP/S 流量。這項服務可做為集中式 Proxy 和安全防護措施執行點,提供精細的控管機制,並讓您掌握傳出網路流量。此外,它也做為內部服務通訊的明確 Proxy。

Secure Web Proxy 支援三種部署模式:明確 Proxy 轉送模式、Private Service Connect 服務連結模式,以及下一個躍點模式。建議您在明確 Proxy 路由模式中使用 Secure Web Proxy,這也是本文的重點。在這個模式中,HTTP 用戶端必須明確設定為直接指向 Secure Web Proxy IP 位址或主機名稱。

如要在虛擬私有雲網路中部署 Secure Web Proxy,您必須設定前端子網路和僅限 Proxy 的子網路。Secure Web Proxy 是全代管服務,部署 Secure Web Proxy 時,系統會自動在虛擬私有雲網路中部署及設定 Cloud Router 和 Cloud NAT,以便與 Proxy 資源整合。這項設定會強制所有傳出要求在傳出至網際網路前,都必須通過 Secure Web Proxy。

將 Secure Web Proxy 做為明確 Proxy 使用,可支援來自 Agent Runtime Private Service Connect 介面、Cloud Run 直連虛擬私有雲輸出,以及虛擬私有雲原生 GKE 叢集的代理程式要求。代理程式使用 HTTP CONNECT 方法將要求傳送至 Secure Web Proxy 時,TCP 工作階段流量會透過通道傳送至 Proxy,並在 Proxy 套用安全性政策規則。如果允許流量,Secure Web Proxy 會將流量傳送至受控的網際網路輸出,或可由虛擬私有雲網路路由的私人網路目的地。

明確 Proxy 轉送

Agent Runtime 輸出作業必須使用明確的 Proxy 設定,代理才能連線至網際網路目的地,或虛擬私有雲網路中的不可路由 IP 位址範圍。為確保 Agent Runtime 互通性,建議您使用虛擬私有雲網路中前端子網路的 RFC 1918 IP 位址,設定 Secure Web Proxy 資源。完成這項設定後,即可直接從 Agent Runtime 連線至 Secure Web Proxy。接著,它會將所有連線,透過 Proxy 傳送至虛擬私有雲網路或連線網路中,不可路由的 IP 位址目的地。

如要支援代理託管平台在明確轉送模式下使用 Secure Web Proxy,請設定下列網路資源:

  1. 在虛擬私有雲網路中,建立或找出 RFC 1918 子網路,用於託管 Secure Web Proxy 資源。
  2. 為 Secure Web Proxy 主機名稱 (例如 swp.example.com) 建立 Cloud DNS 記錄,解析為 Secure Web Proxy 資源的 IP 位址。
  3. 如要確保 Agent Runtime 互通性,請建立從 Agent Runtime 到與虛擬私有雲網路相關聯的 Cloud DNS 私人區域的 DNS 對接。代理向 Secure Web Proxy 提出要求時,Cloud DNS 會將主機名稱要求解析為虛擬私有雲網路中 Secure Web Proxy 資源的 IP 位址。如果代理託管於 Cloud Run 和 GKE,則不必執行這個步驟。

代理 Proxy 設定

如要將代理程式應用程式設為使用 HTTP(S) Proxy,標準做法是設定下列環境變數:

  • HTTP_PROXY:HTTP 流量的明確 Proxy 伺服器網址 (例如 http://swp.example.com:8888)。這項設定會使用從用戶端到 Proxy 的 HTTP CONNECT 方法。即使指定 HTTP,TLS 加密仍會透過 Proxy,從 Agent Runtime 到目標端點,全程維持端對端加密。
  • HTTPS_PROXY:HTTPS 流量的明確 Proxy 伺服器網址 (例如 https://swp.example.com:8888)。與 HTTP_PROXY 設定一樣,HTTPS_PROXY 設定預設會使用 TLS。不過,您可以在預設 TLS 之上啟用自己的 TLS 加密,提供額外的加密層。詳情請參閱「憑證授權單位服務」。
  • NO_PROXY:以半形逗號分隔的主機名稱或 IP 位址清單,不應透過 Proxy 傳送。舉例來說,如果您將 metadata.google.internal 和 169.254.169.254 新增至 NO_PROXY 清單,工作負載就能直接存取中繼資料服務,以便驗證及授權 Google API 和服務。

在部署期間使用 env_vars 引數設定變數時,這些變數會出現在 Agent Runtime 環境中 (例如在 Python 中使用 os.environ 時)。大多數標準 HTTP 用戶端程式庫會自動探索並使用這些環境變數,透過指定的 Proxy 轉送流量。這種做法常見於 Python 應用程式和 HTTP 用戶端程式庫,例如 requests。部署代理程式時,請定義環境變數,以便針對代理程式需要連線的任何私人網域使用 Secure Web Proxy。請務必將所有私人網域目的地也納入 Cloud DNS。

以下範例說明如何從代理物件部署 Agent Runtime Proxy:

## 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 支援在服務修訂版本層級設定環境變數。這種做法會覆寫容器映像檔中設定的任何同名環境變數。這種做法適用於在服務執行個體啟動時,設定 Proxy 變數等作業參數。

下列範例顯示在部署 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 中實作明確的 Proxy 設定,請定義指定 Proxy 變數的 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 服務

如果 Secure Web Proxy 或 Cloud NGFW 設定為執行 TLS 檢查,則必須使用憑證授權單位服務 (CA Service)。啟用 TLS 檢查且工作負載的目的地使用 TLS 時,CA 服務會為該目的地建立並簽署憑證。當實際目的地的加密流量抵達 Secure Web Proxy 或 Cloud NGFW 時,系統會解密封包、檢查封包,然後強制執行政策。如果政策允許封包,服務會重新加密封包,並傳送至最終目的地。您也可以使用 CA 服務,為其他 Google 代管服務提供憑證。

CA 服務是代管服務。設定完成後,CA 服務會處理分葉憑證簽署作業,直到根 CA 憑證到期為止。根 CA 憑證必須更新,確保不會過期。

CA 服務支援這些功能,可在多代理 AI 架構中大規模檢查流量及管理憑證:

  • TLS 檢查:必須使用私人 CA,才能進行完整的 TLS 檢查。如要完整解密及分析 HTTPS 酬載,中介 Proxy 裝置 (Secure Web Proxy 或 Cloud NGFW) 必須終止與用戶端的 TLS 工作階段。Proxy 必須提供有效憑證,且用戶端必須接受該憑證,視為所要求網域的信任憑證。

    CA 服務可為要求的網站動態產生並簽署網站專屬的模擬憑證。當用戶端的信任存放區中安裝了私人根 CA 憑證時,就會接受這個動態建立的憑證為有效憑證。用戶端信任 Proxy 傳送的憑證,因此會傳送要求。Proxy 會終止 TLS 工作階段、解密封包、檢查內容,然後強制執行政策。

  • 憑證發布:在 Agent Runtime、Cloud Run 或 GKE 上執行的 AI 代理等內部用戶端資源,需要將私人根 CA 憑證新增至本機信任存放區。將根 CA 憑證公開金鑰儲存在 Secret Manager 後,AI 代理就能在啟動時提取憑證,並新增至系統信任存放區。

    內部伺服器資源 (例如內部應用程式負載平衡器) 需要由私人 CA 核發的憑證,才能做為受信任的伺服器端點,並終止用戶端 TLS 工作階段。應用程式負載平衡器與 Certificate Manager 核發設定整合,可自動執行 CA 服務,簽署憑證要求並部署至負載平衡器。

如要進一步瞭解憑證作業,請參閱下列資源:

A2A 連線安全性

根代理會與各種子代理和 MCP 伺服器通訊,這些子代理和 MCP 伺服器部署在各種執行階段託管平台。每個環境都會帶來獨特的網路和安全性需求,必須由 A2A 或 MCP 層抽象化。

下圖顯示本設計指南支援的元件和可能連線路徑:

不同託管平台 (包括 GKE、Cloud Run 和 Agent Runtime) 之間的 Agent2Agent (A2A) 連線模式,以及與 MCP 伺服器和網際網路的連線。

上圖總結了這些連線可能性:

  • 使用者透過 Gemini Enterprise 應用程式與代理系統互動。
  • Gemini Enterprise 應用程式會使用 Google 基礎架構,連線至在 GKE、Cloud Run 或 Agent Runtime 執行的根代理。
  • Gemini Enterprise 應用程式和根代理會使用 Google 基礎架構,連線至 Model Armor 和 Agent Platform 上的 Gemini LLM。
  • 根代理可使用 Google 基礎架構,連結至在 Cloud Run 或 Agent Runtime 執行的子代理。
  • 根代理可以使用私人 IP 位址,連線至在 Agent Runtime、Cloud Run 和 GKE 中執行的子代理。這些連線必須透過虛擬私有雲網路轉送。
  • 根代理和子代理都能連線至在 Cloud Run 或 GKE 上執行的 MCP 伺服器。連線至 MCP 伺服器的代理可以使用 Google 基礎架構或虛擬私有雲網路。MCP 伺服器可讓您存取託管於Google Cloud、地端部署、其他雲端或網際網路的工具。
  • 託管於網際網路的服務,可直接透過 Secure Web Proxy 存取。

下列各節提供執行階段資料路徑和安全控管機制的資源,這些是安全 A2A 互動的必要條件。這項資訊是建立私人連線和實作多層防禦機制的架構標準,可保護代理之間的端對端資料路徑。

GKE 來源代理

下表提供相關資源,協助您在 GKE 為來源代理時保護流量。這類流量會透過託管 GKE 叢集的虛擬私有雲網路傳輸。

目的地代理 (資料路徑) 安全控管措施
Agent Runtime (內部)
Cloud Run (內部)
Cloud Run (適用於 Google API 的 Private Service Connect)
Cloud Run 存取權 (無伺服器 NEG)
GKE
透過虛擬私有雲網路連上網際網路

Agent Runtime (內部) 來源代理

下表提供相關資源,協助您在 Agent Runtime 為來源代理,且流量直接透過 Google 基礎架構傳輸時,保護流量。這些路徑不涉及任何虛擬私有雲網路。

目的地代理 (資料路徑) 安全控管措施
Agent Runtime (內部)
Cloud Run (內部)

Agent Runtime (Private Service Connect 介面) 來源代理

下表提供相關資源,協助您在 Agent Runtime 為來源代理,且流量使用 Private Service Connect 介面通過虛擬私有雲網路時,保護流量。

目的地代理 (資料路徑) 安全控管措施
Cloud Run (Private Service Connect GoogleAPIs)
Cloud Run 存取權 (無伺服器 NEG)
GKE
透過虛擬私有雲網路連上網際網路

Cloud Run (內部) 來源代理

下表提供相關資源,協助您在 Cloud Run 為來源代理,且流量直接透過 Google 基礎架構傳輸時保護流量。這些路徑不涉及任何虛擬私有雲網路。

目的地代理 (資料路徑) 安全控管措施
Agent Runtime (內部)
Cloud Run (內部)

Cloud Run (直連虛擬私有雲輸出) 來源代理程式

下表列出相關資源,協助您在 Cloud Run 為來源代理,且流量使用直連虛擬私有雲輸出功能通過虛擬私有雲網路時,保護流量。

目的地代理 (資料路徑) 安全控管措施
Cloud Run (適用於 Google API 的 Private Service Connect)
Cloud Run 存取權 (無伺服器 NEG)
GKE
透過虛擬私有雲網路連上網際網路
適用於 Google API 的 Agent Runtime Private Service Connect

MCP 連線安全性

下列清單列出託管平台和縱深防禦控制措施,用於保護 Agent Runtime 和 MCP 伺服器之間的資料路徑。如果來源代理位於 Agent Runtime、Cloud Run 或 GKE,請根據目的地 MCP 伺服器,使用下列安全控管機制:

  • 網際網路:
    • VPC Service Controls
    • Model Armor
    • Cloud NGFW
    • Secure Web Proxy
  • Google MCP:
    • VPC Service Controls
    • Model Armor

後續步驟

貢獻者

作者:

  • Deepak Michael | 網路專員客戶工程師
  • Michael Larson | 客戶工程師,網路專家
  • Victor Moreno | Cloud Networking 產品經理

其他貢獻者: