IAM 許可ポリシーの履歴を確認する

このページでは、IAM 許可ポリシーの変更履歴を確認する方法について説明します。

リソースの許可ポリシーの変更を確認するには、監査ログで SetIamPolicy メソッドを含むエントリを検索します。

SetIamPolicy で許可ポリシーの変更を表示する

許可ポリシーの変更を確認するには、監査ログで SetIamPolicy メソッドを含むエントリを調べます。監査ログを確認するには、Google Cloud コンソールまたは gcloud CLI を使用します。

コンソール

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

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

  2. クエリエディタで、次のいずれかのクエリを入力します。次のクエリは、監査ログで protoPayloadmethodName フィールドに SetIamPolicy を含むエントリを検索します。

    • リソースで行われたすべての許可ポリシーの変更のログを取得するには、次のクエリを使用します。

      logName="RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity"
      protoPayload.methodName:SetIamPolicy
      
    • 特定のユーザーまたはサービス アカウントに関連する許可ポリシーの変更のログを取得するには、次のクエリを使用します。

      logName="RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity"
      protoPayload.methodName:SetIamPolicy
      protoPayload.serviceData.policyDelta.bindingDeltas.member:"EMAIL_ADDRESS"
      

      次の値を指定します。

      • RESOURCE_TYPE: 監査ログを一覧表示するリソースタイプ。projectsfoldersorganizations のいずれかの値を使用します。
      • RESOURCE_ID: Trusted Cloud プロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字です(例: my-project)。フォルダ ID と組織 ID は数値です(例: 123456789012)。
      • EMAIL_ADDRESS: ユーザーまたはサービス アカウントのメールアドレス。例: example-service-account@example-project.s3ns-system.iam.gserviceaccount.com
  3. [クエリを実行] をクリックして、このクエリを実行します。

  4. タイムライン セレクタを使用して、クエリに適した期間を指定します。また、クエリエディタにタイムスタンプ式を直接追加することもできます。詳細については、期間を指定してログを表示するをご覧ください。

gcloud

gcloud logging read コマンドは、ログエントリを読み取ります。

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

  • RESOURCE_TYPE: 監査ログを一覧表示するリソースタイプ。値 projectsfolders、または organizations を使用します。
  • RESOURCE_ID: Trusted Cloudプロジェクト、組織、またはフォルダ ID。プロジェクト ID は英数字からなる文字列です(例: my-project)。フォルダ ID と組織 ID は数値です(例: 123456789012)。
  • TIME_PERIOD: 監査ログを一覧表示する期間。この値より古くないエントリが返されます。指定しない場合、デフォルト値は 1d です。時刻形式については、gcloud topic datetimes をご覧ください。
  • RESOURCE_TYPE_SINGULAR: 監査ログを一覧表示するリソースタイプ。値 projectfolder、または organization を使用します。

次のコマンドを実行します。

Linux、macOS、Cloud Shell

gcloud logging read \
    'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity
    AND protoPayload.methodName=SetIamPolicy' \
    --freshness=TIME_PERIOD \
    --RESOURCE_TYPE_SINGULAR=RESOURCE_ID

Windows(PowerShell)

gcloud logging read `
    'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity
    AND protoPayload.methodName=SetIamPolicy' `
    --freshness=TIME_PERIOD `
    --RESOURCE_TYPE_SINGULAR=RESOURCE_ID

Windows(cmd.exe)

gcloud logging read ^
    'logName:RESOURCE_TYPE/RESOURCE_ID/logs/cloudaudit.googleapis.com%2Factivity
    AND protoPayload.methodName=SetIamPolicy' ^
    --freshness=TIME_PERIOD ^
    --RESOURCE_TYPE_SINGULAR=RESOURCE_ID