アセット履歴の表示

このページでは、アセットの履歴を表示する方法について説明します。Cloud Asset API を使用すると、過去 35 日間で、時間枠が特定の期間と重複する複数のアセットのイベント変更履歴を表示できます。イベント変更履歴には、指定したアセットの一定期間における作成イベント、削除イベント、更新イベントがすべて表示されます。

始める前に

gcloud

  1. gcloud CLI を使用して Cloud Asset Inventory にアクセスする前に、Cloud Asset API を有効にする必要があります。API は Cloud Asset API コマンドを実行するプロジェクトでのみ有効にする必要があるのでご注意ください。

    Cloud Asset Inventory API を有効にする

  2. ローカル クライアントに Google Cloud CLI をインストールします。

REST

  1. curl コマンドにアクセスできるかを確認します。

  2. プロジェクト、フォルダ、または組織に対する次のいずれかのロールがアカウントに付与されているかを確認します。

    • 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 を確認するには、次の手順を行います。

    1. Google Cloud コンソールに移動します。

      Google Cloud コンソールに移動

    2. メニューバーの切り替えボックスをクリックします。
    3. [選択元] ボックスをクリックして、組織を選択します。
    4. [すべて] タブをクリックします。組織 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 プロジェクト番号を確認するには、次の手順を行います。

      1. Google Cloud コンソールの [ダッシュボード] ページに移動します。

        ダッシュボードに移動

      2. メニューバーの切り替えボックスをクリックします。
      3. [選択元] ボックスで組織を選択し、プロジェクト名を検索します。
      4. プロジェクト名をクリックして、そのプロジェクトに切り替えます。プロジェクト番号が [プロジェクト情報] カードに表示されます。

      gcloud CLI

      Google Cloud プロジェクト番号を取得するには、次のコマンドを使用します。

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • organizations/ORGANIZATION_ID

      Google Cloud 組織 ID を確認する方法

      Console

      Google Cloud 組織 ID を確認するには、次の手順を行います。

      1. Google Cloud コンソールに移動します。

        Google Cloud コンソールに移動

      2. メニューバーの切り替えボックスをクリックします。
      3. [選択元] ボックスをクリックして、組織を選択します。
      4. [すべて] タブをクリックします。組織 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 を確認するには、次の手順を行います。

    1. Google Cloud コンソールに移動します。

      Google Cloud コンソールに移動

    2. メニューバーの切り替えボックスをクリックします。
    3. [選択元] ボックスをクリックして、組織を選択します。
    4. [すべて] タブをクリックします。組織 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 プロジェクト番号を確認するには、次の手順を行います。

      1. Google Cloud コンソールの [ダッシュボード] ページに移動します。

        ダッシュボードに移動

      2. メニューバーの切り替えボックスをクリックします。
      3. [選択元] ボックスで組織を選択し、プロジェクト名を検索します。
      4. プロジェクト名をクリックして、そのプロジェクトに切り替えます。プロジェクト番号が [プロジェクト情報] カードに表示されます。

      gcloud CLI

      Google Cloud プロジェクト番号を取得するには、次のコマンドを使用します。

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • projects/PROJECT_NUMBER

      Google Cloud プロジェクト番号を確認する方法

      Console

      Google Cloud プロジェクト番号を確認するには、次の手順を行います。

      1. Google Cloud コンソールの [ダッシュボード] ページに移動します。

        ダッシュボードに移動

      2. メニューバーの切り替えボックスをクリックします。
      3. [選択元] ボックスで組織を選択し、プロジェクト名を検索します。
      4. プロジェクト名をクリックして、そのプロジェクトに切り替えます。プロジェクト番号が [プロジェクト情報] カードに表示されます。

      gcloud CLI

      Google Cloud プロジェクト番号を取得するには、次のコマンドを使用します。

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • organizations/ORGANIZATION_ID

      Google Cloud 組織 ID を確認する方法

      Console

      Google Cloud 組織 ID を確認するには、次の手順を行います。

      1. Google Cloud コンソールに移動します。

        Google Cloud コンソールに移動

      2. メニューバーの切り替えボックスをクリックします。
      3. [選択元] ボックスをクリックして、組織を選択します。
      4. [すべて] タブをクリックします。組織 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 を確認するには、次の手順を行います。

    1. Google Cloud コンソールに移動します。

      Google Cloud コンソールに移動

    2. メニューバーの切り替えボックスをクリックします。
    3. [選択元] ボックスをクリックして、組織を選択します。
    4. [すべて] タブをクリックします。組織 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 プロジェクト番号を確認するには、次の手順を行います。

      1. Google Cloud コンソールの [ダッシュボード] ページに移動します。

        ダッシュボードに移動

      2. メニューバーの切り替えボックスをクリックします。
      3. [選択元] ボックスで組織を選択し、プロジェクト名を検索します。
      4. プロジェクト名をクリックして、そのプロジェクトに切り替えます。プロジェクト番号が [プロジェクト情報] カードに表示されます。

      gcloud CLI

      Google Cloud プロジェクト番号を取得するには、次のコマンドを使用します。

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • organizations/ORGANIZATION_ID

      Google Cloud 組織 ID を確認する方法

      Console

      Google Cloud 組織 ID を確認するには、次の手順を行います。

      1. Google Cloud コンソールに移動します。

        Google Cloud コンソールに移動

      2. メニューバーの切り替えボックスをクリックします。
      3. [選択元] ボックスをクリックして、組織を選択します。
      4. [すべて] タブをクリックします。組織 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 を確認するには、次の手順を行います。

    1. Google Cloud コンソールに移動します。

      Google Cloud コンソールに移動

    2. メニューバーの切り替えボックスをクリックします。
    3. [選択元] ボックスをクリックして、組織を選択します。
    4. [すべて] タブをクリックします。組織 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 プロジェクト番号を確認するには、次の手順を行います。

      1. Google Cloud コンソールの [ダッシュボード] ページに移動します。

        ダッシュボードに移動

      2. メニューバーの切り替えボックスをクリックします。
      3. [選択元] ボックスで組織を選択し、プロジェクト名を検索します。
      4. プロジェクト名をクリックして、そのプロジェクトに切り替えます。プロジェクト番号が [プロジェクト情報] カードに表示されます。

      gcloud CLI

      Google Cloud プロジェクト番号を取得するには、次のコマンドを使用します。

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • organizations/ORGANIZATION_ID

      Google Cloud 組織 ID を確認する方法

      Console

      Google Cloud 組織 ID を確認するには、次の手順を行います。

      1. Google Cloud コンソールに移動します。

        Google Cloud コンソールに移動

      2. メニューバーの切り替えボックスをクリックします。
      3. [選択元] ボックスをクリックして、組織を選択します。
      4. [すべて] タブをクリックします。組織 ID が組織名の横に表示されます。

      gcloud CLI

      Google Cloud 組織 ID を取得するには、次のコマンドを使用します。

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"