設定 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 執行個體的區域。

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

對於無法使用標準 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 檢查。

後續步驟