本頁說明安全 Web Proxy 政策的來源屬性和目的地屬性。此外,本頁面說明Transmission Control Protocol (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 政策。
- 安全標記:使用Resource Manager 標記控管 Google Cloud 資源存取權。
- IP 位址:指派企業 IP 位址 (或靜態 Google Cloud IP 位址),讓安全 Web Proxy 用於處理外部流量。
支援的識別資訊
您可以使用以來源身分為準的安全性政策 (服務帳戶和安全標記),保護多項 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 | VPC 架構 | 支援 |
---|---|---|
虛擬私有雲內 | 跨專案 (共用虛擬私有雲) | |
虛擬私有雲內 | 跨區域 | |
跨 VPC | 跨互連連結 (對等 VPC) | |
跨 VPC | 跨 Private Service Connect | |
跨 VPC | 跨 Network Connectivity Center 輪輻 |
政策的目的地屬性
透過 Secure Web Proxy,您可以根據目的地網域和完整網址路徑 (如果已啟用 TLS 檢查) 設定應用程式政策。
使用下列屬性,讓 Secure Web Proxy 執行個體判斷允許的流量目的地:
- 目的地通訊埠:Secure Web Proxy 執行個體傳送流量的上游通訊埠。詳情請參閱「可供
SessionMatcher
和ApplicationMatcher
使用的屬性」。 - 網址清單:使用網址清單定義使用者可存取的網址。詳情請參閱「網址清單」一節。
對於以 HTTP 為基礎的到達網頁流量,您可以為應用程式使用 host()
到達網頁屬性。
對於以 HTTPS 為基礎的目的地流量,您可以為應用程式使用各種 request.*
目的地相關屬性 (例如 request.method
)。
如要進一步瞭解可用於 HTTP 和 HTTPS 流量的目的地屬性,請參閱「屬性」。
TCP Proxy 規則
您可以使用 Secure Web Proxy 執行個體,為傳輸控制通訊協定 (TCP) 流量設定 Proxy 規則,包括與網路通訊協定無關的流量。舉例來說,您可以選擇允許或封鎖網站或應用程式透過 80
(HTTP) 或 443
(HTTPS) 以外的任何通訊埠傳送流量。
如果工作負載 (例如應用程式和服務) 使用安全網頁 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 ,如果來源與 SERVICE_ACCOUNT 相關聯,例如 source.matchServiceAccount('x@my-project.iam.gserviceaccount.com') 。 |
inIpRange(IP_ADDRESS, |
布林值 | True ,如果 IP_ADDRESS 包含在 IP_RANGE 中,例如 inIpRange(source.ip, '1.2.3.0/24') 。IPv6 位址的子網路遮罩不得大於 /64 。 |
限制
Secure Web Proxy 不支援為 User Datagram Protocol (UDP) 應用程式設定 TCP Proxy 規則。因此,Secure Web Proxy 會封鎖以 UDP 為基礎的應用程式流量。
主機比對規則
為 Secure Web Proxy 執行個體設定輸出規則時,請務必根據外出要求的目的主機定義規則。您也應考量主機比對功能的運作方式,並根據 Secure Web Proxy 執行個體的部署模式進行設定。
明確的 Proxy 模式
針對未加密的 HTTP 要求,您可以在
SessionMatcher
中使用host() == "myownpersonaldomain.com"
規則。安全 Web Proxy 會根據 HTTP 要求的CONNECT
標頭中的host
欄位驗證此規則。如果您想啟用 TLS 檢查功能並根據
Application Matcher
設定規則,則必須設定評估為TRUE
的SessionMatcher
規則。舉例來說,您可以在SessionMatcher
中使用host() == "myownpersonaldomain.com"
規則,然後在ApplicationMatcher
中新增request.host() == "myownpersonaldomain.com"
規則。安全網路 Proxy 會先根據 HTTP 要求的
CONNECT
標頭中的host
欄位,驗證SessionMatcher
。只有在SessionMatcher
規則有效時,Secure Web Proxy 才會檢查ApplicationMatcher
規則。
下一個躍點模式
針對未加密的 HTTP 要求,您可以在
SessionMatcher
中使用host() == "myownpersonaldomain.com"
規則。安全網路 Proxy 會根據標準 HTTP 要求標頭中的host
欄位驗證這項規則。不過,如果要求已加密 TLS,Secure Web 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
規則。