查看资产历史记录

本页面介绍如何查看资产的历史记录。借助 Cloud Asset API 查看时间范围重叠的多个资源的事件更改历史记录 并且在过去 35 天内指定了时间范围。事件更改历史记录会显示 指定资产在一段时间内的所有创建、删除和更新事件。

准备工作

gcloud

  1. 您必须先启用 Cloud Asset API,然后才能使用 gcloud CLI 访问 Cloud Asset Inventory。请注意, 只需在您运行 Cloud Asset API 的项目上启用 API 发出指令

    启用 Cloud Asset Inventory API

  2. 在本地客户端上安装 Google Cloud CLI

REST

  1. 确认您有权使用 curl 命令。

  2. 确保您的账号已被授予您的项目、文件夹或组织的以下角色之一:

    • Cloud Asset Viewer (roles/cloudasset.viewer)

    • Owner 基本角色 (roles/owner)

配置账号

具体取决于 contentType 参数的值,若要调用 Cloud Asset API,您的账号必须 授予的角色包含对根/父级的以下权限 资源(项目或组织),其中包含您要获取历史记录的资产 用于:

  • cloudasset.assets.exportResource(针对资源和关系)

  • cloudasset.assets.exportIamPolicy

  • cloudasset.assets.exportOrgPolicy

  • cloudasset.assets.exportAccessPolicy

如果您的账号已被授予资源根的 Cloud Asset Viewer (roles/cloudasset.viewer) 角色、Cloud Asset Owner (roles/cloudasset.owner) 角色或 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:时间范围的开始时间。 该值必须是当前时间或 旧貌换新颜。有关时间格式的信息,请参见 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

    控制台

    如需查找 Google Cloud 组织 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 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:时间范围的开始时间。 该值必须是当前时间或 旧貌换新颜。有关时间格式的信息,请参见 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 格式。 该值必须是当前时间或 。

  • END_TIME:可选。本次培训的 时间范围(采用 RFC 3339 格式)。 该值必须是当前时间或 。如果未提供,则假定结束时间为当前时间。

  • SCOPE:范围可以是项目、文件夹或 组织。

    允许使用的值包括:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      如何查找 Google Cloud 项目编号

      控制台

      如需查找 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

      控制台

      如需查找 Google Cloud 组织 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击请选择:复选框,然后选择您的组织。
      4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 组织 ID:

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

移除 contentType 键值对可排除资源元数据。

获取项目中特定资产的所有 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:时间范围的开始时间。 该值必须是当前时间或 旧貌换新颜。有关时间格式的信息,请参见 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

    控制台

    如需查找 Google Cloud 组织 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 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:时间范围的开始时间。 该值必须是当前时间或 旧貌换新颜。有关时间格式的信息,请参见 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 格式)。 该值必须是当前时间或 。如果未提供,则假定结束时间为当前时间。

  • SCOPE:范围可以是项目、文件夹或 组织。

    允许使用的值包括:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      如何查找 Google Cloud 项目编号

      控制台

      如需查找 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 项目编号

      控制台

      如需查找 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

      控制台

      如需查找 Google Cloud 组织 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 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:时间范围的开始时间。 该值必须是当前时间或 旧貌换新颜。有关时间格式的信息,请参见 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

    控制台

    如需查找 Google Cloud 组织 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 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:时间范围的开始时间。 该值必须是当前时间或 旧貌换新颜。有关时间格式的信息,请参见 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 格式。 该值必须是当前时间或 。

  • END_TIME:可选。本次培训的 时间范围(采用 RFC 3339 格式)。 该值必须是当前时间或 。如果未提供,则假定结束时间为当前时间。

  • SCOPE:范围可以是项目、文件夹或 组织。

    允许使用的值包括:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      如何查找 Google Cloud 项目编号

      控制台

      如需查找 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

      控制台

      如需查找 Google Cloud 组织 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 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:时间范围的开始时间。 该值必须是当前时间或 旧貌换新颜。有关时间格式的信息,请参见 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

    控制台

    如需查找 Google Cloud 组织 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      <ph type="x-smartling-placeholder"></ph> 前往 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:时间范围的开始时间。 该值必须是当前时间或 旧貌换新颜。有关时间格式的信息,请参见 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 格式。 该值必须是当前时间或 。

  • END_TIME:可选。本次培训的 时间范围(采用 RFC 3339 格式)。 该值必须是当前时间或 。如果未提供,则假定结束时间为当前时间。

  • SCOPE:范围可以是项目、文件夹或 组织。

    允许使用的值包括:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      如何查找 Google Cloud 项目编号

      控制台

      如需查找 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

      控制台

      如需查找 Google Cloud 组织 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        <ph type="x-smartling-placeholder"></ph> 前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击请选择:复选框,然后选择您的组织。
      4. 点击全部标签页。组织 ID 会显示在组织名称旁边。

      gcloud CLI

      您可以使用以下命令检索 Google Cloud 组织 ID:

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