本頁說明安全網頁 Proxy 政策的來源屬性和目的地屬性。此外,本頁面也會說明以傳輸控制通訊協定 (TCP) 規則為基礎的 Proxy,以及如何為應用程式設定 TCP Proxy 規則。
Secure Web Proxy 政策是根據下列兩項參數制定:
- 流量來源:為識別流量來源,Secure Web Proxy 會使用服務帳戶、安全標記和 IP 位址等屬性。
- 允許的目標:Secure Web Proxy 會使用目標網域、完整網址路徑 (如果已啟用傳輸層安全標準 (TLS) 檢查)、網址清單或目標通訊埠,判斷允許的目標。
根據預設,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 |
應用程式負載平衡器 | ||
網路負載平衡器 |
2 來源 IP 位址是專屬位址,可做為替代位址。
下表顯示使用以來源身分識別為基礎的安全政策時,是否支援各種虛擬私有雲 (VPC) 架構:
虛擬私有雲 | 虛擬私有雲架構 | 支援 |
---|---|---|
虛擬私有雲內 | 跨專案 (共用 VPC) | |
虛擬私有雲內 | 跨區域 | |
跨虛擬私有雲 | 跨對等互連連結 (對等互連虛擬私有雲) | |
跨虛擬私有雲 | 跨 Private Service Connect | |
跨虛擬私有雲 | 跨 Network Connectivity Center 輪輻 |
政策目的地屬性
透過 Secure Web Proxy,您可以根據目的地網域和完整網址路徑 (如果已啟用 TLS 檢查),為應用程式設定政策。
使用下列屬性,讓 Secure Web Proxy 執行個體判斷允許的流量目的地:
- 目的地通訊埠:Secure Web Proxy 執行個體傳送流量的上游通訊埠。詳情請參閱「
SessionMatcher
和ApplicationMatcher
可用的屬性」。 - 網址清單:使用網址清單定義使用者可存取的網址。詳情請參閱網址清單。
如為以 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) |
布林值 |
引數是安全標記的永久 ID,例如 |
source.matchServiceAccount(SERVICE_ACCOUNT) |
布林值 | True ,例如source.matchServiceAccount('x@my-project.iam.gserviceaccount.com') 。SERVICE_ACCOUNT |
inIpRange(IP_ADDRESS, |
布林值 | 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
設定規則,請務必設定評估結果為TRUE
的SessionMatcher
規則。舉例來說,您可以在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
設定規則,請務必設定評估結果為TRUE
的SessionMatcher
規則。舉例來說,您可以在SessionMatcher
中使用host() == "myownpersonaldomain.com"
規則,然後在ApplicationMatcher
中新增request.host() == "myownpersonaldomain.com"
規則。Secure Web Proxy 會先根據傳出要求中的 SNI 標頭驗證
SessionMatcher
。只有在SessionMatcher
規則有效時,Secure Web Proxy 才會檢查ApplicationMatcher
規則。