このページでは、アセットの履歴を表示する方法について説明します。Cloud Asset API を使用すると、過去 35 日間で、時間枠が特定の期間と重複する複数のアセットのイベント変更履歴を表示できます。イベント変更履歴には、指定したアセットの一定期間における作成イベント、削除イベント、更新イベントがすべて表示されます。
始める前に
gcloud
gcloud CLI を使用して Cloud Asset Inventory にアクセスする前に、Cloud Asset API を有効にする必要があります。API は Cloud Asset API コマンドを実行するプロジェクトでのみ有効にする必要があるのでご注意ください。
ローカル クライアントに Google Cloud CLI をインストールします。
REST
curl
コマンドにアクセスできるかを確認します。プロジェクト、フォルダ、または組織に対する次のいずれかのロールがアカウントに付与されているかを確認します。
Cloud Asset 閲覧者(
roles/cloudasset.viewer
)オーナーの基本ロール(
roles/owner
)
アカウントを構成する
API リクエストの contentType
パラメータによっては、Cloud Asset API を呼び出すために、履歴を取得したいアセットを含むルートまたは親に対する次の権限を持つロールをアカウントに付与しておく必要があります。
cloudasset.assets.exportResource
(リソースと関係の両方)cloudasset.assets.exportIamPolicy
cloudasset.assets.exportOrgPolicy
cloudasset.assets.exportAccessPolicy
アカウントに Cloud Asset 閲覧者(roles/cloudasset.viewer
)のロール、Cloud Asset オーナー(roles/cloudasset.owner
)のロール、またはリソースルートに対するオーナー(roles/owner
)の基本ロールが付与されている場合、アカウントには、Cloud Asset API を呼び出すための十分な権限が付与されていることになります。それ以外の場合は、権限の構成ページの手順に従ってください。
アセット履歴の取得
次の例は、指定した時間枠内のアセットの作成履歴、削除履歴、更新履歴を取得する方法を示しています。フォルダ内のアセットの履歴の取得はサポートされていません。
すべてのリソース メタデータを含む、プロジェクト内の特定のアセットの履歴を取得する
gcloud
プロジェクト
gcloud asset get-history \
--project=PROJECT_ID \
--asset-names=ASSET_NAME_1,ASSET_NAME_2,... \
--content-type=resource \
--start-time="START_TIME" \
--end-time="END_TIME"
次の値を指定します。
PROJECT_ID
: 履歴を取得するアセットが属するプロジェクトの ID。ASSET_NAME
: 履歴を取得するアセットのフルネームのカンマ区切りのリスト。START_TIME
: 期間の開始時点。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。時刻形式については、gcloud topic datetimes をご覧ください。END_TIME
: 省略可。期間の終了時点。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。指定しない場合、終了時刻は現在の時刻とみなされます。時刻形式については、gcloud topic datetimes をご覧ください。
リソース メタデータを除外するには、--content-type
フラグを削除します。
組織
gcloud asset get-history \
--organization=ORGANIZATION_ID \
--asset-names=ASSET_NAME_1,ASSET_NAME_2,... \
--content-type=resource \
--start-time="START_TIME" \
--end-time="END_TIME"
次の値を指定します。
ORGANIZATION_ID
: アセットの履歴を取得する組織の ID。Google Cloud 組織 ID を確認する方法
Console
Google Cloud 組織 ID を確認するには、次の手順を行います。
-
Google Cloud コンソールに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスをクリックして、組織を選択します。
- [すべて] タブをクリックします。組織 ID が組織名の横に表示されます。
gcloud CLI
Google Cloud 組織 ID を取得するには、次のコマンドを使用します。
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
ASSET_NAME
: 履歴を取得するアセットのフルネームのカンマ区切りのリスト。START_TIME
: 期間の開始時点。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。時刻形式については、gcloud topic datetimes をご覧ください。END_TIME
: 省略可。期間の終了時点。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。指定しない場合、終了時刻は現在の時刻とみなされます。時刻形式については、gcloud topic datetimes をご覧ください。
リソース メタデータを除外するには、--content-type
フラグを削除します。
REST
curl -X POST \
-H "X-HTTP-Method-Override: GET" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"assetNames": [
"ASSET_NAME_1",
"ASSET_NAME_2",
"..."
],
"contentType": "RESOURCE",
"readTimeWindow": {
"startTime": "START_TIME",
"endTime": "END_TIME"
}
}' \
https://cloudasset.googleapis.com/v1/SCOPE:batchGetAssetsHistory
次の値を指定します。
ASSET_NAME
: 履歴を取得するアセットのフルネームのカンマ区切りのリスト。START_TIME
: 省略可。期間範囲の先頭(RFC 3339 形式)。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。END_TIME
: 省略可。期間範囲の終了ポイント(RFC 3339 形式)。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。指定しない場合、終了時刻は現在の時刻とみなされます。SCOPE
: プロジェクト、フォルダ、組織がスコープになります。使用できる値は次のとおりです。
projects/PROJECT_ID
projects/PROJECT_NUMBER
Google Cloud プロジェクト番号を確認する方法
Console
Google Cloud プロジェクト番号を確認するには、次の手順を行います。
-
Google Cloud コンソールの [ダッシュボード] ページに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスで組織を選択し、プロジェクト名を検索します。
- プロジェクト名をクリックして、そのプロジェクトに切り替えます。プロジェクト番号が [プロジェクト情報] カードに表示されます。
gcloud CLI
Google Cloud プロジェクト番号を取得するには、次のコマンドを使用します。
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
organizations/ORGANIZATION_ID
Google Cloud 組織 ID を確認する方法
Console
Google Cloud 組織 ID を確認するには、次の手順を行います。
-
Google Cloud コンソールに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスをクリックして、組織を選択します。
- [すべて] タブをクリックします。組織 ID が組織名の横に表示されます。
gcloud CLI
Google Cloud 組織 ID を取得するには、次のコマンドを使用します。
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
contentType
の Key-Value ペアを削除して、リソース メタデータを除外します。
プロジェクト内の特定のアセットのすべての IAM ポリシーの履歴を取得する
gcloud
プロジェクト
gcloud asset get-history \
--project=PROJECT_ID \
--asset-names=ASSET_NAME_1,ASSET_NAME_2,... \
--content-type=iam-policy \
--start-time="START_TIME" \
--end-time="END_TIME"
次の値を指定します。
PROJECT_ID
: 履歴を取得するアセットが属するプロジェクトの ID。ASSET_NAME
: 履歴を取得するアセットのフルネームのカンマ区切りのリスト。START_TIME
: 期間の開始時点。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。時刻形式については、gcloud topic datetimes をご覧ください。END_TIME
: 省略可。期間の終了時点。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。指定しない場合、終了時刻は現在の時刻とみなされます。時刻形式については、gcloud topic datetimes をご覧ください。
組織
gcloud asset get-history \
--organization=ORGANIZATION_ID \
--asset-names=ASSET_NAME_1,ASSET_NAME_2,... \
--content-type=iam-policy \
--start-time="START_TIME" \
--end-time="END_TIME"
次の値を指定します。
ORGANIZATION_ID
: アセットの履歴を取得する組織の ID。Google Cloud 組織 ID を確認する方法
Console
Google Cloud 組織 ID を確認するには、次の手順を行います。
-
Google Cloud コンソールに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスをクリックして、組織を選択します。
- [すべて] タブをクリックします。組織 ID が組織名の横に表示されます。
gcloud CLI
Google Cloud 組織 ID を取得するには、次のコマンドを使用します。
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
ASSET_NAME
: 履歴を取得するアセットのフルネームのカンマ区切りのリスト。START_TIME
: 期間の開始時点。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。時刻形式については、gcloud topic datetimes をご覧ください。END_TIME
: 省略可。期間の終了時点。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。指定しない場合、終了時刻は現在の時刻とみなされます。時刻形式については、gcloud topic datetimes をご覧ください。
REST
curl -X POST \
-H "X-HTTP-Method-Override: GET" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"assetNames": [
"ASSET_NAME_1",
"ASSET_NAME_2",
"..."
],
"contentType": "IAM_POLICY",
"readTimeWindow": {
"startTime": "START_TIME",
"endTime": "END_TIME"
}
}' \
https://cloudasset.googleapis.com/v1/SCOPE:batchGetAssetsHistory
次の値を指定します。
ASSET_NAME
: 履歴を取得するアセットのフルネームのカンマ区切りのリスト。START_TIME
: 省略可。期間範囲の先頭(RFC 3339 形式)。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。END_TIME
: 省略可。期間範囲の終了ポイント(RFC 3339 形式)。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。指定しない場合、終了時刻は現在の時刻とみなされます。SCOPE
: プロジェクト、フォルダ、組織がスコープになります。使用できる値は次のとおりです。
projects/PROJECT_ID
projects/PROJECT_NUMBER
Google Cloud プロジェクト番号を確認する方法
Console
Google Cloud プロジェクト番号を確認するには、次の手順を行います。
-
Google Cloud コンソールの [ダッシュボード] ページに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスで組織を選択し、プロジェクト名を検索します。
- プロジェクト名をクリックして、そのプロジェクトに切り替えます。プロジェクト番号が [プロジェクト情報] カードに表示されます。
gcloud CLI
Google Cloud プロジェクト番号を取得するには、次のコマンドを使用します。
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
projects/PROJECT_NUMBER
Google Cloud プロジェクト番号を確認する方法
Console
Google Cloud プロジェクト番号を確認するには、次の手順を行います。
-
Google Cloud コンソールの [ダッシュボード] ページに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスで組織を選択し、プロジェクト名を検索します。
- プロジェクト名をクリックして、そのプロジェクトに切り替えます。プロジェクト番号が [プロジェクト情報] カードに表示されます。
gcloud CLI
Google Cloud プロジェクト番号を取得するには、次のコマンドを使用します。
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
organizations/ORGANIZATION_ID
Google Cloud 組織 ID を確認する方法
Console
Google Cloud 組織 ID を確認するには、次の手順を行います。
-
Google Cloud コンソールに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスをクリックして、組織を選択します。
- [すべて] タブをクリックします。組織 ID が組織名の横に表示されます。
gcloud CLI
Google Cloud 組織 ID を取得するには、次のコマンドを使用します。
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
プロジェクト内の特定のアセットのすべての関係の履歴を取得する
gcloud
プロジェクト
gcloud asset get-history \
--project=PROJECT_ID \
--asset-names=ASSET_NAME_1,ASSET_NAME_2,... \
--content-type=relationship \
--start-time="START_TIME" \
--end-time="END_TIME"
次の値を指定します。
PROJECT_ID
: 履歴を取得するアセットが属するプロジェクトの ID。ASSET_NAME
: 履歴を取得するアセットのフルネームのカンマ区切りのリスト。START_TIME
: 期間の開始時点。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。時刻形式については、gcloud topic datetimes をご覧ください。END_TIME
: 省略可。期間の終了時点。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。指定しない場合、終了時刻は現在の時刻とみなされます。時刻形式については、gcloud topic datetimes をご覧ください。
組織
gcloud asset get-history \
--organization=ORGANIZATION_ID \
--asset-names=ASSET_NAME_1,ASSET_NAME_2,... \
--content-type=relationship \
--start-time="START_TIME" \
--end-time="END_TIME"
次の値を指定します。
ORGANIZATION_ID
: アセットの履歴を取得する組織の ID。Google Cloud 組織 ID を確認する方法
Console
Google Cloud 組織 ID を確認するには、次の手順を行います。
-
Google Cloud コンソールに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスをクリックして、組織を選択します。
- [すべて] タブをクリックします。組織 ID が組織名の横に表示されます。
gcloud CLI
Google Cloud 組織 ID を取得するには、次のコマンドを使用します。
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
ASSET_NAME
。履歴を取得するアセットのフルネームのカンマ区切りのリスト。START_TIME
: 期間の開始時点。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。時刻形式については、gcloud topic datetimes をご覧ください。END_TIME
: 省略可。期間の終了時点。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。指定しない場合、終了時刻は現在の時刻とみなされます。時刻形式については、gcloud topic datetimes をご覧ください。
REST
curl -X POST \
-H "X-HTTP-Method-Override: GET" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"assetNames": [
"ASSET_NAME_1",
"ASSET_NAME_2",
"..."
],
"contentType": "RELATIONSHIP",
"readTimeWindow": {
"startTime": "START_TIME",
"endTime": "END_TIME"
}
}' \
https://cloudasset.googleapis.com/v1/SCOPE:batchGetAssetsHistory
次の値を指定します。
ASSET_NAME
: 履歴を取得するアセットのフルネームのカンマ区切りのリスト。START_TIME
: 省略可。期間範囲の先頭(RFC 3339 形式)。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。END_TIME
: 省略可。期間範囲の終了ポイント(RFC 3339 形式)。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。指定しない場合、終了時刻は現在の時刻とみなされます。SCOPE
: プロジェクト、フォルダ、組織がスコープになります。使用できる値は次のとおりです。
projects/PROJECT_ID
projects/PROJECT_NUMBER
Google Cloud プロジェクト番号を確認する方法
Console
Google Cloud プロジェクト番号を確認するには、次の手順を行います。
-
Google Cloud コンソールの [ダッシュボード] ページに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスで組織を選択し、プロジェクト名を検索します。
- プロジェクト名をクリックして、そのプロジェクトに切り替えます。プロジェクト番号が [プロジェクト情報] カードに表示されます。
gcloud CLI
Google Cloud プロジェクト番号を取得するには、次のコマンドを使用します。
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
organizations/ORGANIZATION_ID
Google Cloud 組織 ID を確認する方法
Console
Google Cloud 組織 ID を確認するには、次の手順を行います。
-
Google Cloud コンソールに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスをクリックして、組織を選択します。
- [すべて] タブをクリックします。組織 ID が組織名の横に表示されます。
gcloud CLI
Google Cloud 組織 ID を取得するには、次のコマンドを使用します。
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
プロジェクト内の特定のアセットの特定の関係の履歴を取得する
gcloud
プロジェクト
gcloud asset get-history \
--project=PROJECT_ID \
--asset-names=ASSET_NAME_1,ASSET_NAME_2,... \
--content-type=relationship \
--relationship-types=INSTANCE_TO_INSTANCEGROUP \
--start-time="START_TIME" \
--end-time="END_TIME"
次の値を指定します。
PROJECT_ID
: 履歴を取得するアセットが属するプロジェクトの ID。ASSET_NAME
: 履歴を取得するアセットのフルネームのカンマ区切りのリスト。START_TIME
: 期間の開始時点。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。時刻形式については、gcloud topic datetimes をご覧ください。END_TIME
: 省略可。期間の終了時点。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。指定しない場合、終了時刻は現在の時刻とみなされます。時刻形式については、gcloud topic datetimes をご覧ください。
組織
gcloud asset get-history \
--organization=ORGANIZATION_ID \
--asset-names=ASSET_NAME_1,ASSET_NAME_2,... \
--content-type=relationship \
--relationship-types=INSTANCE_TO_INSTANCEGROUP \
--start-time="START_TIME" \
--end-time="END_TIME"
次の値を指定します。
ORGANIZATION_ID
: アセットの履歴を取得する組織の ID。Google Cloud 組織 ID を確認する方法
Console
Google Cloud 組織 ID を確認するには、次の手順を行います。
-
Google Cloud コンソールに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスをクリックして、組織を選択します。
- [すべて] タブをクリックします。組織 ID が組織名の横に表示されます。
gcloud CLI
Google Cloud 組織 ID を取得するには、次のコマンドを使用します。
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
ASSET_NAME
: 履歴を取得するアセットのフルネームのカンマ区切りのリスト。START_TIME
: 期間の開始時点。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。時刻形式については、gcloud topic datetimes をご覧ください。END_TIME
: 省略可。期間の終了時点。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。指定しない場合、終了時刻は現在の時刻とみなされます。時刻形式については、gcloud topic datetimes をご覧ください。
REST
curl -X POST \
-H "X-HTTP-Method-Override: GET" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"assetNames": [
"ASSET_NAME_1",
"ASSET_NAME_2",
"..."
],
"contentType": "RELATIONSHIP",
"relationshipTypes": "INSTANCE_TO_INSTANCEGROUP",
"readTimeWindow": {
"startTime": "START_TIME",
"endTime": "END_TIME"
}
}' \
https://cloudasset.googleapis.com/v1/SCOPE:batchGetAssetsHistory
次の値を指定します。
ASSET_NAME
: 履歴を取得するアセットのフルネームのカンマ区切りのリスト。START_TIME
: 省略可。期間範囲の先頭(RFC 3339 形式)。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。END_TIME
: 省略可。期間範囲の終了ポイント(RFC 3339 形式)。この値は、現在の時刻または過去 35 日以内の時刻である必要があります。指定しない場合、終了時刻は現在の時刻とみなされます。SCOPE
: プロジェクト、フォルダ、組織がスコープになります。使用できる値は次のとおりです。
projects/PROJECT_ID
projects/PROJECT_NUMBER
Google Cloud プロジェクト番号を確認する方法
Console
Google Cloud プロジェクト番号を確認するには、次の手順を行います。
-
Google Cloud コンソールの [ダッシュボード] ページに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスで組織を選択し、プロジェクト名を検索します。
- プロジェクト名をクリックして、そのプロジェクトに切り替えます。プロジェクト番号が [プロジェクト情報] カードに表示されます。
gcloud CLI
Google Cloud プロジェクト番号を取得するには、次のコマンドを使用します。
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
organizations/ORGANIZATION_ID
Google Cloud 組織 ID を確認する方法
Console
Google Cloud 組織 ID を確認するには、次の手順を行います。
-
Google Cloud コンソールに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスをクリックして、組織を選択します。
- [すべて] タブをクリックします。組織 ID が組織名の横に表示されます。
gcloud CLI
Google Cloud 組織 ID を取得するには、次のコマンドを使用します。
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-