設定 Secure Web Proxy 的授權政策

本頁說明如何為 Secure Web Proxy 設定授權政策。

事前準備

建立授權政策

本節說明如何建立不同類型的授權政策,並附加至 Secure Web Proxy 執行個體。

如要為 Secure Web Proxy 建立授權政策,請按照下列步驟操作:

根據 mTLS 身分識別的授權政策

Secure Web Proxy 支援根據相互傳輸層安全標準 (mTLS) 憑證衍生的身分,強制執行安全規則。根據這些身分強制執行規則,在零信任環境中特別有用,因為用戶端與 Proxy 之間的流量會受到 mTLS 保護。詳情請參閱「根據主體設定授權政策」。

以下範例顯示名為 swp1 的 Secure Web Proxy 執行個體授權政策。本範例假設 Proxy 的流量使用 HTTPS 協定。

這項政策採用 REQUEST_AUTHZ 設定檔,可強制規定所有前往 example.com/mcp 的流量都必須先通過特定主體的 mTLS 驗證,才能通過。此外,這項政策也會拒絕所有不打算前往 example.com/mcp 的輸出流量。

  1. 建立授權政策 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 專案的 ID
    • LOCATION:Secure Web Proxy 執行個體的區域
  2. 使用 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 資源的標記套用授權政策

本範例假設您已完成下列步驟:

服務帳戶

  1. 建立授權政策 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 專案的 ID
    • LOCATION:Secure Web Proxy 執行個體的區域
  2. 使用 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 執行個體的區域。

標記

  1. 建立授權政策 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 專案的 ID
    • LOCATION:Secure Web Proxy 執行個體的區域
    • GATEWAY_NAME:Secure Web Proxy 閘道的名稱
    • TAG_VALUE_PERMANENT_ID:標記值的永久 ID,例如 tagValues/123456789012
  2. 使用 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 執行個體的區域。

授權政策,可委派授權決策

對於無法使用標準 ALLOWDENY 規則表示的複雜授權決策,您可以建立具有 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 檢查

後續步驟