このページでは、IAM 許可ポリシーの変更履歴を確認する方法について説明します。
リソースの許可ポリシーの変更を確認するには、監査ログで SetIamPolicy
メソッドを含むエントリを検索します。
SetIamPolicy
で許可ポリシーの変更を表示する
許可ポリシーの変更を確認するには、監査ログで SetIamPolicy
メソッドを含むエントリを調べます。監査ログを確認するには、Google Cloud コンソールまたは gcloud CLI を使用します。
コンソール
Google Cloud コンソールで、[ログ エクスプローラ] ページに移動します。
クエリエディタで、次のいずれかのクエリを入力します。次のクエリは、監査ログで
protoPayload
のmethodName
フィールドに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
: 監査ログを一覧表示するリソースタイプ。projects
、folders
、organizations
のいずれかの値を使用します。RESOURCE_ID
: Google Cloud プロジェクト、フォルダ、または組織 ID。プロジェクト ID は英数字です(例:my-project
)。フォルダ ID と組織 ID は数値です(例:123456789012
)。EMAIL_ADDRESS
: ユーザーまたはサービス アカウントのメールアドレス。例: example-user@example.com
[クエリを実行] をクリックして、このクエリを実行します。
タイムライン セレクタを使用して、クエリに適した期間を指定します。また、クエリエディタにタイムスタンプ式を直接追加することもできます。詳細については、期間を指定してログを表示するをご覧ください。
gcloud
gcloud logging read
コマンドは、ログエントリを読み取ります。
後述のコマンドデータを使用する前に、次のように置き換えます。
-
RESOURCE_TYPE
: 監査ログを一覧表示するリソースタイプ。値projects
、folders
、またはorganizations
を使用します。 -
RESOURCE_ID
: Google Cloud プロジェクト、組織、またはフォルダ ID。プロジェクト ID は英数字からなる文字列です(例:my-project
)。フォルダ ID と組織 ID は数値です(例:123456789012
)。 -
TIME_PERIOD
: 監査ログを一覧表示する期間。この値より古くないエントリが返されます。指定しない場合、デフォルト値は1d
です。時刻形式については、gcloud topic datetimes をご覧ください。 -
RESOURCE_TYPE_SINGULAR
: 監査ログを一覧表示するリソースタイプ。値project
、folder
、または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
Cloud Asset Inventory で許可ポリシーの変更を表示する
Google Cloud コンソールまたは gcloud CLI で Cloud Asset Inventory を使用して、許可ポリシーの変更を表示することもできます。
コンソール
Google Cloud コンソールで、[アセット インベントリ] ページに移動します。
[IAM ポリシー] タブをクリックします。
[フィルタ] フィールドで、次のクエリを実行します。
Resource :
RESOURCE_ID
RESOURCE_ID
は、Google Cloud プロジェクト、フォルダ、または組織 ID に置き換えます。プロジェクト ID は英数字です(例:my-project
)。フォルダ ID と組織 ID は数値です(例:123456789012
)。リソースの許可ポリシーの変更履歴を表示するには、リソースの名前をクリックし、[変更履歴] タブを選択します。
リソースの許可ポリシーの変更を比較するには、[比較するレコードを選択] メニューから 2 つの異なるタイムスタンプ レコードを選択します。
gcloud
gcloud asset get-history
コマンドは、時間枠が重複するアセットの許可ポリシーの更新履歴を取得します。
後述のコマンドデータを使用する前に、次のように置き換えます。
-
RESOURCE_TYPE
: 監査ログを一覧表示するリソースタイプ。値project
、folder
、またはorganization
を使用します。 -
RESOURCE_ID
: Google Cloud プロジェクト、組織、またはフォルダ ID。プロジェクト ID は英数字からなる文字列です(例:my-project
)。フォルダ ID と組織 ID は数値です(例:123456789012
)。 -
ASSET_NAME
: 許可ポリシーの履歴を表示するリソースのフォーマット済みリソース名のカンマ区切りリスト。例://cloudresourcemanager.googleapis.com/projects/my-project
。これらのリソースは、許可ポリシーを受け入れるリソースタイプにすることができます。 -
START_TIME
: 期間の開始時点。最長期間は 7 日です。この値は、現在の時刻または過去 35 日以内の時刻にする必要があります。時刻形式については、gcloud topic datetimes をご覧ください。 -
END_TIME
: 省略可。期間の終了時点。最長期間は 7 日です。この値は、現在の時刻または過去 35 日以内の時刻にする必要があります。指定しない場合、終了時刻は現在の時刻とみなされます。時刻形式については、gcloud topic datetimes をご覧ください。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud asset get-history \ --RESOURCE_TYPE=RESOURCE_ID \ --asset-names=ASSET_NAME_1,ASSET_NAME_2,... \ --content-type=iam-policy \ --start-time=START_TIME \ --end-time=END_TIME
Windows(PowerShell)
gcloud asset get-history ` --RESOURCE_TYPE=RESOURCE_ID ` --asset-names=ASSET_NAME_1,ASSET_NAME_2,... ` --content-type=iam-policy ` --start-time=START_TIME ` --end-time=END_TIME
Windows(cmd.exe)
gcloud asset get-history ^ --RESOURCE_TYPE=RESOURCE_ID ^ --asset-names=ASSET_NAME_1,ASSET_NAME_2,... ^ --content-type=iam-policy ^ --start-time=START_TIME ^ --end-time=END_TIME