使用 Service Extensions 委派授權

本頁面說明如何使用 Service Extensions,將 Agent Gateway 的授權委派給 Identity-Aware Proxy、Model Armor 和其他自訂授權引擎。

授權政策和擴充功能

授權政策可讓您對通過 Agent Gateway 發布端點的流量,強制執行集中式存取控管和管理政策。如要處理複雜的存取控管、內容安全和治理決策,您可以使用 Agent Gateway 設定授權政策,並透過授權擴充功能,將授權和內容安全決策委派給指定的授權引擎。

授權擴充功能會攔截通過 Agent Gateway 部署作業的要求,並即時向指定的授權服務發出 gRPC 呼叫。這樣一來,服務就能在流量繼續前往目的地之前,檢查、修改或封鎖流量。您可以將授權委派給 Google Cloud 服務,例如 Identity-Aware Proxy、Model Armor 和 semantic governance policy,或您選擇的任何自訂授權引擎。

授權政策會使用政策設定檔,決定要傳送至授權擴充功能的流量資料類型:

  • 要求型授權 (REQUEST_AUTHZ):在處理任何應用程式酬載之前,先評估 HTTP 要求標頭。這個設定檔用於身分驗證和存取控管,例如將授權委派給 Identity-Aware Proxy。
  • 內容型授權 (CONTENT_AUTHZ):評估完整的 HTTP 要求和回應酬載。這個設定檔用於深度內容檢查和 AI 安全防護,例如將提示和回覆安全防護委派給 Model Armor,或將自然語言限制強制執行委派給語意管理政策。

自訂授權引擎可使用 REQUEST_AUTHZ 或 CONTENT_AUTHZ 擴充功能,具體取決於是否檢查標頭或完整應用程式酬載。

您可以分別為要求型和內容型政策設定授權擴充功能,也可以在閘道上合併兩者,確保安全性滴水不漏。如需建議設定,請參閱「建議的輸入和輸出設定」。

如要進一步瞭解授權政策、政策設定檔和用途,請參閱「授權政策總覽」。

如要全面保護整個代理生命週期,建議採用下列多閘道架構模式:

  • 用戶端至代理閘道:用戶端至代理 (輸入) 閘道僅支援單一 CONTENT_AUTHZ 政策。也就是說,您無法在輸入時同時使用 Model Armor 和 semantic governance policy。強烈建議您使用 Model Armor CONTENT_AUTHZ 政策,防範提示詞注入式攻擊。不過,如果想改用 semantic governance policy 擴充功能,請務必確認閘道未設定 Model Armor。ingress 閘道不支援其他類型的服務擴充功能。

  • 代理至任何端點閘道:代理至任何端點 (輸出) 閘道最多支援四項授權政策。輸出閘道支援 REQUEST_AUTHZ 和 CONTENT_AUTHZ 政策設定檔,您可以在此限制內設定多項各類型的政策。

    建議採用下列設定:

    • REQUEST_AUTHZ 政策,委派 Identity-Aware Proxy (IAP) 授權代理身分。
    • 一或多項 CONTENT_AUTHZ 政策,將後續決策委派給 Model Armor 或 semantic governance policy,防止敏感資料外洩,並對傳出的工具呼叫和回覆強制執行自然語言限制。

    如要進一步瞭解政策評估方式,請參閱「輸出政策評估」。

這種多閘道拓撲可確保 Model Armor 篩選傳入的提示詞,而 IAP、Model Armor 和 semantic governance policy 則篩選傳出的回覆。

輸出流量的政策評估

在輸出閘道設定多項授權政策時,系統會根據政策設定檔類型,依序評估這些政策:

  1. REQUEST_AUTHZ (標頭型) 政策:系統會先評估這類政策。舉例來說,IAP 擴充功能會先檢查呼叫代理的 mTLS 身分,並驗證其 IAM 允許政策,然後才會處理任何內容。如果要求未通過這項檢查,系統會立即拒絕。
  2. CONTENT_AUTHZ (內容型) 政策:接著會評估這類政策。如果要求通過標頭檢查,酬載就會串流至內容型授權擴充功能 (例如語意管理政策引擎),進行深度內容檢查和法規遵循評估。

事前準備

開始前,請確認您符合下列需求:

  • 部署 Agent Gateway。請參閱「設定 Agent Gateway」。

  • 您必須具備已部署 Agent Gateway 資源的 networkservices.agentGateways.use IAM 權限,才能將授權政策附加至閘道。

使用擴充功能設定授權政策

本節說明如何設定授權政策,將授權和內容安全決策委派給 Identity-Aware Proxy、Model Armor 和其他自訂服務。

將授權委派給 IAP

您可以設定要求授權擴充功能,將授權政策的存取權決策委派給 IAP。

下列步驟說明如何為 Agent Gateway 執行個體,設定授權擴充功能和授權政策。

  1. 事前準備:請先關閉「停用將存取權政策繫結至資源」 (constraints/iam.managed.disableAccessPolicyBindings) 代管組織政策限制的強制執行功能。根據預設,新組織會啟用這項布林值限制,因此您無法將 IAM 統一存取權政策繫結至資源。詳情請參閱「使用布林值規則更新政策」。

  2. 為代理和工具建立必要的 IAM 輸出政策。詳情請參閱「建立 IAM 代理政策」。

  3. 請參閱「在代理到任何位置 (輸出) 模式設定 Agent Gateway」,瞭解如何在建立 Agent Gateway 時啟用 IAP (使用存取授權參數)。

  4. 設定授權擴充功能,指向 IAP。

    1. 在 YAML 檔案中定義擴充功能。請使用提供的範例值。如要以模擬測試「僅限稽核」模式部署擴充功能,以便測試授權政策而不強制執行,可以在 metadata 區塊中指定 iamEnforcementMode 欄位。

      cat >iap-request-authz-extension.yaml <<EOF
      name: my-iap-request-authz-ext
      service: iap.googleapis.com
      failOpen: false
      timeout: 1s
      metadata:
        iapPolicyVersion: "V2"
      EOF
      

      如要以模擬測試「僅限稽核」模式部署擴充功能,在不強制執行授權政策的情況下測試政策,可以在 metadata 區塊中指定 iamEnforcementMode 欄位。這可讓您驗證政策,並盡可能降低因設定錯誤而中斷流量的風險:

      cat >iap-request-authz-extension.yaml <<EOF
      name: my-iap-request-authz-ext
      service: iap.googleapis.com
      failOpen: false
      timeout: 1s
      metadata:
        iapPolicyVersion: "V2"
        iamEnforcementMode: "DRY_RUN"
      EOF
      

      準備好開始強制執行政策時,請從 metadata 區塊中移除 iamEnforcementMode: "DRY_RUN" 欄位。

    2. 匯入授權擴充功能。使用 gcloud service-extensions authz-extensions import 指令,並搭配下列範例值。

      gcloud service-extensions authz-extensions import my-iap-request-authz-ext \
          --source=iap-request-authz-extension.yaml \
          --location=LOCATION
      
  5. 在同一專案中,設定授權政策,將決策委派給擴充功能。

    1. 定義授權政策,將 my-iap-request-authz-ext 擴充功能與閘道建立關聯。請使用提供的範例值。

      cat >iap-request-authz-policy.yaml <<EOF
      name: my-iap-request-authz-policy
      target:
        resources:
          - "projects/PROJECT_ID/locations/LOCATION/agentGateways/AGENT_GATEWAY_NAME"
      policyProfile: REQUEST_AUTHZ
      action: CUSTOM
      customProvider:
        authzExtension:
          resources:
            - "projects/PROJECT_ID/locations/LOCATION/authzExtensions/my-iap-request-authz-ext"
      EOF
      

      將 PROJECT_ID 替換為專案 ID。

    2. 將授權政策匯入專案。使用 gcloud network-security authz-policies import 指令,並搭配下列範例值。

      gcloud network-security authz-policies import my-iap-request-authz-policy \
          --source=iap-request-authz-policy.yaml \
          --location=LOCATION
      

將授權委派給 Model Armor

您可以設定授權擴充功能,將授權政策的內容安全性決策委派給 Model Armor。

以下範例說明如何使用 Agent Gateway 的授權政策,設定這類授權擴充功能。

控制台

如要透過 Google Cloud 控制台為 Agent Gateway 啟用 Model Armor,請按照下列步驟操作:

  1. 建立必要的 Model Armor 範本。

  2. 請參閱「設定 Agent Gateway」,瞭解如何在建立 Agent Gateway 時,勾選「啟用 Model Armor」核取方塊來啟用 Model Armor。Model Armor 範本支援「用戶端到代理」和「代理到任何位置」模式。

  3. 使用 Model Armor 時,您必須授予 Agent Gateway 服務帳戶必要權限,才能使用 Model Armor 範本。服務帳戶的格式為 service-PROJECT_NUMBER@gcp-sa-dep.iam.gserviceaccount.com,其中 PROJECT_NUMBER 是您建立閘道的專案編號。

    即使閘道和範本位於同一個專案,也必須完成這個步驟。授予下列角色:

    • 閘道所在專案的 roles/modelarmor.calloutUser 和 roles/serviceusage.serviceUsageConsumer 角色。
    • Model Armor 範本所在專案的 roles/modelarmor.user 角色。

    您必須使用 gcloud CLI 才能完成這個步驟。

    gcloud projects add-iam-policy-binding GATEWAY_PROJECT_ID \
        --member=serviceAccount:service-GATEWAY_PROJECT_NUMBER@gcp-sa-dep.iam.gserviceaccount.com \
        --role=roles/modelarmor.calloutUser
    gcloud projects add-iam-policy-binding GATEWAY_PROJECT_ID \
        --member=serviceAccount:service-GATEWAY_PROJECT_NUMBER@gcp-sa-dep.iam.gserviceaccount.com \
        --role=roles/serviceusage.serviceUsageConsumer
    gcloud projects add-iam-policy-binding MODEL_ARMOR_PROJECT_ID \
        --member=serviceAccount:service-GATEWAY_PROJECT_NUMBER@gcp-sa-dep.iam.gserviceaccount.com \
        --role=roles/modelarmor.user
    

    更改下列內容:

    • GATEWAY_PROJECT_ID:您建立閘道的 專案 ID。
    • GATEWAY_PROJECT_NUMBER:您建立閘道的專案編號。
    • MODEL_ARMOR_PROJECT_ID:Model Armor 範本所在專案的專案 ID。

    如果您將閘道用於 Agent Runtime,Agent Runtime 服務代理也需要這些權限,詳情請參閱「透過 Agent Gateway 轉送 Agent Runtime 流量」。

gcloud

  1. 建立必要的 Model Armor 範本。

  2. 使用 Model Armor 時,您必須授予 Agent Gateway 服務帳戶必要權限,才能使用 Model Armor 範本。服務帳戶的格式為 service-PROJECT_NUMBER@gcp-sa-dep.iam.gserviceaccount.com,其中 PROJECT_NUMBER 是您建立閘道的專案編號。

    即使閘道和範本位於同一個專案,也必須完成這個步驟。授予下列角色:

    • 閘道所在專案的 roles/modelarmor.calloutUser 和 roles/serviceusage.serviceUsageConsumer 角色。
    • 在含有 Model Armor 範本的專案中,具備 roles/modelarmor.user 角色。
    gcloud projects add-iam-policy-binding GATEWAY_PROJECT_ID \
        --member=serviceAccount:service-GATEWAY_PROJECT_NUMBER@gcp-sa-dep.iam.gserviceaccount.com \
        --role=roles/modelarmor.calloutUser
    gcloud projects add-iam-policy-binding GATEWAY_PROJECT_ID \
        --member=serviceAccount:service-GATEWAY_PROJECT_NUMBER@gcp-sa-dep.iam.gserviceaccount.com \
        --role=roles/serviceusage.serviceUsageConsumer
    gcloud projects add-iam-policy-binding MODEL_ARMOR_PROJECT_ID \
        --member=serviceAccount:service-GATEWAY_PROJECT_NUMBER@gcp-sa-dep.iam.gserviceaccount.com \
        --role=roles/modelarmor.user
    

    更改下列內容:

    • GATEWAY_PROJECT_ID:您建立閘道的 專案 ID。
    • GATEWAY_PROJECT_NUMBER:您建立閘道的專案編號。
    • MODEL_ARMOR_PROJECT_ID:Model Armor 範本所在專案的專案 ID。
  3. 設定授權擴充功能,指向 Model Armor。

    1. 在 YAML 檔案中定義擴充功能。使用提供的範例值。

      cat >ma-content-authz-extension.yaml <<EOF
      name: my-ma-content-authz-ext
      service: modelarmor.LOCATION.rep.googleapis.com
      metadata:
        model_armor_settings: '[
          {
          "response_template_id": "projects/MODEL_ARMOR_PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID",
          "request_template_id": "projects/MODEL_ARMOR_PROJECT_ID/locations/LOCATION/templates/TEMPLATE_ID"
          }
        ]'
      failOpen: false
      timeout: 1s
      EOF
      
    2. 匯入授權擴充功能。使用 gcloud service-extensions authz-extensions import 指令,並搭配下列範例值。

      gcloud service-extensions authz-extensions import my-ma-content-authz-ext \
         --source=ma-content-authz-extension.yaml \
         --location=LOCATION
      
  4. 使用擴充功能設定授權政策。

    1. 定義授權政策,將擴充功能 my-ma-content-authz-ext 與 Agent Gateway 建立關聯。

      代理至任意目的地

      cat >ma-content-authz-policy.yaml <<EOF
      name: my-ma-content-authz-policy
      target:
        resources:
          - "projects/PROJECT_ID/locations/LOCATION/agentGateways/AGENT_GATEWAY_NAME"
      policyProfile: CONTENT_AUTHZ
      action: CUSTOM
      customProvider:
        authzExtension:
          resources:
            - "projects/PROJECT_ID/locations/LOCATION/authzExtensions/my-ma-content-authz-ext"
      httpRules:
        - to:
            operations: [ { "paths": [ { "prefix": "/" } ] } ]
          when: >
            request.headers['content-type'] == 'application/json' ||
            request.headers['content-type'].startsWith('text/')
      EOF
      

      注意事項:

      • policyProfile 的值已設為 CONTENT_AUTHZ。這表示自訂政策供應商會處理要求和回應流量,包括要求主體。

      • httpRules 參數示範如何使用 CEL 屬性建立條件,比對要轉送至 Model Armor 評估的特定流量。在這個範例中,規則會比對內容類型為 application/json 或 text/ 的所有流量。建議您使用這類規則,將 Model Armor 評估範圍限制在相關流量。這樣一來,您就能將支援的 LLM API、MCP 和 A2A 流量轉送至 Model Armor,同時排除代理 gRPC 呼叫等內部流量。

      用戶端至代理

      cat >ma-content-authz-policy.yaml <<EOF
      name: my-ma-content-authz-policy
      target:
        resources:
          - "projects/PROJECT_ID/locations/LOCATION/agentGateways/AGENT_GATEWAY_NAME"
      policyProfile: CONTENT_AUTHZ
      action: CUSTOM
      customProvider:
        authzExtension:
          resources:
            - "projects/PROJECT_ID/locations/LOCATION/authzExtensions/my-ma-content-authz-ext"
      EOF
      

      policyProfile 的值已設為 CONTENT_AUTHZ。這表示自訂政策供應商會處理要求和回應流量,包括要求主體。

    2. 將授權政策匯入專案。使用 gcloud network-security authz-policies import 指令,並搭配下列範例值。

      gcloud network-security authz-policies import my-ma-content-authz-policy \
        --source=ma-content-authz-policy.yaml \
        --location=LOCATION
      

將授權委派給自訂授權擴充功能

您可以設定自訂授權擴充功能,將決策委派給自訂服務。這些自訂擴充功能只能指定完整網域名稱 (FQDN)。

使用 FQDN 目標時,擴充功能會透過 TLS 加密,使用 HTTP2 通訊協定與通訊埠 443 上的端點通訊。不過,擴充功能不會驗證伺服器憑證。因此,為提高安全性,請務必確保解析的端點位於虛擬私有雲網路內。此外,請確認您已在 Agent Gateway 專案和虛擬私有雲網路之間設定 DNS 對接。

  1. 如要為特定 FQDN (例如 mycustomauthz.internal.net) 設定授權擴充功能和授權政策,請在擴充功能 YAML 檔案中,將該 FQDN 指定為 service 的值,如下例所示。這個範例假設您已在虛擬私有雲網路中部署伺服器,並在 FULL_DUPLEX_STREAMED 主體處理模式中實作 ext_proc 通訊協定。

    cat >custom-authz-extension.yaml <<EOF
    name: my-custom-authz-ext
    service: mycustomauthz.internal.net
    failOpen: false
    timeout: 1s
    EOF
    
  2. 建立授權擴充功能,指向自訂服務。

    gcloud beta service-extensions authz-extensions import custom-authz-extension \
      --source=custom-authz-extension.yaml \
      --location=LOCATION
    
  3. 建立擴充功能後,請設定 CUSTOM 授權政策,將決策委派給授權擴充功能。

      cat >authz-policy.yaml <<EOF
      name: authz-with-extension
      target:
        resources:
          - "projects/PROJECT_ID/locations/LOCATION/agentGateways/AGENT_GATEWAY_NAME"
      policyProfile: CONTENT_AUTHZ
      action: CUSTOM
      customProvider:
        authzExtension:
          resources:
            - "projects/PROJECT_ID/locations/LOCATION/authzExtensions/custom-authz-extension"
      EOF
    
  4. 建立授權政策。

    gcloud network-security authz-policies import authz-policy-with-extension \
    --source=authz-policy.yaml \
    --location=LOCATION
    

請注意,如本範例所示,當授權擴充功能使用 CONTENT_AUTHZ 設定檔與授權政策建立關聯時,閘道會叫用擴充功能來處理要求和回應酬載 (標頭和主體),以便對代理流量進行深度內容檢查、提示防護措施和資料清理。根據預設,CONTENT_AUTHZ 政策會使用 FULL_DUPLEX_STREAMED 模式的 Envoy ext_proc 通訊協定處理內文事件。

結合 IAP 授權與 Model Armor 防護機制

為確保安全性,建議您設定一項採用 REQUEST_AUTHZ 政策設定檔的 CUSTOM 授權政策,以及另一項採用 CONTENT_AUTHZ 政策設定檔的 CUSTOM 授權政策。

下列範例使用 IAP 做為集中式要求授權系統,並使用 Model Armor 做為 AI 護欄。如先前範例所示,您可以將這些服務替換為 Service Extensions,使用自己的自訂解決方案。

  1. 設定委派給 IAP 的 REQUEST_AUTHZ 授權擴充功能,以及指向該擴充功能的授權政策。

    1. 定義授權擴充功能。metadata 下方的 iapPolicyVersion 欄位為必填欄位。

      cat >iap-extension.yaml <<EOF
      name: iap-extension
      service: iap.googleapis.com
      failOpen: false
      timeout: 1s
      metadata:
        iapPolicyVersion: "V2"
      EOF
      
    2. 建立授權擴充功能。

      gcloud service-extensions authz-extensions import iap-extension \
      --source=iap-extension.yaml \
      --location=LOCATION
      

      將 LOCATION 替換為擴充功能所在的區域。

    3. 設定委派給擴充功能的 REQUEST_AUTHZ 授權政策。

      cat >authz-policy-request-authz.yaml <<EOF
      name: authz-iap
      target:
        resources:
        - "projects/PROJECT_ID/locations/LOCATION/agentGateways/AGENT_GATEWAY_NAME"
      policyProfile: REQUEST_AUTHZ
      action: CUSTOM
      customProvider:
        authzExtension:
          resources:
          - "projects/PROJECT_ID/locations/LOCATION/authzExtensions/iap-extension"
      EOF
      

      更改下列內容:

      • PROJECT_ID:專案 ID。
      • LOCATION:資源的位置。
      • AGENT_GATEWAY_NAME:Agent Gateway 的名稱。
    4. 建立授權政策。

      gcloud network-security authz-policies import authz-iap \
      --source=authz-policy-request-authz.yaml \
      --location=LOCATION
      
  2. 設定 CONTENT_AUTHZ 授權擴充功能,委派給 Model Armor,並設定指向該擴充功能的授權政策。

    1. 定義擴充功能。

      cat >ma-extension-file.yaml <<EOF
      name: ma-extension
      service: modelarmor.LOCATION.rep.googleapis.com
      metadata:
        model_armor_settings: '[
          {
          "response_template_id": "projects/MODEL_ARMOR_PROJECT_ID/locations/LOCATION/templates/RESPONSE_TEMPLATE_ID",
          "request_template_id": "projects/MODEL_ARMOR_PROJECT_ID/locations/LOCATION/templates/REQUEST_TEMPLATE_ID"
          }
        ]'
      failOpen: false
      timeout: 1s
      EOF
      

      更改下列內容:

      • LOCATION:Model Armor 範本所在的區域。
      • MODEL_ARMOR_PROJECT_ID:Model Armor 範本所在的專案 ID。
      • RESPONSE_TEMPLATE_ID:回覆範本的 ID。
      • REQUEST_TEMPLATE_ID:要求範本的 ID。
    2. 建立授權擴充功能。

      gcloud service-extensions authz-extensions import ma-extension \
      --source=ma-extension-file.yaml \
      --location=LOCATION
      
    3. 設定委派給擴充功能的 CONTENT_AUTHZ 授權政策。

      cat >authz-policy-content-authz.yaml <<EOF
      name: authz-ma
      target:
        resources:
        - "projects/PROJECT_ID/locations/LOCATION/agentGateways/AGENT_GATEWAY_NAME"
      policyProfile: CONTENT_AUTHZ
      action: CUSTOM
      customProvider:
        authzExtension:
          resources:
          - "projects/PROJECT_ID/locations/LOCATION/authzExtensions/ma-extension"
      EOF
      
    4. 建立授權政策。

      gcloud network-security authz-policies import ma-authz-policy \
      --source=authz-policy-content-authz.yaml \
      --location=LOCATION
      

授權擴充功能與 CONTENT_AUTHZ 設定檔建立關聯後,就會接收所有 ext_proc 事件,包括要求和回應標頭、主體和結尾。如果以 ext_proc 為基礎的授權擴充功能可同時處理要求時授權和內容授權,建議您使用 CONTENT_AUTHZ 政策設定檔,設定單一 CUSTOM 授權政策。這項政策應指向多功能授權擴充功能。這種做法可透過單一擴充功能和 ext_proc 連線,同時啟用這兩種授權類型,進而改善延遲情形。

將授權委派給語意管理政策

您可以設定授權擴充功能,將授權政策的意圖限制和自然語言限制決策,委派給語意管理政策引擎 (semanticGovernancePolicyEngine)。

如要瞭解如何佈建政策引擎,並在閘道建立必要的 CONTENT_AUTHZ 授權政策和授權擴充功能繫結,請參閱「將政策引擎連結至 Agent Gateway」。

根據 MCP 通訊協定屬性授權

Agent Gateway 會剖析要求中的 MCP 通訊協定酬載,並將擷取的屬性提供給授權政策。

您可以根據 MCP 方法參數 (例如特定工具的名稱) 限制存取權。本節提供兩個範例,分別是 ALLOW 政策和 DENY。

  1. 設定授權政策。

    ALLOW 政策範例

    這個範例允許存取 MCP 伺服器上的特定工具組合和基本通訊協定功能,但不允許存取提示和資源。

    編寫 ALLOW 政策時,請務必指定 baseProtocolMethodsOption: MATCH_BASE_PROTOCOL_METHODS,確保非存取專屬的 MCP RPC (例如初始化、記錄、完成、通知和連線偵測 (ping)) 繼續運作。否則無法建立 MCP 工作階段。

    cat >authz-policy-restrict-tools.yaml <<EOF
    name: my-authz-policy-restrict-tools
    target:
      resources:
      - "projects/PROJECT_ID/locations/LOCATION/agentGateways/AGENT_GATEWAY_NAME"
    policyProfile: REQUEST_AUTHZ
    httpRules:
    - to:
        operations:
        - mcp:
            baseProtocolMethodsOption: MATCH_BASE_PROTOCOL_METHODS
            methods:
            - name: "tools/list"
            - name: "tools/call"
              params:
              - exact: "get_weather"
              - exact: "get_location"
    action: ALLOW
    EOF
    

    DENY 政策範例

    這個範例會禁止所有提示/方法存取 Agent Gateway 後方的 MCP 伺服器。

    cat >authz-policy-disallow-prompts.yaml <<EOF
    name: my-authz-policy-disallow-prompts
    target:
      resources:
      - "projects/PROJECT_ID/locations/LOCATION/agentGateways/AGENT_GATEWAY_NAME"
    policyProfile: REQUEST_AUTHZ
    httpRules:
    - to:
        operations:
        - mcp:
            methods:
            - name: "prompts"
    action: DENY
    EOF
    
  2. 建立授權政策。

    gcloud network-security authz-policies import AUTHZ_POLICY_NAME \
    --source=AUTH_POLICY_YAML_FILE_PATH \
    --location=LOCATION
    

    更改下列內容:

    • AUTHZ_POLICY_NAME:授權政策的名稱。
    • AUTH_POLICY_YAML_FILE_PATH:授權政策 YAML 檔案的路徑。
    • LOCATION:資源的位置。

限制

使用授權政策時,請注意下列限制:

  • 每個閘道的授權政策數量上限取決於閘道模式:

    • 如果是代理程式對任何位置 (egress) 閘道,無論政策設定檔 (REQUEST_AUTHZ 或 CONTENT_AUTHZ) 為何,每個閘道最多可設定四項授權政策。
    • 如果是用戶端對代理 (輸入) 閘道,最多可以設定一項 CONTENT_AUTHZ 政策。

    詳情請參閱「建議的輸入和輸出設定」。

  • 如果您搭配 CONTENT_AUTHZ 設定檔使用自訂授權擴充功能,這些擴充功能必須支援 ext_proc 通訊協定和 FULL_DUPLEX_STREAMED 模式,才能處理主體事件。

  • 如果您設定多項使用相同設定檔的自訂授權政策,則無法保證執行順序。

此外,如要進一步瞭解授權擴充功能的限制,請參閱下列各節:

後續步驟

程式碼實驗室

瞭解如何透過 Gemini Enterprise Agent Platform 的 Agent Gateway 控管代理工作負載。

指南

瞭解如何監控 Agent Gateway。

疑難排解

瞭解如何排解 Agent Gateway 連線問題。