ドライラン モードで組織のポリシーを作成する

このページでは、ドライラン モードの組織のポリシーを使用して、組織のポリシーの変更が適用される前に、それがワークフローにどのような影響を与えるかをモニタリングする方法について説明します。

ドライラン モードの組織のポリシーは、他の組織のポリシーと同様に作成、適用され、ポリシーの違反は監査ログに記録されますが、違反アクションは拒否されません。

始める前に

ドライラン モードで組織のポリシーを使用するには、 Google Cloud プロジェクトに対して課金を有効にする必要があります。プロジェクトに対する課金が有効になっているかどうかの確認については、プロジェクトの課金ステータスを確認するをご覧ください。

組織のポリシーと制約が何であるかとどう機能するかの詳細については、組織のポリシーのサービスの概要をご覧ください。

必要なロール

組織のポリシーの管理に必要な権限を取得するには、組織に対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

組織ポリシーの管理を委任するには、組織ポリシー管理者ロール バインディングに IAM 条件を追加します。プリンシパルが組織のポリシーを管理できるリソースを制御するには、特定のタグを条件としてロール バインディングを設定します。詳細については、制約の使用をご覧ください。

制限事項

ドライランの組織のポリシーで使用できるのは、以下の組織のポリシーの制約のみです。

他の制約を使用してドライラン モードで組織のポリシーを作成しようとすると、エラーになります。

ドライラン モードで組織のポリシーを作成する

リスト パラメータの使用

Google Cloud コンソールまたは Google Cloud CLI を使用して、制約のドライラン モードで組織のポリシーを作成できます。次の例は、compute.managed.restrictProtocolForwardingCreationForTypes マネージド制約の効果を監査するドライラン モードで組織のポリシーを作成する方法を示しています。

コンソール

  1. Google Cloud コンソールで、[組織のポリシー] ページに移動します。

    [組織のポリシー] に移動

  2. プロジェクト選択ツールから、組織のポリシーを設定するリソースを選択します。

  3. [組織のポリシー] ページのリストから、[プロトコル転送の使用を制限する] 制約を選択します。

  4. [ドライラン] タブを選択します。

  5. [ドライラン ポリシーを管理] をクリックします。

  6. [ドライラン ポリシーの編集] ページで、[親のポリシーをオーバーライドする] を選択します。

  7. [ルールを追加] をクリックします。

  8. [適用] で [オン] を選択します。

  9. [パラメータ] で、[編集] を選択します。

  10. [パラメータ値を編集] ペインで、[ユーザー定義] を選択します。

  11. [ユーザー定義値] ボックスに EXTERNAL を入力して、[保存] をクリックします。

  12. [変更内容をテスト] をクリックして、この組織のポリシーの効果をシミュレートします。詳細については、Policy Simulator で組織のポリシーの変更をテストするをご覧ください。

  13. ドライラン モードで組織のポリシーを適用するには、[ドライラン ポリシーを設定] をクリックします。[ポリシーを設定] をクリックして、ライブポリシーを設定することもできます。

組織のポリシーの制約の [ドライラン] タブに移動すると、ドライラン モードの組織のポリシーのステータスを確認できます。

ドライラン モードで組織のポリシーが適用されているプロジェクトの場合は、[拒否ログを表示] をクリックすると監査ログを表示できます。この組織のポリシーの場合、プロトコル転送の使用を制限する制約が適用され、EXTERNAL プロトコル転送のデプロイのみが許可されているかのように、監査ログに違反が表示されます。

gcloud

ドライラン モードで組織のポリシーを作成するには、dryRunSpec で制約を定義する YAML ファイルを作成します。例:

  name: RESOURCE_TYPE/RESOURCE_ID/policies/compute.managed.restrictProtocolForwardingCreationForTypes
  dryRunSpec:
    rules:
    - enforce: true
      parameters:
       allowedSchemes:
        - EXTERNAL

以下を置き換えます。

  • RESOURCE_TYPEorganizationsfolders、または projects に置き換えます。

  • RESOURCE_ID は、RESOURCE_TYPE で指定されたリソースのタイプに応じた、組織 ID、フォルダ ID、プロジェクト ID またはプロジェクト番号に置き換えます。

この組織のポリシーでは compute.managed.restrictProtocolForwardingCreationForTypes 制約は適用されませんが、監査ログにはそうしたかのように違反が表示されます。

specdryRunSpec の両方を定義する場合、同じ YAML ファイル内にライブの組織のポリシーとドライランの組織のポリシーを設定できます。次に例を示します。

name: RESOURCE_TYPE/RESOURCE_ID/policies/compute.managed.restrictProtocolForwardingCreationForTypes
spec:
  rules:
  - values:
      allowedValues:
      - INTERNAL
      - EXTERNAL

dryRunSpec:
  rules:
  - values:
      allowedValues:
      - INTERNAL

ドライラン モードの組織のポリシーを適用するには、org-policies set policy コマンドを使用します。ドライラン モードの既存の組織のポリシーを新しい制約で更新するには、--update-mask フラグを使用します。次に例を示します。

gcloud org-policies set-policy POLICY_PATH \
  --update-mask=UPDATE_MASK

以下を置き換えます。

  • POLICY_PATH は、組織のポリシーの YAML ファイルのパスに置き換えます。

  • UPDATE_MASK は、spec に置き換えてライブポリシーのみを更新するか、dryRunSpec に置き換えてドライラン モードで組織のポリシーのみを更新します。* を使用して、spec フィールドと dryRunSpec フィールドの両方を更新することもできます。既存の組織のポリシーの更新時にこのフィールドが設定されていない場合、このコマンドはエラーになり、組織のポリシーは更新されません。

ドライラン モードで組織のポリシーが設定されていることを確認するには、org-policies describe コマンドを使用します。dryRunSpec フィールドは、組織のポリシー内に存在している場合のみ表示されます。

この組織のポリシーでは、すべての値が許可されるように compute.managed.restrictProtocolForwardingCreationForTypes 制約が適用されます。ただし、監査ログには、INTERNAL プロトコル転送のデプロイのみが許可されているかのように違反が表示されます。

ブール型ルールを使用する

ブール型ルールの制約のドライラン モードで組織のポリシーを作成するには、 Google Cloud コンソールまたは Google Cloud CLI を使用します。次の例は、カスタム組織のポリシーの効果を監査するドライラン モードで組織のポリシーを作成する方法を示しています。

コンソール

  1. Google Cloud コンソールで、[組織のポリシー] ページに移動します。

    [組織のポリシー] に移動

  2. プロジェクト選択ツールから、組織のポリシーを設定するリソースを選択します。

  3. [組織のポリシー] ページのリストから、適用するカスタム組織のポリシーを選択します。

  4. [ドライラン] タブを選択します。

  5. [ドライラン ポリシーを管理] をクリックします。

  6. [ドライラン ポリシーの編集] ページで、[親のポリシーをオーバーライドする] を選択します。

  7. [ルールを追加] をクリックします。

  8. [適用] で [オン] を選択し、[完了] をクリックします。

  9. ドライラン モードで組織のポリシーを適用するには、[ドライラン ポリシーを設定] をクリックします。ドライラン モードの組織のポリシーが想定どおりに動作していることを確認したら、[ポリシーを設定] をクリックしてライブポリシーを設定できます。

組織のポリシーの制約の [ドライラン] タブに移動すると、ドライラン モードの組織のポリシーのステータスを確認できます。

ドライラン モードで組織のポリシーが適用されているプロジェクトの場合は、[拒否ログを表示] をクリックすると監査ログを表示できます。この組織のポリシーの場合、カスタム組織のポリシーが適用されているかのように監査ログに違反が表示されます。

gcloud

ドライラン モードで組織のポリシーを作成するには、dryRunSpec で制約を定義する YAML ファイルを作成します。例:

  name: RESOURCE_TYPE/RESOURCE_ID/policies/CONSTRAINT_NAME
  dryRunSpec:
    rules:
    - enforce: true

以下を置き換えます。

  • RESOURCE_TYPEorganizationsfolders、または projects に置き換えます。

  • RESOURCE_ID は、RESOURCE_TYPE で指定されたリソースのタイプに応じた、組織 ID、フォルダ ID、プロジェクト ID またはプロジェクト番号に置き換えます。

  • CONSTRAINT_NAME は、カスタム制約の名前に置き換えます。例: custom.disableGkeAutoUpgrade

この組織のポリシーではカスタム制約は適用されませんが、監査ログには適用されたかのように違反が表示されます。

specdryRunSpec の両方を定義する場合は、同じ YAML ファイル内にライブの組織のポリシーとドライラン モードの組織のポリシーを設定できます。例:

name: RESOURCE_TYPE/RESOURCE_ID/policies/CONSTRAINT_NAME
spec:
  rules:
  - enforce: false

dryRunSpec:
  rules:
  - enforce: true

ドライラン モードの組織のポリシーを適用するには、org-policies set policy コマンドを使用します。ドライラン モードの既存の組織のポリシーを新しい制約で更新するには、--update-mask フラグを使用します。次に例を示します。

gcloud org-policies set-policy POLICY_PATH \
  --update-mask=UPDATE_MASK

以下を置き換えます。

  • POLICY_PATH は、組織のポリシーの YAML ファイルのパスに置き換えます。

  • UPDATE_MASK は、spec に置き換えてライブポリシーのみを更新するか、dryRunSpec に置き換えてドライラン モードで組織のポリシーのみを更新します。* を使用して、spec フィールドと dryRunSpec フィールドの両方を更新することもできます。既存の組織のポリシーの更新時にこのフィールドが設定されていない場合、このコマンドはエラーになり、組織のポリシーは更新されません。

ドライラン モードで組織のポリシーが設定されていることを確認するには、org-policies describe コマンドを使用します。dryRunSpec フィールドは、組織のポリシー内に存在している場合のみ表示されます。

この組織のポリシーでは、カスタム制約は適用されません。ただし、監査ログにはカスタム制約の違反が表示されます。

アクティブなポリシーからドライラン モードで組織のポリシーを作成する

既存の組織のポリシーを、ドライラン モードの組織のポリシーの開始点として使用できます。これは、既存のポリシーの変更が環境に与える影響を確認する場合に役立ちます。

Google Cloud コンソールまたは Google Cloud CLI を使用して、既存のポリシーに基づいてドライラン モードで組織のポリシーを作成できます。

コンソール

  1. Google Cloud コンソールで、[組織のポリシー] ページに移動します。

    [組織のポリシー] に移動

  2. プロジェクト選択ツールから、[リソース サービスの使用を制限する] 制約がすでに構成されているリソースを選択します。

  3. [組織のポリシー] ページのリストから、[リソース サービスの使用を制限する] 制約を選択します。

  4. [ライブ配信] タブを選択します。

  5. [ポリシーを管理] をクリックします。

  6. [ルールを追加] をクリックします。

  7. [ポリシーの値] で [カスタム] を選択します。

  8. [ポリシーの種類] で [拒否] を選択します。

  9. [カスタム値] ボックスに「appengine.googleapis.com」と入力します。

  10. [完了]、[ドライラン ポリシーを設定] の順にクリックします。

gcloud

既存の有効な組織のポリシーに基づいてドライラン モードで組織のポリシーを作成するには、org-policies describe コマンドを使用してリソースの現在のポリシーを取得します。例:

gcloud org-policies describe gcp.restrictServiceUsage \
  --project=PROJECT_ID

PROJECT_ID は、この組織のポリシーが構成されているプロジェクトのプロジェクト ID またはプロジェクト番号に置き換えます。

出力は次のようになります。

  name: projects/123456789012/policies/gcp.restrictServiceUsage
  spec:
    etag: CJy93KEGEKCJw/QB
    rules:
    - values:
        allowedValues:
        - compute.googleapis.com
  updateTime: '2023-04-12T21:11:56.512804Z'

このコマンドの出力を一時ファイルにコピーします。このファイルを編集して、etag フィールドと updateTime フィールドを削除し、spec フィールドを dryRunSpec に変更します。ドライラン モードで組織のポリシーでテストする制約の構成を変更します。

完成した YAML ファイルは次のようになります。

  name: projects/123456789012/policies/gcp.restrictServiceUsage
  dryRunSpec:
    rules:
    - values:
        allowedValues:
        - compute.googleapis.com
        - appengine.googleapis.com

ドライラン モードで組織のポリシーを適用するには、--update-mask フラグを指定して org-policies set policy を使用します。例:

gcloud org-policies set-policy POLICY_PATH \
  --update-mask=dryRunSpec

POLICY_PATH は、一時的な組織のポリシーの YAML ファイルのパスに置き換えます。

ドライラン モードで組織のポリシーを削除する

ドライラン モードの組織のポリシーを削除するには、 Google Cloud コンソールまたは Google Cloud CLI を使用します。

コンソール

  1. Google Cloud コンソールで、[組織のポリシー] ページに移動します。

    [組織のポリシー] に移動

  2. プロジェクト選択ツールから、組織のポリシーを設定するリソースを選択します。

  3. [組織のポリシー] ページのリストから、[リソース サービスの使用を制限する] 制約を選択します。

  4. [ドライラン] タブを選択します。

  5. [ドライラン ポリシーを削除] をクリックします。

gcloud

ドライラン モードで組織のポリシーを削除するには、ドライランの仕様なしで組織のポリシーを定義する YAML ファイルを作成します。次に例を示します。

  name: RESOURCE_TYPE/RESOURCE_ID/policies/gcp.restrictServiceUsage
  spec:
    rules:
    - values:
        allowedValues:
        - container.googleapis.com

以下を置き換えます。

  • RESOURCE_TYPEorganizationsfolders、または projects に置き換えます。

  • RESOURCE_ID は、RESOURCE_TYPE で指定されたリソースのタイプに応じた、組織 ID、フォルダ ID、プロジェクト ID またはプロジェクト番号に置き換えます。

次に、--update-mask フラグを dryRunSpec に設定して、org-policies set policy コマンドを実行します。例:

gcloud org-policies set-policy POLICY_PATH \
  --update-mask=dryRunSpec

これにより既存の組織のポリシーが更新され、ドライランの仕様が削除され、仕様のライブの部分は無視されます。

ライブの組織のポリシーとドライラン モードの組織のポリシーの両方を同時に削除するには、org-policies delete コマンドを使用します。次に例を示します。

gcloud org-policies delete CONSTRAINT_NAME \
  --RESOURCE_TYPE=RESOURCE_ID

以下を置き換えます。

  • CONSTRAINT_NAME は、削除するリビジョンの名前に置き換えます。例: gcp.restrictServiceUsage

  • RESOURCE_TYPEorganizationsfolders、または projects に置き換えます。

  • RESOURCE_ID は、RESOURCE_TYPE で指定されたリソースのタイプに応じた、組織 ID、フォルダ ID、プロジェクト ID またはプロジェクト番号に置き換えます。

ドライラン モードでの組織のポリシーの有効な評価

ドライラン モードの組織のポリシーは、他の組織のポリシーと同様に継承されます。ドライラン モードの組織のポリシーが組織リソースに設定されている場合、階層の下位レベルでオーバーライドされない限り、すべての子孫リソースに継承されます。

有効なポリシー評価には、そのリソースに結合された組織のポリシーの結果が表示されます。したがって、ドライラン モードのポリシーがローカルに設定されるのではなく継承される場合、ライブの組織のポリシーの調整は、ドライラン モードの有効な組織のポリシーに反映されます。

プロジェクトのライブの組織のポリシーを変更すると、ドライラン モードの有効な組織のポリシーも変更されます。

たとえば、ライブの組織のポリシーが enforced: false に設定され、ドライラン モードの組織のポリシーが enforced: true に設定されている組織リソース Organization A について考えてみましょう。子リソース Folder B も、ライブの組織のポリシーを enforced: false に設定し、ドライラン モードの組織のポリシーを継承します。Folder B では、設定されたライブポリシーは、ドライラン モードの組織のポリシーの有効なポリシー評価も enforce: false であり、その親組織で設定されたドライラン モードの組織のポリシーをオーバーライドしているということになります。

Folder B の子リソースである Project X は、ライブポリシーを enforced: true に設定します。Folder B の動作と同様に、ライブポリシーが設定されているため、Project X のドライラン モードの組織のポリシーの有効な評価は enforced: true です。

Folder B の別の子リソースである Project Y は、ドライラン モードの組織のポリシーを enforced: true に設定します。親リソースから組織のポリシーを継承するため、有効な評価はライブポリシーでは enforced: false、ドライラン モードの組織のポリシーでは enforced: true になります。

リソース 設定されたライブの組織のポリシー 有効なライブの組織のポリシー ドライラン モードで設定された組織のポリシー ドライラン モードでの有効な組織のポリシー
組織 A enforced: false enforced: false enforced: true enforced: true
フォルダ B enforced: false enforced: false なし enforced: false
フォルダ C なし enforced: false なし enforced: true
プロジェクト X enforced: true enforced: true なし enforced: true
プロジェクト Y なし enforced: false enforced: true enforced: true

ドライラン モードでの組織のポリシーの効果を分析する

ドライラン モードの組織のポリシーは、適用時にどのオペレーションもブロックしません。組織のポリシーの監査ログを確認すると、組織のポリシーによる影響を確認できます。

ライブの組織のポリシーとドライラン モードのポリシーの組織のポリシーの監査ログは、特定のリソースに適用されたポリシーによってオペレーションが許可されるか拒否されるかに基づいて生成されます。次の表に、組織のポリシーの監査ログが生成される状況を示します。

ライブの組織のポリシー ドライラン モードの組織のポリシー 生成される監査ログ
許可 許可 いいえ
許可 拒否 ドライラン モードでの監査ログのみ
拒否 許可 ライブモードとドライラン モードの監査ログ
拒否 拒否 ライブモードとドライラン モードの監査ログ

ドライラン モードの組織のポリシーの違反は、監査ログのライブモードの違反とともに表示されます。例:

{
  "protoPayload": {
    "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
    "status": {
      "code": 7,
      "message": "PERMISSION_DENIED"
    },
    "authenticationInfo": {},
    "requestMetadata": {
      "callerIp": "1.2.3.4",
      "requestAttributes": {},
      "destinationAttributes": {}
    },
    "serviceName": "appengine.googleapis.com",
    "methodName": "google.api.appengine.v1.appengine.apps.services.get",
    "resourceName": "projects/sur-project-test-3",
    "metadata": {
      "constraint": "constraints/gcp.restrictServiceUsage",
      "checkedValue": "appengine.googleapis.com",
      "liveResult": "ALLOWED",
      "@type": "type.googleapis.com/google.cloud.audit.OrgPolicyDryRunAuditMetadata",
      "dryRunResult": "DENIED"
    }
  },
  "insertId": "1f2bvoxcmg1",
  "resource": {
    "type": "audited_resource",
    "labels": {
      "project_id": "sur-project-test-3",
      "service": "appengine.googleapis.com",
      "method": "google.api.appengine.v1.appengine.apps.services.get"
    }
  },
  "timestamp": "2022-06-16T19:42:58.244990928Z",
  "severity": "WARNING",
  "logName": "projects/sur-project-test-3/logs/cloudaudit.googleapis.com%2Fpolicy",
  "receiveTimestamp": "2022-06-16T19:42:59.572025716Z"
}

ログ エクスプローラを使用して、ドライラン モードでの組織のポリシーの違反のみをクエリできます。

コンソール

Google Cloud コンソールでは、ログ エクスプローラを使用して、 Google Cloud プロジェクト、フォルダ、または組織の監査ログエントリを取得できます。

  1. Google Cloud コンソールで、[ロギング] > [ログ エクスプローラ] ページに移動します。

    [ログ エクスプローラ] に移動

  2. 既存の Google Cloud プロジェクト、フォルダ、または組織を選択します。

  3. [クエリビルダー] ペインで、次の操作を行います。

    • [リソースタイプ] で、表示する監査ログを含む Google Cloud リソースを選択します。

    • [ログ名] で、[policy] 監査ログタイプを選択します。

    • [クエリ] ペインに次の内容を入力します。 protoPayload.metadata.dryRunResult = "DENIED" AND \ protoPayload.metadata.liveResult = "ALLOWED"

    ログ エクスプローラでログを表示する際に問題が発生した場合は、トラブルシューティングの情報をご覧ください。

    ログ エクスプローラを使用したクエリの詳細については、ログ エクスプローラでクエリを作成するをご覧ください。

gcloud

Google Cloud CLI は、Logging API へのコマンドライン インターフェースを提供します。ログ名ごとに有効なリソース識別子を指定します。たとえば、クエリにプロジェクト ID が含まれている場合、指定するプロジェクト識別子は、現在選択されたプロジェクト名を参照している必要があります。

ドライラン モードで組織のポリシーの違反の監査ログエントリを読み取るには、次のコマンドを実行します。

gcloud logging read protoPayload.metadata.dryRunResult = "DENIED" AND \
      protoPayload.metadata.liveResult = "ALLOWED" \
    --RESOURCE_TYPE=RESOURCE_ID \

以下を置き換えます。

  • RESOURCE_TYPEorganizationfolder、または project に置き換えます。

  • RESOURCE_ID は、RESOURCE_TYPE で指定されたリソースのタイプに応じた、組織 ID、フォルダ ID、プロジェクト ID またはプロジェクト番号に置き換えます。

1 日以上経過したログを読み取るには、コマンドに --freshness フラグを追加します。

gcloud CLI の使用方法に関する詳細については、gcloud logging read をご覧ください。

監査ログエントリを集計する

組織に多数のプロジェクトがある場合は、集約シンクを使用して、組織のすべてのプロジェクトの監査ログエントリを集約し、BigQuery テーブルにルーティングできます。

  1. 集約シンクを作成するには、logging sinks create コマンドを使用します。

    次のコマンドを使用する前に、次のように置き換えます。

    • SINK_NAME: ログシンクの名前。シンクの作成後に名前を変更することはできません。

    • PROJECT_ID: BigQuery データセットを含むプロジェクトの ID。

    • DATASET_ID: 書き込みが有効になっている BigQuery データセットの ID。

    • ORGANIZATION_ID: 組織の ID。

    gcloud logging sinks create コマンドを実行します。

    gcloud logging sinks create SINK_NAME \
      bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID \
      --include-children \
      --organization=ORGANIZATION_ID \
      --log-filter='logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy" AND protoPayload.metadata.@type:OrgPolicyDryRunAuditMetadata'
    
  2. ログエントリを転送するには、シンクに関連付けられているサービス アカウントに、宛先に転送する権限を付与する必要があります。

    権限を付与する必要があるサービス アカウントを見つけるには、gcloud logging sinks describe コマンドを使用します。

    次のコマンドを使用する前に、SINK_NAME を前に作成したログシンクの名前に置き換えます。

    gcloud logging sinks describe コマンドを実行します。

    gcloud logging sinks describe SINK_NAME
    
  3. シンクの詳細に writerIdentity というラベルのフィールドが含まれている場合は、次のステップに進みます。詳細に writerIdentity フィールドが含まれていない場合、シンクの宛先権限を構成する必要はありません。

  4. シンクの書き込み ID をクリップボードにコピーします。次に示すのは、書き込み ID です。

    serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
    
  5. gcloud projects add-iam-policy-binding コマンドを使用して、エクスポート先にログデータを書き込む権限をシンクの書き込み ID に付与します。

    次のコマンドを使用する前に、次のように置き換えます。

    • PROJECT_ID: 集約されたシンクの宛先を保存するプロジェクトの ID。

    • PRINCIPAL_ID: 前にコピーしたシンクの書き込み権限 ID。

    gcloud projects add-iam-policy-binding コマンドを実行します。

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member=PRINCIPAL_ID \
      --role=roles/bigquery.dataEditor
    

    集約シンクの作成の詳細については、組織レベルのログを照合してサポートされている宛先に転送するをご覧ください。

  6. BigQuery にルーティングされたログを表示する手順は次のとおりです。

    1. Google Cloud コンソールで、[BigQuery] ページに移動します。

      [BigQuery Studio] に移動

      このページは、検索バーを使用して見つけることもできます。

    2. [エクスプローラ] パネルでプロジェクトを開いて、データセットを選択します。

      [詳細] タブにログエントリが表示されます。また、テーブルに対するクエリを行ってデータを返すこともできます。

    3. ドライランの組織のポリシーを分析するクエリを作成します。たとえば、次のクエリは、拒否を含むドライランの組織のポリシーの監査ログを返し、過去 7 日間に生成されたログを返します。

    SELECT protopayload_auditlog.serviceName as serviceName,
        protopayload_auditlog.methodName as methodName,
        JSON_EXTRACT_SCALAR(protopayload_auditlog.metadataJson, '$.constraint') as constraint,
        JSON_EXTRACT_SCALAR(protopayload_auditlog.metadataJson, '$.dryRunResult') as dryRunResult,
        JSON_EXTRACT_SCALAR(protopayload_auditlog.metadataJson, '$.liveResult') as liveResult
    FROM {PROJECT_ID}.{DATASET_ID}.cloudaudit_googleapis_com_policy_*
    WHERE JSON_EXTRACT_SCALAR(protopayload_auditlog.metadataJson, '$.dryRunResult') = "DENIED"
    AND `timestamp` > DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
    LIMIT 1000

    次のように置き換えます。

    • PROJECT_ID: BigQuery データセットを含むプロジェクトの ID。

    • DATASET_ID: 書き込みが有効になっている BigQuery データセットの ID。

    詳細については、BigQuery に転送されたログを表示するをご覧ください。

次のステップ

組織のポリシー制約の作成と管理の方法の詳細については、制約の使用をご覧ください。