本頁說明如何為 Application Load Balancer 設定授權政策。
事前準備
設定負載平衡器
如果您尚未建立負載平衡器,請參閱下列頁面,設定偏好的應用程式負載平衡器:
- 如要建立全域外部應用程式負載平衡器,請參閱「設定具有 VM 執行個體群組後端的全域外部應用程式負載平衡器」。
如要建立區域性外部應用程式負載平衡器,請參閱「設定具有 VM 執行個體群組後端的區域性外部應用程式負載平衡器」。
如要建立區域性內部應用程式負載平衡器,請參閱「使用 VM 執行個體群組後端設定區域性內部應用程式負載平衡器」。
- 如要建立跨區域內部應用程式負載平衡器,請參閱「使用 VM 執行個體群組後端設定跨區域內部應用程式負載平衡器」。
建立服務帳戶或標記,並附加至 Google Cloud VM
針對內部應用程式負載平衡器,您可以根據服務帳戶或附加至不同 Google Cloud資源的標記,套用授權政策。
本文件中的範例提供建立授權政策的操作說明,您可以根據服務帳戶或附加至 Google Cloud 虛擬機器 (VM) 執行個體的標記建立授權政策。任何來自已連結至特定服務帳戶或標記的用戶端 VM 的要求,都可以允許、拒絕或委派給外部服務。本文件的「以服務帳戶或標記為依據的授權政策」一節中,提供了使用服務帳戶和標記來強制執行存取權控管的授權政策範例。
外部應用程式負載平衡器不支援根據服務帳戶或標記套用授權政策。
將服務帳戶附加至用戶端 VM
如需將服務帳戶連結至 VM 執行個體的操作說明,請參閱下列文件:
- 如要在建立 VM 時設定服務帳戶,請參閱「建立使用使用者管理服務帳戶的 VM」一文。
- 如要在現有 VM 上設定服務帳戶,請參閱「變更已附加的服務帳戶」一文。
在執行個體群組範本中附加標記
您必須先建立代碼鍵和值,才能將代碼與執行個體群組範本繫結。建立標記時,請指定 GCE_FIREWALL
用途。 Google Cloud 網路功能 (包括 Secure Web Proxy 和授權政策) 需要 GCE_FIREWALL
用途才能套用標記。
建立標記鍵和值
如要建立代碼,您必須具備代碼管理員角色 (roles/resourcemanager.tagAdmin
)。
主控台
前往 Google Cloud 控制台的「Tags」頁面。
按一下「建立」。
在「Tag key description」 欄位中輸入說明。
選取「與網路防火牆搭配使用」核取方塊。
在「Project」清單中,選取要建立代碼的 Google Cloud 專案。
在「Network」(網路) 欄位中,選取
LB_NETWORK
。按一下
「新增值」。在「Tag value」(標記值) 欄位中輸入
TAG_VALUE
。值必須是數值。在「Tag value description」(標記值說明) 欄位中輸入說明。
新增完代碼值後,請按一下「建立代碼鍵」。
gcloud
建立標記鍵。
gcloud resource-manager tags keys create TAG_KEY \ --parent=organizations/ORG_ID \ --purpose=GCE_FIREWALL \ --purpose-data=network=LB_NETWORK
更改下列內容:
TAG_KEY
:標記鍵的名稱。ORG_ID
:貴機構的 ID。LB_NETWORK
:虛擬私有雲網路名稱。
將標記值加入數字標記鍵。
gcloud resource-manager tags values create TAG_VALUE \ --parent=ORG_ID/TAG_KEY
將
TAG_VALUE
替換為數字標記值。
將標記繫結至執行個體群組範本
標記管理員可以將標記繫結至個別 VM 執行個體或執行個體群組範本,並將標記值附加至 VM 或範本的後端。
如要繫結標記,您必須具備「Tag User」角色 (roles/resourcemanager.tagUser
)。
定義專案和區域的全名前置字串:
FULL_NAME_PREFIX=//compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/
更改下列內容:
PROJECT_ID
:專案 ID。ZONE
:代管執行個體群組所在的區域。
取得執行個體群組範本 ID:
TEMPLATE_ID=$(gcloud compute instance-templates describe TEMPLATE_NAME --region=LOCATION --format='value(id)')
更改下列內容:
TEMPLATE_NAME
:執行個體群組範本的名稱。LOCATION
:您的 Google Cloud 區域。
連結
FULL_NAME_PREFIX
和TEMPLATE_ID
的值:PARENT="$FULL_NAME_PREFIX$TEMPLATE_ID" echo $PARENT
建立繫結。
gcloud resource-manager tags bindings create \ --location LOCATION \ --tag-value ORG_ID/TAG_KEY/TAG_VALUE \ --parent PARENT
更改下列內容:
ORG_ID
:貴機構的 ID。LOCATION
:您的 Google Cloud 區域。TAG_KEY
:安全標記鍵的名稱。TAG_VALUE
:數字標記值。
建立授權政策
如要建立授權政策,您必須建立 YAML 檔案來定義目標和規則,然後使用 gcloud beta network-security
authz-policies
指令匯入檔案。
本節說明如何建立附加至負載平衡器轉送規則的不同類型授權政策。
拒絕要求的授權政策
全球和跨區域
如果您使用全域外部應用程式負載平衡器或跨區域內部應用程式負載平衡器,請按照下列步驟建立及匯入授權政策:
建立授權政策檔案,拒絕特定要求。
以下範例會為
global
位置中的轉送規則LB_FORWARDING_RULE
建立authz-policy-deny.yaml
檔案。這項政策會拒絕用戶端存取/api/payments
網址路徑。$ cat >authz-policy-deny.yaml <<EOF name: my-authz-policy-deny target: loadBalancingScheme: LB_SCHEME resources: - "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/forwardingRules/LB_FORWARDING_RULE" httpRules: - to: operations: - paths: - prefix: "/api/payments" action: DENY EOF
更改下列內容:
LB_SCHEME
:負載平衡架構。針對全域外部應用程式負載平衡器,請將架構設為EXTERNAL_MANAGED
。如為跨區域內部應用程式負載平衡器,請將配置方案設為INTERNAL_MANAGED
。PROJECT_ID
: Google Cloud 專案的 ID。LB_FORWARDING_RULE
:負載平衡器的轉送規則名稱。
建立授權政策並匯入 YAML 檔案。
以下範例指令會匯入先前建立的政策檔案,並建立授權政策:
gcloud beta network-security authz-policies import my-authz-policy-deny \ --source=authz-policy-deny.yaml \ --location=global
地區性
如果您使用區域性外部應用程式負載平衡器或區域性內部應用程式負載平衡器,請按照下列步驟建立及匯入授權政策:
建立授權政策檔案,拒絕特定要求。
以下範例會為 Google Cloud 地區中的轉送規則
LB_FORWARDING_RULE
建立authz-policy-deny.yaml
檔案。這項政策會拒絕用戶端存取/api/payments
網址路徑。$ cat >authz-policy-deny.yaml <<EOF name: my-authz-policy-deny target: loadBalancingScheme: LB_SCHEME resources: - "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/LOCATION/forwardingRules/LB_FORWARDING_RULE" httpRules: - to: operations: - paths: - prefix: "/api/payments" action: DENY EOF
更改下列內容:
LB_SCHEME
:負載平衡架構。如為區域性外部應用程式負載平衡器,請將配置方案設為EXTERNAL_MANAGED
。如為區域內部應用程式負載平衡器,請將配置表設為INTERNAL_MANAGED
。PROJECT_ID
: Google Cloud 專案的 ID。LOCATION
:您的 Google Cloud 區域。LB_FORWARDING_RULE
:負載平衡器的轉送規則名稱。
建立授權政策並匯入 YAML 檔案。
以下範例指令會匯入先前建立的政策檔案,並在
LOCATION
區域中建立授權政策:gcloud beta network-security authz-policies import my-authz-policy-deny \ --source=authz-policy-deny.yaml \ --location=LOCATION
允許要求的授權政策
全球和跨區域
如果您使用全域外部應用程式負載平衡器或跨區域內部應用程式負載平衡器,請按照下列步驟建立及匯入授權政策:
建立授權政策檔案,允許特定要求。
以下範例會在
global
位置為轉送規則LB_FORWARDING_RULE
建立authz-policy-allow.yaml
檔案。這項政策可讓用戶端存取/api/payments
網址路徑。$ cat >authz-policy-allow.yaml <<EOF name: my-authz-policy-allow target: loadBalancingScheme: LB_SCHEME resources: - "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/forwardingRules/LB_FORWARDING_RULE" httpRules: - to: operations: - paths: - exact: "/api/payments" action: ALLOW EOF
更改下列內容:
LB_SCHEME
:負載平衡架構。針對全域外部應用程式負載平衡器,請將架構設為EXTERNAL_MANAGED
。如為跨區域內部應用程式負載平衡器,請將配置方案設為INTERNAL_MANAGED
。PROJECT_ID
: Google Cloud 專案的 ID。LB_FORWARDING_RULE
:負載平衡器的轉送規則名稱。
建立授權政策並匯入 YAML 檔案。
以下範例指令會匯入先前建立的政策檔案,並建立授權政策:
gcloud beta network-security authz-policies import my-authz-policy-allow \ --source=authz-policy-allow.yaml \ --location=global
地區性
如果您使用區域性外部應用程式負載平衡器或區域性內部應用程式負載平衡器,請按照下列步驟建立及匯入授權政策:
建立授權政策檔案,允許特定要求。
以下範例會為特定 Google Cloud 區域中的轉送規則
LB_FORWARDING_RULE
建立authz-policy-allow.yaml
檔案。這項政策可讓用戶端存取/api/payments
網址路徑。$ cat >authz-policy-allow.yaml <<EOF name: my-authz-policy-allow target: loadBalancingScheme: LB_SCHEME resources: - "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/LOCATION/forwardingRules/LB_FORWARDING_RULE" httpRules: - to: operations: - paths: - exact: "/api/payments" action: ALLOW EOF
更改下列內容:
LB_SCHEME
:負載平衡架構。如果您使用區域性外部應用程式負載平衡器,請將配置圖設為EXTERNAL_MANAGED
。如果您使用區域性內部應用程式負載平衡器,請將配置表設為INTERNAL_MANAGED
。PROJECT_ID
: Google Cloud 專案的 ID。LOCATION
:您的 Google Cloud 區域。LB_FORWARDING_RULE
:負載平衡器的轉送規則名稱。
建立授權政策並匯入 YAML 檔案。
以下範例指令會匯入先前建立的政策檔案,並在
LOCATION
地區建立授權政策:gcloud beta network-security authz-policies import my-authz-policy-allow \ --source=authz-policy-allow.yaml \ --location=LOCATION
根據服務帳戶或標記建立授權政策
您只能在內部應用程式負載平衡器上,套用根據服務帳戶或標記建立的授權政策。任何來自已連結至特定服務帳戶或標記的用戶端 VM 的流量,都可以允許、拒絕或委派給外部服務。
如要建立服務帳戶或標記並附加至 Google Cloud VM,請參閱本文的「建立服務帳戶或標記並附加至 Google Cloud VM」一節。
服務帳戶
建立授權政策檔案,拒絕特定要求。
以下範例會為區域內部應用程式負載平衡器的轉送規則
LB_FORWARDING_RULE
建立authz-policy-deny.yaml
檔案。政策已設定為拒絕任何用戶端 VM 透過服務帳戶my-sa-123@PROJECT_ID.iam.gserviceaccount.com
存取/api/payments
路徑的要求。$ cat >authz-policy-deny.yaml <<EOF name: my-authz-policy-deny target: loadBalancingScheme: LB_SCHEME resources: - "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/LOCATION/forwardingRules/LB_FORWARDING_RULE" httpRules: - from: sources: - resources: - iamServiceAccount: exact: "my-sa-123@PROJECT_ID.iam.gserviceaccount.com" to: operations: - paths: - prefix: "/api/payments" action: DENY EOF
更改下列內容:
LB_SCHEME
:負載平衡架構。如果是區域性內部應用程式負載平衡器,請將配置表設為INTERNAL_MANAGED
。PROJECT_ID
: Google Cloud 專案的 ID。LOCATION
:您的 Google Cloud 區域。LB_FORWARDING_RULE
:負載平衡器的轉送規則名稱。
建立授權政策並匯入 YAML 檔案。
以下範例指令會匯入先前建立的政策檔案,並在指定的 Google Cloud 區域中建立授權政策。
gcloud beta network-security authz-policies import my-authz-policy-deny \ --source=authz-policy-deny.yaml \ --location=LOCATION
更改下列內容:
LOCATION
:您的 Google Cloud 區域。
標記
建立授權政策檔案,允許特定要求。
以下範例會為區域內部應用程式負載平衡器的轉送規則
LB_FORWARDING_RULE
建立authz-policy-allow.yaml
檔案。這項政策只允許來自具有資源標記TAG_VALUE
的 VM 的要求存取/api/payments
網址路徑。$ cat >authz-policy-allow.yaml <<EOF name: my-authz-policy-allow target: loadBalancingScheme: LB_SCHEME resources: - "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/LOCATION/forwardingRules/LB_FORWARDING_RULE" httpRules: - from: sources: resources: - tagValueIdSet: - ids: "TAG_VALUE" to: operations: - paths: - exact: "/api/payments" action: ALLOW EOF
更改下列內容:
LB_SCHEME
:負載平衡架構。如果是區域性內部應用程式負載平衡器,請將配置表設為INTERNAL_MANAGED
。PROJECT_ID
: Google Cloud 專案的 ID。LOCATION
:您的 Google Cloud 區域。LB_FORWARDING_RULE
:負載平衡器的轉送規則名稱。
建立授權政策並匯入 YAML 檔案。
以下是匯入先前建立的政策檔案,並在指定的Google Cloud 區域中建立授權政策的範例指令:
gcloud beta network-security authz-policies import my-authz-policy-allow \ --source=authz-policy-allow.yaml \ --location=LOCATION
更改下列內容:
LOCATION
:您的 Google Cloud 區域。
委派至服務擴充功能的授權政策
開始前,請設定外部授權引擎。如要進一步瞭解服務擴充功能,請參閱 Cloud Load Balancing 提示總覽。
全球和跨區域
如果您使用全域外部應用程式負載平衡器或跨區域內部應用程式負載平衡器,請按照下列步驟建立及匯入授權政策:
建立授權政策檔案,將特定要求委派給外部服務。
以下範例會為
global
位置中的轉送規則LB_FORWARDING_RULE
建立authz-policy-custom.yaml
檔案。當要求包含非空白的Authorization
標頭時,這項政策會針對/api/payments
網址路徑的所有流量呼叫AUTHZ_EXTENSION
擴充功能。$ cat >authz-policy-custom.yaml <<EOF name: my-authz-policy-custom target: loadBalancingScheme: LB_SCHEME resources: - "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/forwardingRules/LB_FORWARDING_RULE" httpRules: - to: operations: - paths: - exact: "/api/payments" when: 'request.headers["Authorization"] != ""' action: CUSTOM customProvider: authzExtension: resources: - "https://networkservices.googleapis.com/v1/projects/PROJECT_ID/locations/global/authzExtensions/AUTHZ_EXTENSION" EOF
更改下列內容:
LB_SCHEME
:負載平衡架構。針對全域外部應用程式負載平衡器,請將架構設為EXTERNAL_MANAGED
。如為跨區域內部應用程式負載平衡器,請將配置方案設為INTERNAL_MANAGED
。PROJECT_ID
: Google Cloud 專案的 ID。LB_FORWARDING_RULE
:負載平衡器的轉送規則名稱。AUTHZ_EXTENSION
:授權擴充功能的名稱。
建立授權政策並匯入 YAML 檔案。
以下範例指令會匯入先前建立的政策檔案,並建立授權政策:
gcloud beta network-security authz-policies import my-authz-policy-custom \ --source=authz-policy-custom.yaml \ --location=global
地區性
如果您使用區域性外部應用程式負載平衡器或區域性內部應用程式負載平衡器,請按照下列步驟建立及匯入授權政策:
建立授權政策檔案,將特定要求委派給外部服務。
以下範例會為區域內部應用程式負載平衡器的 Google Cloud 區域中,建立轉送規則
LB_FORWARDING_RULE
的authz-policy-custom.yaml
檔案。當要求包含非空白的Authorization
標頭時,這項政策會針對/api/payments
網址路徑的所有流量呼叫AUTHZ_EXTENSION
擴充功能。$ cat >authz-policy-custom.yaml <<EOF name: my-authz-policy-custom target: loadBalancingScheme: LB_SCHEME resources: - "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/LOCATION/forwardingRules/LB_FORWARDING_RULE" httpRules: - to: operations: - paths: - exact: "/api/payments" when: 'request.headers["Authorization"] != ""' action: CUSTOM customProvider: authzExtension: resources: - "https://networkservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authzExtensions/AUTHZ_EXTENSION" EOF
更改下列內容:
LB_SCHEME
:負載平衡架構。如為區域性外部應用程式負載平衡器,請將配置方案設為EXTERNAL_MANAGED
。如為區域內部應用程式負載平衡器,請將配置表設為INTERNAL_MANAGED
。PROJECT_ID
: Google Cloud 專案的 ID。LOCATION
:您的 Google Cloud 區域。LB_FORWARDING_RULE
:負載平衡器的轉送規則名稱。AUTHZ_EXTENSION
:授權擴充功能的名稱。
建立授權政策並匯入 YAML 檔案。
以下範例指令會匯入先前建立的政策檔案,並在
LOCATION
區域中建立授權政策:gcloud beta network-security authz-policies import my-authz-policy-custom \ --source=authz-policy-custom.yaml \ --location=LOCATION
測試授權政策
如要測試授權政策,請將部分流量傳送至負載平衡器。如需詳細資訊,請參閱以下頁面:
- 如果您使用全域外部應用程式負載平衡器,請參閱「測試傳送至執行個體的流量」。
- 如果您使用跨區域內部應用程式負載平衡器,請參閱「測試負載平衡器」。
瞭解 Cloud Logging 中的授權政策記錄
如要瞭解在要求遭到核准或拒絕時,授權政策如何記錄,請參閱下列各節。
要求不符合 ALLOW
或 DENY
政策
如果要求不符合 ALLOW
或 DENY
政策,DENY
政策會允許要求,並將其記錄為 allowed_as_no_deny_policies_matched_request
。相反地,ALLOW
政策會拒絕要求並記錄為 denied_as_no_allow_policies_matched_request
。由於其中一項政策拒絕要求,因此要求遭到拒絕。
如果您使用全域外部應用程式負載平衡器,記錄檔中的
statusDetails
會設為denied_by_authz_policy
。請參閱以下範例:{ httpRequest: {8} insertId: "example-id" jsonPayload: { @type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry" authzPolicyInfo: { policies: [ 0: { details: "allowed_as_no_deny_policies_matched_request" result: "ALLOWED" } 1: { details: "denied_as_no_allow_policies_matched_request" result: "DENIED" } ] result: "DENIED" } backendTargetProjectNumber: "projects/12345567" remoteIp: "00.100.11.104" statusDetails: "denied_by_authz_policy" } logName: "projects/example-project/logs/requests" receiveTimestamp: "2024-08-28T15:33:56.046651035Z" resource: {2} severity: "WARNING" spanId: "3e1a09a8e5e3e14d" timestamp: "2024-08-28T15:33:55.355042Z" trace: "projects/example-project/traces/8c8b3dbf9a19c85954d0fa2d958ca509" }
如果您使用區域內部應用程式負載平衡器、區域外部應用程式負載平衡器或跨區域內部應用程式負載平衡器,記錄檔中的
proxyStatus
會設為error=\"http_request_error\"; details=\"denied_by_authz_policy\"
。請參閱以下範例:{ httpRequest: {8} insertId: "example-id" jsonPayload: { @type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry" authzPolicyInfo: { policies: [ 0: { details: "allowed_as_no_deny_policies_matched_request" result: "ALLOWED" } 1: { details: "denied_as_no_allow_policies_matched_request" result: "DENIED" } ] result: "DENIED" } backendTargetProjectNumber: "projects/12345567" remoteIp: "00.100.11.104" proxyStatus: "error=\"http_request_error\"; details=\"denied_by_authz_policy\"" } logName: "projects/example-project/logs/requests" receiveTimestamp: "2024-08-28T15:33:56.046651035Z" resource: {2} severity: "WARNING" spanId: "3e1a09a8e5e3e14d" timestamp: "2024-08-28T15:33:55.355042Z" trace: "projects/example-project/traces/8c8b3dbf9a19c85954d0fa2d958ca509" }
要求符合 DENY
政策
如果要求符合 DENY
政策,系統會拒絕要求,並記錄拒絕要求的政策。
如果您使用全域外部應用程式負載平衡器,記錄檔中的
statusDetails
會設為denied_by_authz_policy
,而拒絕要求的政策名稱會記錄在policies
中。請參閱以下範例:{ httpRequest: {8} insertId: "example-id" jsonPayload: { @type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry" authzPolicyInfo: { policies: [ 0: { details: "name: "projects/12345567/locations/global/authzPolicies/deny-authz-policy-test"" result: "DENIED" } ] result: "DENIED" } backendTargetProjectNumber: "projects/12345567" cacheDecision: [2] remoteIp: "00.100.11.104" statusDetails: "denied_by_authz_policy" } logName: "projects/example-project/logs/requests" receiveTimestamp: "2024-08-28T15:33:56.046651035Z" resource: {2} severity: "WARNING" spanId: "3e1a09a8e5e3e14d" timestamp: "2024-08-28T15:33:55.355042Z" trace: "projects/example-project/traces/8c8b3dbf9a19c85954d0fa2d958ca509" }
如果您使用區域內部應用程式負載平衡器、區域外部應用程式負載平衡器或跨區域內部應用程式負載平衡器,
proxyStatus
會設為error=\"http_request_error\"; details=\"denied_by_authz_policy\"
,政策名稱則會記錄在policies
中。請參閱以下範例:{ httpRequest: {8} insertId: "example-id" jsonPayload: { @type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry" authzPolicyInfo: { policies: [ 0: { details: "name: "projects/12345567/locations/$REGION/authzPolicies/deny-authz-policy-test"" result: "DENIED" } ] result: "DENIED" } backendTargetProjectNumber: "projects/12345567" remoteIp: "00.100.11.104" proxyStatus: "error=\"http_request_error\"; details=\"denied_by_authz_policy\"" } logName: "projects/example-project/logs/requests" receiveTimestamp: "2024-08-28T15:33:56.046651035Z" resource: {2} severity: "WARNING" spanId: "3e1a09a8e5e3e14d" timestamp: "2024-08-28T15:33:55.355042Z" trace: "projects/example-project/traces/8c8b3dbf9a19c85954d0fa2d958ca509" }
要求不符合 DENY
政策,但符合 ALLOW
政策
如果要求不符合 DENY
政策,但符合 ALLOW
政策,系統就會允許這項要求。在記錄中,這項動作會以 DENY
政策的 allowed_as_no_deny_policies_matched_request
記錄。系統也會記錄允許要求的政策。
如果您使用全域外部應用程式負載平衡器,記錄中就不會出現
statusDetails
。允許要求的政策也會記錄在policies
中。請參考以下範例:{ httpRequest: {8} insertId: "example-id" jsonPayload: { @type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry" authzPolicyInfo: { policies: [ 0: { details: "allowed_as_no_deny_policies_matched_request" result: "ALLOWED" } 1: { details: "name: "projects/12345567/locations/global/authzPolicies/allow-authz-policy-test"" result: "ALLOWED" } ] result: "ALLOWED" } backendTargetProjectNumber: "projects/12345567" cacheDecision: [2] remoteIp: "00.100.11.104" } logName: "projects/example-project/logs/requests" receiveTimestamp: "2024-08-28T15:33:56.046651035Z" resource: {2} severity: "WARNING" spanId: "3e1a09a8e5e3e14d" timestamp: "2024-08-28T15:33:55.355042Z" trace: "projects/example-project/traces/8c8b3dbf9a19c85954d0fa2d958ca509" }
如果您使用區域內部應用程式負載平衡器、區域外部應用程式負載平衡器或跨區域內部應用程式負載平衡器,記錄中就不會顯示
proxyStatus
欄位。允許要求的政策也會記錄在policies
中。請參閱以下範例:{ httpRequest: {8} insertId: "example-id" jsonPayload: { @type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry" authzPolicyInfo: { policies: [ 0: { details: "allowed_as_no_deny_policies_matched_request" result: "ALLOWED" } 1: { details: "name: "projects/12345567/locations/$REGION/authzPolicies/allow-authz-policy-test"" result: "ALLOWED" } ] result: "ALLOWED" } backendTargetProjectNumber: "projects/12345567" cacheDecision: [2] remoteIp: "00.100.11.104" } logName: "projects/example-project/logs/requests" receiveTimestamp: "2024-08-28T15:33:56.046651035Z" resource: {2} severity: "WARNING" spanId: "3e1a09a8e5e3e14d" timestamp: "2024-08-28T15:33:55.355042Z" trace: "projects/example-project/traces/8c8b3dbf9a19c85954d0fa2d958ca509" }