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),與其他代理和工具通訊。通訊會透過虛擬私有雲網路轉送,確保通訊隱私。為將流量移入及移出虛擬私有雲網路,這項設計會結合使用 Private Service Connect 端點、Private Service Connect 介面和 Cloud Run Direct VPC 輸出。Cloud Next Generation Firewall (Cloud NGFW) 會控管通過虛擬私有雲網路的流量。額外的安全層可透過 Secure Web Proxy 控制網際網路輸出,並透過 VPC Service Controls 範圍提供 API 服務存取政策。

本文適用於建構及管理雲端 AI 基礎架構和應用程式的架構師、開發人員和管理員。本文假設您對 AI 代理程式和模型有基本瞭解,且熟悉 Google Cloud 網路概念。

多代理設計模式

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

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

多代理程式網路架構的高階總覽。

此架構包含下列元件:

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

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

共用虛擬私有雲

多代理程式設計模式會使用 Shared VPC,集中管理網路和安全授權與責任。這項設計可為開發人員提供環境,協助滿足機構的安全性需求。建議您使用 Shared VPC 集中管理網路和安全性設定,簡化設定程序。

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

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

  • 網路和安全管理員負責控管核心基礎架構,例如 VPC 路由、子網路、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 會將代理名稱對應至特定目標,也就是 Vertex AI Agent Engine 資源 URIA2A 代理 URL。Gemini Enterprise 應用程式內建的對話介面稱為「助理」。使用者使用 @agent_name 指定代理程式,或助理決定委派工作時,應用程式會在登錄中尋找代理程式,找出相關聯的端點。

向 Gemini Enterprise 註冊根代理後,您可以在任何位置將該代理部署為自訂代理。Vertex AI Agent Engine 和 Cloud Run 上的自訂代理程式可以使用現有的私人網路路徑,不必設定額外的網路資源。如要在 GKE 上部署自訂代理程式,必須使用外部 Gateway 公開服務。如要瞭解如何設定外部閘道,確保安全性,請參閱本文件稍後的「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 服務發出這些呼叫,您必須將 Cloud Run 叫用者 IAM 角色 (roles/run.invoker) 授予 Discovery Engine 服務代理程式。對 Cloud Run 的要求會透過 Google 生產網路,轉送至 Cloud Run 進入流量的 Google Front End (GFE)
  • GKE 上的自訂代理:Gemini Enterprise 應用程式會使用 Vertex AI Discovery Engine 服務代理身分,呼叫從代理資訊卡註冊的網址。公開 DNS 必須能夠將主機名稱解析為閘道管理的外部 IP 位址。建議您使用 gke-l7-regional-external-managed load balancergke-l7-global-external-managed 負載平衡器。為提升安全性,建議 Gemini Enterprise 使用 Identity-Aware Proxy (IAP) 呼叫 GKE 代管的 A2A 代理程式。如要讓 IAP 授權這些呼叫,您必須將「受 IAP 保護的網路應用程式使用者」IAM 角色 (roles/iap.httpsResourceAccessor) 授予 Discovery Engine 服務代理。Google 實際工作環境網路會將要求從 GKE 轉送至 GFE,以供外部應用程式負載平衡器 Ingress 使用。

    如要保護 GKE Ingress 免受 Gemini Enterprise 攻擊,請參閱本文後續的 IAPGoogle Cloud Armor 部分。

代理主機平台的私人網路

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

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

您可透過不同機制建立私有虛擬私有雲連線,具體取決於使用的代理程式代管平台:

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

以下各節將針對每個代理程式代管平台,提供管理進出虛擬私有雲網路的輸入和輸出要求的額外指引。網路注意事項適用於根代理程式和子代理程式功能。

Vertex AI Agent Engine 網路

本節說明在 Vertex AI Agent Engine 上代管的根代理程式和子代理程式的私有網路。如果您使用 Vertex AI Agent Engine 託管根代理程式,則必須在同一個專案中部署 Gemini Enterprise 和 Vertex AI Agent Engine。

Vertex AI Agent Engine 會在虛擬私有雲網路外部的 Google 基礎架構上,代管容器。如要啟用與其他代理程式的私人連線,您可以透過下列方法,將代理程式連線至虛擬私有雲網路:

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

Vertex AI Agent Engine 輸出至虛擬私有雲網路

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

如要將代理程式連線至虛擬私有雲網路內的資源,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 為目的地的代理程式流量,轉送至虛擬私有雲網路。

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

如要進一步保護 Vertex AI Agent Engine 輸出流量的代理程式和虛擬私有雲網路,請參閱本文件後續章節:

從虛擬私有雲網路進入 Vertex AI Agent Engine

如要對在 Vertex AI Agent Engine 上執行的代理提出要求,請使用 Vertex AI API 端點 (aiplatform.googleapis.com)。如要透過虛擬私有雲網路的私有網路路徑連線至 Google API 端點,請使用 Private Google Access,或使用 Google API 的 Private Service Connect 端點

向代理程式發出查詢的私人使用者,需要將 Vertex AI API 端點主機名稱解析為 Private Google Access 的私人 IP 位址範圍,或是Google API 的 Private Service Connect 端點 IP 位址。Cloud DNS 代管私人區域 (適用於 googleapis.com) 會解析 Vertex AI API 的要求。虛擬私有雲網路會透過 Google 生產網路直接轉送要求。

如果您使用 Private Google Access 或 Private Service Connect 存取 Google API,可以透過下列產品和功能,協助保護從虛擬私有雲網路到 Vertex AI Agent Engine 的流量:

其他 Vertex AI Agent Engine 網路注意事項

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

部署 Vertex AI Agent Engine 時,如果沒有 Private Service Connect 介面,預設會存取網際網路。如要防範資料竊取,請啟用 VPC Service Controls,停用預設存取權。

透過 Private Service Connect 介面部署 Vertex AI Agent Engine 時,無論 VPC Service Controls 為何,系統都會停用直接網際網路輸出。如果代理程式需要存取 Vertex AI Agent Engine 無法正常連線的目的地 (例如網際網路),請按照下列步驟操作:

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

Vertex AI Agent Engine 的輸出流量抵達虛擬私有雲網路後,即可到達虛擬私有雲網路可路由傳輸的任何網路目的地。如要瞭解如何限制 Vertex AI Agent Engine 代理程式可用的輸出網路目的地範圍,請參閱本文稍後的「Cloud NGFW」一節。

Cloud Run 網路

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

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

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

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

設定直接虛擬私有雲輸出時,請執行下列操作:

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

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

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

如要瞭解如何進一步保護代理程式和 Cloud Run 輸出流量的 VPC 網路,請參閱本文件後續章節:

從虛擬私有雲網路傳入 Cloud Run 的流量

Cloud Run 是由 Google 管理的平台,在虛擬私有雲網路外部的環境中運作。這個環境會代管 Cloud Run 服務的穩定 *.run.app URL 端點,這些服務會執行 AI 代理程式或工具工作負載。這些端點是由提供 *.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 位址。Cloud Run 服務的私人代管 Cloud DNS 區域 (適用於 run.appURL) 會解析要求。虛擬私有雲網路會透過 Google 生產網路直接轉送要求。

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

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

如果沒有使用通用 VPC Service Controls 範圍來涵蓋呼叫和被呼叫的服務,來自 Cloud Run 服務專案或 Shared VPC 環境外部的流量會視為外部流量。這類流量包括來自其他 Google Cloud服務的流量,例如 Vertex AI Agent Engine 和其他 Cloud Run 服務。如要通過 Cloud Run 內部輸入流量檢查,必須以某種方式轉送流量,讓流量看起來是來自目標服務的虛擬私有雲網路。

如要提供必要的內部聯播網歸因,請執行下列任一操作:

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

使用無伺服器網路端點群組 (NEG) 後端的內部應用程式負載平衡器,會建立直接對應至 Cloud Run 服務的 VPC 資源。在此模型中,負載平衡器會使用信任的憑證終止用戶端 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 叢集基礎架構,包括控制層、節點佈建、安全強化和資源調度。
  • 標準:控制層由 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 安全性設計,Model Armor 會即時檢查並清除提示詞和回覆,防止提示詞注入和資料竊取。
內部網路隔離
  • Kubernetes 網路政策:強制執行微服務間的精細最小權限通訊。根據預設,政策會拒絕所有流量,除非您明確允許,否則叢集內無法橫向移動。

GKE 輸出至虛擬私有雲網路

虛擬私有雲網路會將代理程式的連出連線路徑,導向至 GKE 上代管的代理程式。預設的 GKE 叢集網路模式為虛擬私有雲原生,具備下列屬性:

  • GKE 叢集使用別名 IP 位址範圍。
  • 指定 Pod IP 範圍即可保留 Pod IP 位址。
  • Pod IP 位址本身可以在叢集虛擬私有雲網路和其他連線的虛擬私有雲網路中直接轉送。

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

您可以透過下列產品和服務,協助保護離開 GKE 叢集的流量:

從虛擬私有雲網路輸入 GKE

Kubernetes 服務可提供 GKE 資源的存取權。如果是多代理程式 AI 系統,建議使用 GKE Gateway GKE Inference Gateway。閘道提供強化功能,包括流量控管、資源的作業分離,以及安全整合。不過,視系統需求而定,您也可以使用其他進入服務選項

Gateway 資源會建立應用程式負載平衡器,並佈建所有必要的負載平衡元件。服務的後端網路端點群組會直接連線,為容器提供負載平衡。如要對來自虛擬私有雲網路的流量,在內部公開發布服務,請使用區域性內部應用程式負載平衡器 (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 會驗證及授權存取叢集資源的 AI 代理,包括 Gemini Enterprise 應用程式、自訂代理和外部資源。呼叫端必須具備經 IAM 驗證的身分,以及存取後端服務的授權權限。

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

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

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

代理程式網路安全

如要保護多代理程式 AI 系統的網路,您必須透過虛擬私有雲網路和 API 介面,確保通訊安全無虞。虛擬私有雲網路資料平面會說明代理程式和工具如何安全連線。API 介面會定義允許的 ID 和資料交換類型。在虛擬私有雲網路和 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,根據目標代理程式代管平台所需的規則,強制執行防火牆政策。

  • Vertex AI Agent Engine:在 Vertex AI Agent Engine 中執行的代理程式會使用 Private Service Connect 網路附件,連線至虛擬私有雲網路。這些附件會讓代理程式網路介面顯示在虛擬私有雲網路的子網路中。Cloud NGFW 網路防火牆政策會套用至虛擬私有雲網路。這些政策會根據子網路的來源 IP 位址篩選流量,該子網路專用於 Private Service Connect 網路連結。如要比對流量,可以使用來源 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 位址範圍設定規則。

防火牆政策規則可有效比對來自 Vertex AI Agent Engine 網路附件子網路和 Cloud Run 直接虛擬私有雲輸出子網路的來源流量。

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

  • 建立網路防火牆政策和規則:建立全域或區域防火牆政策,並將其與虛擬私有雲網路建立關聯。根據來源 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 直接虛擬私有雲輸出子網路的來源流量,以及您要的目標。
  • 一般 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 叢集的連入要求安全無虞。IAP 會攔截所有傳送至閘道的 HTTPS 要求,並檢查呼叫端的 ID 和權限。IAP 只允許經過驗證和授權的要求傳送至後端服務工作負載。Gateway 負載平衡器上的 IAP 僅保護來自叢集外部的流量。叢集內的通訊不會通過 IAP。

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

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

VPC Service Controls

VPC Service Controls 可嚴格控管 Google API 的存取權,降低資料竊取風險。建議您部署單一巨集 perimeter,其中包含所有支援的服務。這個做法可提供最完善的防護,避免資料外洩。為確保共用 VPC 架構能持續強制執行政策,請務必將主專案和所有相關聯的服務專案納入同一個服務安全防護範圍。

如要確保 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 服務,服務帳戶 (例如 Gemini Enterprise 使用的帳戶) 也必須獲派 Cloud Run 叫用者角色。

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

Model Armor

Model Armor 是一項以 API 為基礎的服務,可為 AI 應用程式提供更完善的安全防護。AI 代理程式會呼叫 Model Armor,先清理使用者提示詞,再傳送至 LLM;也會先清理模型回覆,再傳回給使用者。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. 如要與 Vertex AI Agent Engine 互通,請從 Vertex AI Agent Engine 建立 DNS 對等互連,連至與您的虛擬私有雲網路相關聯的 Cloud 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,針對內部流量強制執行網路應用程式防火牆規則,並限制速率。如要控管代理程式通訊,您可以根據 IP 位址和標頭定義其他自訂規則。
  • 閘道:使用閘道資源定義,為具有可用區 NEG 後端的全域或區域外部應用程式負載平衡器,保護在 GKE 上執行的代理程式和工具。使用 Kubernetes Gateway API 套用 GCPBackendPolicy 資源,並定義 Cloud Armor 安全性政策。如果您使用區域外部應用程式負載平衡器,Cloud Armor 支援後端安全性政策,可搭配 WAF 規則、IP 位址和地理位置控管,以及頻率限制。全域外部應用程式負載平衡器支援後端安全性政策和額外的邊緣安全性政策,並搭配 Google Cloud Armor 自動調整式防護 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,可支援來自 Vertex AI Agent Engine Private Service Connect 介面、Cloud Run Direct VPC 輸出,以及 VPC 原生 GKE 叢集的代理程式要求。當代理程式使用 HTTP CONNECT 方法將要求傳送至 Secure Web Proxy 時,TCP 會話流量會透過通道傳送至 Proxy,並套用安全性政策規則。如果允許流量通過,Secure Web Proxy 會將流量傳送至受控的網際網路輸出位置,或虛擬私有雲網路可路由傳送的私人網路目的地。

明確的 Proxy 轉送

Vertex AI Agent Engine 輸出需要使用明確的 Proxy 設定,代理程式才能存取網際網路目的地或虛擬私有雲網路中的無法路由傳送的 IP 位址範圍。為確保 Vertex AI Agent Engine 互通性,建議您使用虛擬私有雲網路前端子網路中的 RFC 1918 IP 位址,設定 Secure Web Proxy 資源。完成這項設定後,Vertex AI Agent Engine 就能直接連上 Secure Web 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. 如要與 Vertex AI Agent Engine 互通,請從 Vertex AI Agent Engine 建立 DNS 對等互連,連至與您的虛擬私有雲網路相關聯的 Cloud 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,從代理程式執行階段到目標端點,系統仍會透過 Proxy 維持端對端 TLS 加密。
  • HTTPS_PROXY:HTTPS 流量的明確 Proxy 伺服器網址 (例如 https://swp.example.com:8888)。 與 HTTP_PROXY 設定一樣,HTTPS_PROXY 設定預設使用 TLS。 不過,您可以在預設 TLS 的基礎上啟用自己的 TLS 加密,進一步加密及防護。詳情請參閱「憑證授權單位服務」。
  • NO_PROXY:以逗號分隔的主機名稱或 IP 位址清單,這些位址不應透過 Proxy 傳送。舉例來說,如果您將 metadata.google.internal169.254.169.254 新增至 NO_PROXY 清單,工作負載就能直接存取中繼資料服務,以便向 Google API 和服務進行驗證及授權。

使用 env_vars 引數在部署期間設定變數時,這些變數會在代理程式執行階段環境中生效 (例如在 Python 中使用 os.environ 時)。大多數標準 HTTP 用戶端程式庫都會自動探索及使用這些環境變數,透過指定的 Proxy 傳送流量。這種做法適用於 Python 應用程式和 HTTP 用戶端程式庫,例如 requests。部署代理程式時,請定義環境變數,以便為代理程式需要連線的任何私人網域使用 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 支援在服務修訂版本層級設定環境變數。這種方法會覆寫容器映像檔中設定的任何同名環境變數。當服務執行個體啟動時,這種做法有助於設定作業參數,例如 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 設定,請定義 ConfigMap 資源,指定 Proxy 變數:

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 服務 (CA 服務)。啟用 TLS 檢查功能後,如果工作負載的目的地使用 TLS,CA 服務會為該目的地建立及簽署憑證。當實際目的地的加密流量抵達 Secure Web Proxy 或 Cloud NGFW 時,系統會解密封包、檢查封包,然後強制執行政策。如果政策允許封包通過,服務會為最終目的地重新加密封包。您也可以使用 CA 服務,為其他 Google 管理的服務提供憑證。

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

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

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

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

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

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

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

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 中執行的子代理程式。這些連線必須透過虛擬私有雲網路傳送。
  • 根代理程式和子代理程式都可以連線至在 Cloud Run 或 GKE 上執行的 MCP 伺服器。連線至 MCP 伺服器的代理程式可以使用 Google 基礎架構或 VPC 網路。MCP 伺服器可存取託管於Google Cloud、地端部署系統、其他雲端或網際網路的工具。
  • 透過 Secure Web Proxy,可以直接連線至網際網路上託管的服務。

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

GKE 來源代理程式

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

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

Vertex AI Agent Engine (內部) 來源代理程式

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

目的地代理程式 (資料路徑) 安全控管措施
Vertex AI Agent Engine (內部)
Cloud Run (內部)

Vertex AI Agent Engine (Private Service Connect 介面) 來源代理程式

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

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

Cloud Run (內部) 來源代理程式

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

目的地代理程式 (資料路徑) 安全控管措施
Vertex AI Agent Engine (內部)
Cloud Run (內部)

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

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

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

MCP 連線安全性

下表列出主機平台和縱深防禦控制項,這些項目會參與保護代理程式執行階段與 MCP 伺服器之間的資料路徑。如果是 Vertex AI Agent Engine、Cloud Run 或 GKE 中的來源代理程式,請根據目的地 MCP 伺服器使用下列安全控制項:

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

後續步驟

貢獻者

作者:

其他貢獻者: