Secure Web Proxy 政策總覽

本頁說明安全網頁 Proxy 政策的來源屬性目的地屬性。此外,本頁面也會說明以傳輸控制通訊協定 (TCP) 規則為基礎的 Proxy,以及如何為應用程式設定 TCP Proxy 規則

Secure Web Proxy 政策是根據下列兩項參數制定:

根據預設,Secure Web Proxy 會設定為拒絕透過 Proxy 傳送任何輸出網路流量 (HTTP 或 HTTPS),除非您在 Secure Web Proxy 執行個體的政策中加入特定規則。

政策的來源屬性

請使用下列屬性,讓 Secure Web Proxy 執行個體識別流量來源:

  • 服務帳戶:使用服務帳戶識別流量來源,並設定安全網路 Proxy 政策。
  • 安全標記:使用資源管理工具標記控管 Google Cloud 資源存取權。
  • IP 位址:指派企業 IP 位址 (或靜態 Google Cloud IP 位址),供安全 Web Proxy 用於外寄流量。

支援的 ID

您可以透過以來源身分為依據的安全政策 (服務帳戶和安全標記),保護多項 Google Cloud 服務的網路流量。下表顯示使用以來源身分識別為依據的安全政策時,是否支援各項 Google Cloud 服務。

Google Cloud 服務 服務帳戶支援 安全標記支援
VM
GKE 節點
GKE 容器 1 1
Cloud Run 的直接 VPC 1
無伺服器虛擬私有雲存取連接器 2 2
Cloud VPN 1 1
Cloud Interconnect 內部部署 1 1
應用程式負載平衡器
網路負載平衡器
1 Google Cloud不支援這項功能。
2 來源 IP 位址是專屬位址,可做為替代位址。

下表顯示使用以來源身分識別為基礎的安全政策時,是否支援各種虛擬私有雲 (VPC) 架構:

虛擬私有雲 虛擬私有雲架構 支援
虛擬私有雲內 跨專案 (共用 VPC)
虛擬私有雲內 跨區域
跨虛擬私有雲 跨對等互連連結 (對等互連虛擬私有雲)
跨虛擬私有雲 跨 Private Service Connect
跨虛擬私有雲 跨 Network Connectivity Center 輪輻

政策目的地屬性

透過 Secure Web Proxy,您可以根據目的地網域和完整網址路徑 (如果已啟用 TLS 檢查),為應用程式設定政策。

使用下列屬性,讓 Secure Web Proxy 執行個體判斷允許的流量目的地:

  • 目的地通訊埠:Secure Web Proxy 執行個體傳送流量的上游通訊埠。詳情請參閱「SessionMatcherApplicationMatcher 可用的屬性」
  • 網址清單:使用網址清單定義使用者可存取的網址。詳情請參閱網址清單

如為以 HTTP 為基礎的目的地流量,您可以為應用程式使用 host() destination 屬性。

如果是以 HTTPS 為基礎的目的地流量,您可以為應用程式使用各種request.*目的地相關屬性 (例如 request.method)。

如要進一步瞭解可用於 HTTP 和 HTTPS 流量的目的地屬性,請參閱「屬性」。

TCP Proxy 規則

您可以使用 Secure Web Proxy 執行個體,為傳輸控制通訊協定 (TCP) 流量設定 Proxy 規則,包括與網路通訊協定無關的流量。舉例來說,您可以選擇允許或封鎖網站或應用程式的流量,這些網站或應用程式會從 80 (HTTP) 或 443 (HTTPS) 以外的任何通訊埠傳送流量。

如果工作負載 (例如應用程式和服務) 使用Secure Web Proxy 做為下一個躍點,則套用 TCP Proxy 規則會很有幫助。這是因為使用以路徑為準的重新導向程序,會將非 HTTP(S) 和非網路流量導向安全網路 Proxy 執行個體。這麼做可防止惡意流量連上應用程式,並控管哪些應用程式或網站可存取您的網路。

為應用程式設定 TCP Proxy 規則

如要實作 TCP proxy 規則,並為應用程式建立允許或封鎖流量規則,您必須指定目的地通訊埠。您也可以視需要加入下列任一 SessionMatcher 屬性,以精確定義允許或封鎖規則的條件。

屬性 屬性類型 說明
source.ip 字串 傳送要求的用戶端 IP 位址。
source.port 字串 傳送要求的用戶端通訊埠。
destination.port 字串 Secure Web Proxy 執行個體傳送流量的上游通訊埠。
source.matchTag(SECURE_TAG) 布林值

True,如果來源與 SECURE_TAG相關聯。

引數是安全標記的永久 ID,例如 source.matchTag('tagValues/123456')

source.matchServiceAccount(SERVICE_ACCOUNT) 布林值 True,例如source.matchServiceAccount('x@my-project.iam.gserviceaccount.com')SERVICE_ACCOUNT
inIpRange(IP_ADDRESS,
IP_RANGE)
布林值 True,如果 IP_ADDRESS 包含在 IP_RANGE 中,例如 inIpRange(source.ip, '1.2.3.0/24')。IPv6 位址的子網路遮罩不得大於 /64

限制

Secure Web Proxy 不支援為使用者資料包通訊協定 (UDP) 應用程式設定 TCP Proxy 規則。因此,Secure Web Proxy 會封鎖以 UDP 為基礎的應用程式流量。

主機比對規則

為 Secure Web Proxy 執行個體設定輸出規則時,請務必根據輸出要求的目的地主機定義規則。此外,您也應根據 Secure Web Proxy 執行個體的部署模式,考量主機比對的運作方式。

明確 Proxy 模式

  • 如為未加密的 HTTP 要求,您可以在 SessionMatcher 中使用 host() == "myownpersonaldomain.com" 規則。Secure Web Proxy 會根據 HTTP 要求 CONNECT 標頭中的 host 欄位驗證這項規則。

  • 如要啟用 TLS 檢查,並根據 Application Matcher 設定規則,請務必設定評估結果為 TRUESessionMatcher 規則。舉例來說,您可以在 SessionMatcher 中使用 host() == "myownpersonaldomain.com" 規則,然後在 ApplicationMatcher 中新增 request.host() == "myownpersonaldomain.com" 規則。

    Secure Web Proxy 會先根據 HTTP 要求的 CONNECT 標頭中的 host 欄位驗證 SessionMatcher。只有在 SessionMatcher 規則有效時,Secure Web Proxy 才會檢查 ApplicationMatcher 規則。

下一個躍點模式

  • 如為未加密的 HTTP 要求,您可以在 SessionMatcher 中使用 host() == "myownpersonaldomain.com" 規則。安全網路 Proxy 會根據標準 HTTP 要求標頭中的 host 欄位驗證這項規則。

    不過,如果要求經過 TLS 加密,安全網頁 Proxy 會根據傳出要求中的伺服器名稱指標 (SNI) 標頭,驗證相同規則。

  • 如要啟用 TLS 檢查並根據 ApplicationMatcher 設定規則,請務必設定評估結果為 TRUESessionMatcher 規則。舉例來說,您可以在 SessionMatcher 中使用 host() == "myownpersonaldomain.com" 規則,然後在 ApplicationMatcher 中新增 request.host() == "myownpersonaldomain.com" 規則。

    Secure Web Proxy 會先根據傳出要求中的 SNI 標頭驗證 SessionMatcher。只有在 SessionMatcher 規則有效時,Secure Web Proxy 才會檢查 ApplicationMatcher 規則。