本頁說明如何為 Secure Web Proxy 設定授權政策。
事前準備
請參閱「Secure Web Proxy 總覽」和「授權政策總覽」頁面。
-
- Network Security API
- Network Services API
- Certificate Manager API
請確認您具備適當的角色和權限。
您必須部署並將有效的 Secure Web Proxy 執行個體與
GatewaySecurityPolicy建立關聯。詳情請參閱「部署 Secure Web Proxy 執行個體」。如要設定 Secure Web Proxy 授權政策,您必須啟用 TLS 檢查政策。
建立授權政策
本節說明如何建立不同類型的授權政策,並附加至 Secure Web Proxy 執行個體。
如要為 Secure Web Proxy 建立授權政策,請按照下列步驟操作:
- 設定定義目標和規則的 YAML 檔案。
- 使用
gcloud network-security authz-policies import指令匯入檔案。
根據 mTLS 身分識別的授權政策
Secure Web Proxy 支援根據相互傳輸層安全標準 (mTLS) 憑證衍生的身分,強制執行安全規則。根據這些身分強制執行規則,在零信任環境中特別有用,因為用戶端與 Proxy 之間的流量會受到 mTLS 保護。詳情請參閱「根據主體設定授權政策」。
以下範例顯示名為 swp1 的 Secure Web Proxy 執行個體授權政策。本範例假設 Proxy 的流量使用 HTTPS 協定。
這項政策採用 REQUEST_AUTHZ 設定檔,可強制規定所有前往 example.com/mcp 的流量都必須先通過特定主體的 mTLS 驗證,才能通過。此外,這項政策也會拒絕所有不打算前往 example.com/mcp 的輸出流量。
建立授權政策 YAML 檔案。
以下範例會建立
authz-policy.yaml檔案。這項政策允許流量前往指定主機和路徑,但前提是用戶端提供的憑證必須符合定義的SPIFFE ID主體。$ cat >authz-policy.yaml <<EOF name: test-authz-policy-mtls target: resources: - "projects/ PROJECT_ID /locations/ LOCATION /gateways/swp1" policyProfile: REQUEST_AUTHZ httpRules: - to: operations: - hosts: - exact: "example.com" paths: - exact: "/mcp" from: sources: - principals: - principalSelector: CLIENT_CERT_URI_SAN principal: exact: "spiffe:// PROJECT_ID .global.123.workload.id.goog/ns/ns1/sa/hellomcp" action: ALLOW EOF更改下列內容:
PROJECT_ID: Google Cloud 專案的 IDLOCATION:Secure Web Proxy 執行個體的區域
使用
gcloud network-security authz-policies import指令建立授權政策並匯入 YAML 檔案。gcloud beta network-security authz-policies import my-authz-policy-allow --source=authz-policy.yaml --location= LOCATION將
LOCATION替換為 Secure Web Proxy 執行個體的區域。
根據服務帳戶或標記的授權政策
您可以根據服務帳戶或附加至各種 Google Cloud 資源的標記套用授權政策。
本範例假設您已完成下列步驟:
建立標記,並以鍵/值組合的形式附加至 Google Cloud 資源。建立代碼時,請將
--purpose旗標設為GCE_FIREWALL。授權政策規定,您必須具備GCE_FIREWALL目的,才能套用標記。
服務帳戶
建立授權政策 YAML 檔案,允許特定要求。
以下範例會為名為
swp1的 Secure Web Proxy 執行個體建立authz-policy.yaml檔案。這項政策已設定為允許來自 Compute Engine 虛擬機器 (VM) 執行個體的請求,該執行個體具有服務帳戶my-sa-123@56788.iam.gserviceaccount.com,可連線至 example1.com/url1 路徑。$ cat >authz-policy.yaml <<EOF name: my-authz-policy-allow target: resources: - "projects/PROJECT_ID/locations/ LOCATION /gateways/swp1" policyProfile: REQUEST_AUTHZ httpRules: - from: sources: - resources: - iamServiceAccount: exact: "my-sa-123@56788.iam.gserviceaccount.com" to: operations: - hosts: - exact: "example1.com" paths: - prefix: "/url1" action: ALLOW EOF更改下列內容:
PROJECT_ID: Google Cloud 專案的 IDLOCATION:Secure Web Proxy 執行個體的區域
使用
gcloud network-security authz-policies import指令建立授權政策並匯入 YAML 檔案。下列範例指令說明如何匯入先前建立的政策檔案,並建立授權政策:
gcloud network-security authz-policies import my-authz-policy-allow --source=authz-policy.yaml --location= LOCATION將
LOCATION替換為 Secure Web Proxy 執行個體的區域。
標記
建立授權政策 YAML 檔案,允許特定要求。
以下範例會為名為
swp1的 Secure Web Proxy 執行個體建立authz-policy-tag.yaml檔案。這項政策只允許源自標記值為TAG_VALUE_PERMANENT_ID的 Google Cloud資源的要求,存取 example1.com/url1 網址路徑。$ cat >authz-policy-tag.yaml <<EOF name: my-authz-policy-tag-allow target: resources: - "projects/PROJECT_ID/locations/ LOCATION /gateways/ GATEWAY_NAME " policyProfile: REQUEST_AUTHZ httpRules: - from: sources: - resources: - tagValueIdSet: ids: ["TAG_VALUE_PERMANENT_ID"] to: operations: - hosts: - exact: "example1.com" paths: - exact: "/url1" action: ALLOW EOF更改下列內容:
PROJECT_ID: Google Cloud 專案的 IDLOCATION:Secure Web Proxy 執行個體的區域GATEWAY_NAME:Secure Web Proxy 閘道的名稱TAG_VALUE_PERMANENT_ID:標記值的永久 ID,例如tagValues/123456789012
使用
gcloud network-security authz-policies import指令建立授權政策並匯入 YAML 檔案。下列範例指令會匯入先前建立的政策檔案,並在指定 Google Cloud 區域中建立授權政策:
gcloud network-security authz-policies import my-authz-policy-tag-allow --source=authz-policy-tag.yaml --location= LOCATION將
LOCATION替換為 Secure Web Proxy 執行個體的區域。
授權政策,可委派授權決策
對於無法使用標準 ALLOW 或 DENY 規則表示的複雜授權決策,您可以建立具有 CUSTOM 動作的授權政策,然後將授權決策委派給授權擴充功能 (Service Extensions)。
設定政策時,如果使用 CUSTOM 動作,Secure Web Proxy 會將要求中繼資料或酬載卸載至 Service Extensions。Proxy 會根據 Service Extensions 的回應,允許或拒絕流量。
Secure Web Proxy 支援下列類型的委派:
將要求授權決策委派給 Service Extensions:您可以透過設定
CUSTOM動作和REQUEST_AUTHZ設定檔的授權政策,根據要求中繼資料和標頭委派決策。在此模式下,存取決策會委派給授權擴充功能。您可以使用這個模式驗證身分和權限。將內容授權決策委派給服務擴充功能: 您可以搭配使用授權政策與
CUSTOM動作和CONTENT_AUTHZ設定檔,根據要求的實際資料酬載,將決策委派給授權擴充功能。 這個模式可讓您啟用深入內容檢查和安全性強制執行功能,並與 Model Armor 等服務整合,掃描機密資訊或惡意模式。
限制
為 Secure Web Proxy 實作授權政策時,適用下列限制:
目標和連線限制:Secure Web Proxy 的授權擴充功能不支援 Identity-Aware Proxy (IAP) 做為直接目標。
政策衝突和相容性:如果您有閘道安全政策,且政策中包含現有的安全規則,則不必移除這些規則。將授權政策套用至執行個體時,Secure Web Proxy 會忽略這些規則。
通訊協定和檢查規定:如要設定 Secure Web Proxy 授權政策,必須啟用 TLS 檢查。