アプリケーション ロードバランサでは、認可ポリシーは、ルート拡張、ネットワーク セキュリティ ポリシー(Google Cloud Armor によって評価)、クロスオリジン リソース シェアリング(CORS)ポリシー、Identity-Aware Proxy(IAP)が評価されてからトラフィック管理アクションが実行される前までの間に呼び出されます。
このページでは、アプリケーション ロードバランサの認可ポリシーを設定する方法について説明します。
始める前に
- 認可ポリシーの概要をよく理解してください。
-
- Network Security API
- Network Services API
ロードバランサを設定する
ロードバランサを作成していない場合は、次のページを参照して、目的のアプリケーション ロードバランサを設定してください。
- グローバル外部アプリケーション ロードバランサを作成するには、VM インスタンス グループのバックエンドを使用してグローバル外部アプリケーション ロードバランサを設定するをご覧ください。
リージョン外部アプリケーション ロードバランサを作成するには、VM インスタンス グループのバックエンドを使用してリージョン外部アプリケーション ロードバランサを設定するをご覧ください。
リージョン内部アプリケーション ロードバランサを作成するには、VM インスタンス グループのバックエンドを使用してリージョン内部アプリケーション ロードバランサを設定するをご覧ください。
- クロスリージョンの内部アプリケーション ロードバランサを作成するには、VM インスタンス グループのバックエンドを使用したクロスリージョンの内部アプリケーション ロードバランサの設定をご覧ください。
セキュアタグまたはサービス アカウントを作成して構成する
内部アプリケーション ロードバランサでは、必要に応じて、クライアント VM に設定されているセキュアタグとサービス アカウントに基づいて認可ポリシーを適用できます。タグベースの認可ポリシーを適用する場合は、Resource Manager を使用してタグを作成します。
外部アプリケーション ロードバランサを使用している場合は、セキュアタグを作成して構成する必要はありません。
詳細については、ファイアウォールにタグを使用するとサービス アカウントをご覧ください。
サービス アカウントをクライアント VM に接続する
サービス アカウントを VM インスタンスに接続する手順については、次のドキュメントをご覧ください。
- VM の作成時にサービス アカウントを設定するには、ユーザー管理のサービス アカウントを使用する VM を作成するをご覧ください。
- 既存の VM にサービス アカウントを設定するには、接続されたサービス アカウントを変更するをご覧ください。
セキュアタグのキーと値を作成する
セキュアタグをインスタンス グループ テンプレートにバインドする前に、タグのキーと値を作成する必要があります。タグを作成するときに、GCE_FIREWALL
の目的を指定します。Secure Web Proxy や認可ポリシーなどの Google Cloud ネットワーキング機能では、タグを適用する GCE_FIREWALL
目的が必要です。
セキュアタグを作成するには、タグ管理者のロール(roles/resourcemanager.tagAdmin
)が必要です。
コンソール
Google Cloud コンソールで [タグ] ページに移動します。
[
作成] をクリックします。[タグキーの説明] フィールドに説明を入力します。
[ネットワーク ファイアウォールで使用する] チェックボックスをオンにします。
[プロジェクト] リストで、タグを作成する Google Cloud プロジェクトを選択します。
[ネットワーク] フィールドで、
LB_NETWORK
を選択します。[
値を追加] をクリックします。[タグ値] フィールドに「
TAG_VALUE
」と入力します。値は数値で指定してください。[タグの値の説明] フィールドに説明を入力します。
タグ値の追加が完了したら、[タグキーを作成] をクリックします。
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
: VPC ネットワークの名前。
セキュアタグ値を数値タグキーに追加します。
gcloud resource-manager tags values create TAG_VALUE \ --parent=ORG_ID/TAG_KEY
TAG_VALUE
は数値のタグ値に置き換えます。
セキュアタグをインスタンス グループ テンプレートにバインドする
タグ管理者は、個々の VM インスタンスまたはインスタンス グループ テンプレートにセキュアタグをバインドし、タグの値を VM またはテンプレートのバックエンドに接続できます。
セキュアタグをバインドするには、タグユーザー ロール(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
ファイルを作成します。このポリシーにより、*.hello.com
のクライアントが/api/payments
URL パスにアクセスできなくなります。$ 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: - from: sources: - principals: - suffix: ".hello.com" 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
ファイルを作成します。このポリシーは、*.hello.com
に一致する ID を持つクライアントから/api/payments
URL パスへのアクセスを拒否します。このポリシーは、サービス アカウントmy-sa-123@PROJECT_ID.iam.gserviceaccount.com
を持つクライアント VM からの/api/payments
URL へのアクセスも拒否します。$ 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: - principals: - suffix: ".hello.com" to: operations: - paths: - prefix: "/api/payments" - from: sources: - resources: - iamServiceAccount: exact: "my-sa-123@PROJECT_ID.iam.gserviceaccount.com" 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
ファイルを作成します。このポリシーでは、*.example.com
のクライアントのみが/api/payments
URL パスにアクセスできます。$ 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: - from: sources: - principals: - suffix: ".example.com" 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
ファイルを作成します。このポリシーでは、リソースタグTAG_VALUE
を持つ VM からリクエストが送信された場合に、*.example.com
のクライアントのみが/api/payments
URL パスにアクセスできます。$ 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: - principals: - suffix: ".example.com" resources: - tagValueIdSet: - ids: "TAG_VALUE" 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
サービス拡張機能に委任する認可ポリシー
始める前に、外部認可エンジンを設定します。サービス拡張機能の詳細については、Cloud Load Balancing コールアウトの概要をご覧ください。
グローバルとクロスリージョン
グローバル外部アプリケーション ロードバランサまたはクロスリージョン内部アプリケーション ロードバランサを使用している場合は、次の手順で認可ポリシーを作成してインポートします。
特定のリクエストを外部サービスに委任する認可ポリシー ファイルを作成します。
次の例では、
global
ロケーションに転送ルールLB_FORWARDING_RULE
のauthz-policy-custom.yaml
ファイルを作成します。リクエストに空でないAuthorization
ヘッダーが含まれている場合、このポリシーは/api/payments
URL パスへのすべてのトラフィックに対して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
URL パスへのすべてのトラフィックに対して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
ポリシーのどちらとも一致しない場合、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" 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" }
リージョン内部アプリケーション ロードバランサ、リージョン外部アプリケーション ロードバランサ、またはクロスリージョン内部アプリケーション ロードバランサを使用している場合、ログで
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
ポリシーと一致すると、リクエストは拒否され、リクエストを拒否したポリシーがログに記録されます。グローバル外部アプリケーション ロードバランサを使用している場合、ログで
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
ポリシーの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" }