查看虚拟机管理器数据

本主题介绍如何配置 Cloud Asset Inventory 和 虚拟机管理器的操作系统清单,以便您查看运行时信息 虚拟机数量

准备工作

在开始之前,请完成以下步骤。

  1. 对将要运行的项目启用 Cloud Asset Inventory API API 命令

    启用 Cloud Asset Inventory API

  2. 配置执行下列操作所需的权限 使用 gcloud CLIAPI 调用 Cloud Asset Inventory API。

  3. 完成以下步骤以设置您的环境。

    gcloud CLI

    要设置环境以使用 gcloud CLI 调用 Cloud Asset Inventory API,请在您的 本地客户端。

    REST

    要设置您的环境,以便使用 curl 命令,请完成以下步骤。

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

    2. 请务必授予 您在项目、文件夹或项目上拥有下列某一角色 组织。

      • Cloud Asset Viewer 角色 (roles/cloudasset.viewer)

      • Owner 基本角色 (roles/owner)

启用操作系统清点

启用操作系统清单(虚拟机管理器的一部分) 完成设置虚拟机管理器中的相关步骤。

设置权限

确保您的账号对包含您要导出的资源的根资源拥有 cloudasset.assets.exportOSInventories 权限。您可以单独授予此权限,也可以为根资源授予以下角色之一。

  • Cloud Asset Viewer (roles/cloudasset.viewer) 角色

  • Cloud Asset Owner (roles/cloudasset.owner) 角色

详细了解如何配置权限Cloud Asset Inventory IAM 角色

将虚拟机管理器数据导出到 BigQuery

如需导出给定时间戳的 OS Inventory 快照,请使用以下命令。

gcloud

项目

gcloud asset export \
    --project=PROJECT_ID \
    --billing-project=BILLING_PROJECT_ID \
    --content-type=os-inventory \
    --snapshot-time="SNAPSHOT_TIME" \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --output-bigquery-force

请提供以下值:

  • PROJECT_ID:所属项目的 ID 正在导出元数据。

  • BILLING_PROJECT_ID:可选。项目 ID 默认 Cloud Asset Inventory 服务代理所在的且具有权限 来管理 BigQuery 数据集和表。在以下情况下无需提供 您已经切换到 gcloud config set project详细了解结算项目

  • SNAPSHOT_TIME:可选。触发 快照该值必须是 当前时间或过去的某个时间。默认情况下,快照的截取时间为 当前时间。有关时间格式的信息,请参见 gcloud topic DateTimes

  • DATASET_ID:BigQuery 数据集的 ID。

  • TABLE_NAME:要查看的表 导出元数据。

其他标志:

  • --output-bigquery-force:覆盖目标表(如果它) 存在。

文件夹

gcloud asset export \
    --folder=FOLDER_ID \
    --billing-project=BILLING_PROJECT_ID \
    --content-type=os-inventory \
    --snapshot-time="SNAPSHOT_TIME" \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --output-bigquery-force

请提供以下值:

  • FOLDER_ID:符合以下条件的文件夹的 ID 正在导出元数据。

    如何查找 Google Cloud 文件夹 ID

    控制台

    如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击请选择:复选框,然后选择您的组织。
    4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

    gcloud CLI

    您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

    gcloud resource-manager folders list \
        --organization=$(gcloud organizations describe ORGANIZATION_NAME \
          --format="value(name.segment(1))") \
        --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
        --format="value(ID)"

    其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

    如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

    gcloud resource-manager folders list --folder=FOLDER_ID

  • BILLING_PROJECT_ID:可选。项目 ID 默认 Cloud Asset Inventory 服务代理所在的且具有权限 来管理 BigQuery 数据集和表。在以下情况下无需提供 您已经切换到 gcloud config set project详细了解结算项目

  • SNAPSHOT_TIME:可选。触发 快照该值必须是 当前时间或过去的某个时间。默认情况下,快照的截取时间为 当前时间。有关时间格式的信息,请参见 gcloud topic DateTimes

  • DATASET_ID:BigQuery 数据集的 ID。

  • TABLE_NAME:要查看的表 导出元数据。

其他标志:

  • --output-bigquery-force:覆盖目标表(如果它) 存在。

组织

gcloud asset export \
    --organization=ORGANIZATION_ID \
    --billing-project=BILLING_PROJECT_ID \
    --content-type=os-inventory \
    --snapshot-time="SNAPSHOT_TIME" \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --output-bigquery-force

请提供以下值:

  • ORGANIZATION_ID:组织的 ID 要导出其元数据。

    如何查找 Google Cloud 组织 ID

    控制台

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

  • BILLING_PROJECT_ID:可选。项目 ID 默认 Cloud Asset Inventory 服务代理所在的且具有权限 来管理 BigQuery 数据集和表。在以下情况下无需提供 您已经切换到 gcloud config set project详细了解结算项目

  • SNAPSHOT_TIME:可选。触发 快照该值必须是 当前时间或过去的某个时间。默认情况下,快照的截取时间为 当前时间。有关时间格式的信息,请参见 gcloud topic DateTimes

  • DATASET_ID:BigQuery 数据集的 ID。

  • TABLE_NAME:要查看的表 导出元数据。

其他标志:

  • --output-bigquery-force:覆盖目标表(如果它) 存在。

REST

curl -X POST \
     -H "X-Goog-User-Project: BILLING_PROJECT_ID" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "contentType": "OS_INVENTORY",
          "readTime": "SNAPSHOT_TIME",
          "outputConfig": {
            "bigqueryDestination": {
              "dataset": "projects/PROJECT_ID/datasets/DATASET_ID",
              "table": "TABLE_NAME",
              "force": true
            }
          }
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:exportAssets

请提供以下值:

  • BILLING_PROJECT_ID:可选。需要修改访问权限的项目 ID 默认 Cloud Asset Inventory 服务代理所在的,有权 管理 BigQuery 数据集和表。如果您 已经切换到 gcloud config set project 的结算项目。 详细了解结算项目

  • SNAPSHOT_TIME:可选。触发 您想要截取资产快照,采用 RFC 3339 格式。 该值必须是当前时间或 。如果未提供,则会在当前时间截取快照。

  • PROJECT_ID:需要处理的项目的 ID BigQuery 表所在的位置。

  • DATASET_ID:BigQuery 数据集的 ID。

  • TABLE_NAME:要导出到的表 元数据。

  • 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)"

    • folders/FOLDER_ID

      如何查找 Google Cloud 文件夹 ID

      控制台

      如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击请选择:复选框,然后选择您的组织。
      4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

      gcloud CLI

      您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

      gcloud resource-manager folders list \
          --organization=$(gcloud organizations describe ORGANIZATION_NAME \
            --format="value(name.segment(1))") \
          --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
          --format="value(ID)"

      其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

      如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      如何查找 Google Cloud 组织 ID

      控制台

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

如需将虚拟机管理器漏洞报告从项目导出到 BigQuery,请使用以下命令。

gcloud

项目

gcloud asset export \
    --project=PROJECT_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=osconfig.googleapis.com/VulnerabilityReport \
    --content-type=resource \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --output-bigquery-force

请提供以下值:

  • PROJECT_ID:所属项目的 ID 正在导出元数据。

  • BILLING_PROJECT_ID:可选。项目 ID 默认 Cloud Asset Inventory 服务代理所在的且具有权限 来管理 BigQuery 数据集和表。在以下情况下无需提供 您已经切换到 gcloud config set project详细了解结算项目

  • DATASET_ID:BigQuery 数据集的 ID。

  • TABLE_NAME:要查看的表 导出元数据。

其他标志:

  • --output-bigquery-force:覆盖目标表(如果它) 存在。

文件夹

gcloud asset export \
    --folder=FOLDER_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=osconfig.googleapis.com/VulnerabilityReport \
    --content-type=resource \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --output-bigquery-force

请提供以下值:

  • FOLDER_ID:符合以下条件的文件夹的 ID 正在导出元数据。

    如何查找 Google Cloud 文件夹 ID

    控制台

    如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击请选择:复选框,然后选择您的组织。
    4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

    gcloud CLI

    您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

    gcloud resource-manager folders list \
        --organization=$(gcloud organizations describe ORGANIZATION_NAME \
          --format="value(name.segment(1))") \
        --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
        --format="value(ID)"

    其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

    如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

    gcloud resource-manager folders list --folder=FOLDER_ID

  • BILLING_PROJECT_ID:可选。项目 ID 默认 Cloud Asset Inventory 服务代理所在的且具有权限 来管理 BigQuery 数据集和表。在以下情况下无需提供 您已经切换到 gcloud config set project详细了解结算项目

  • DATASET_ID:BigQuery 数据集的 ID。

  • TABLE_NAME:要查看的表 导出元数据。

其他标志:

  • --output-bigquery-force:覆盖目标表(如果它) 存在。

组织

gcloud asset export \
    --organization=ORGANIZATION_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=osconfig.googleapis.com/VulnerabilityReport \
    --content-type=resource \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --output-bigquery-force

请提供以下值:

  • ORGANIZATION_ID:组织的 ID 要导出其元数据。

    如何查找 Google Cloud 组织 ID

    控制台

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

  • BILLING_PROJECT_ID:可选。项目 ID 默认 Cloud Asset Inventory 服务代理所在的且具有权限 来管理 BigQuery 数据集和表。在以下情况下无需提供 您已经切换到 gcloud config set project详细了解结算项目

  • DATASET_ID:BigQuery 数据集的 ID。

  • TABLE_NAME:要查看的表 导出元数据。

其他标志:

  • --output-bigquery-force:覆盖目标表(如果它) 存在。

REST

curl -X POST \
     -H "X-Goog-User-Project: BILLING_PROJECT_ID" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "assetTypes": ["osconfig.googleapis.com/VulnerabilityReport"],
          "contentType": "RESOURCE",
          "outputConfig": {
            "bigqueryDestination": {
              "dataset": "projects/PROJECT_ID/datasets/DATASET_ID",
              "table": "TABLE_NAME",
              "force": true
            }
          }
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:exportAssets

请提供以下值:

  • BILLING_PROJECT_ID:可选。需要修改访问权限的项目 ID 默认 Cloud Asset Inventory 服务代理所在的,有权 管理 BigQuery 数据集和表。如果您 已经切换到 gcloud config set project 的结算项目。 详细了解结算项目

  • PROJECT_ID:需要处理的项目的 ID BigQuery 表所在的位置。

  • DATASET_ID:BigQuery 数据集的 ID。

  • TABLE_NAME:要导出到的表 元数据。

  • 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)"

    • folders/FOLDER_ID

      如何查找 Google Cloud 文件夹 ID

      控制台

      如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击请选择:复选框,然后选择您的组织。
      4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

      gcloud CLI

      您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

      gcloud resource-manager folders list \
          --organization=$(gcloud organizations describe ORGANIZATION_NAME \
            --format="value(name.segment(1))") \
          --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
          --format="value(ID)"

      其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

      如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      如何查找 Google Cloud 组织 ID

      控制台

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

其他参数:

  • "force": true:覆盖目标表(如果存在)。

现有表

不支持将导出输出附加到现有表。目标表必须为空,或必须覆盖目标表。要覆盖它,请使用 将 --output-bigquery-force 标志与 gcloud CLI 搭配使用,或使用 将 force 替换为 REST API。

如果您在尝试写入输出表时正在使用输出表,则会返回 400 响应 返回消息 Request contains an invalid argument

将虚拟机管理器数据导出至 Cloud Storage

如需导出某个集群中所有虚拟机实例的虚拟机管理器清单数据,请执行以下操作: 项目,请使用以下 gcloud CLI 命令或 Cloud Asset Inventory API。

gcloud

项目

gcloud asset export \
    --project=PROJECT_ID \
    --billing-project=BILLING_PROJECT_ID \
    --content-type=os-inventory \
    --output-path="gs://BUCKET_NAME/FILENAME"

请提供以下值:

  • PROJECT_ID:所属项目的 ID 正在导出元数据。

  • BILLING_PROJECT_ID:可选。项目 ID 默认 Cloud Asset Inventory 服务代理所在的且具有权限 写入 Cloud Storage 存储桶在以下情况下无需提供 您已经切换到 gcloud config set project详细了解结算项目

  • BUCKET_NAME: 要向其写入数据的 Cloud Storage 存储桶。

  • FILENAME:您的 要向其写入数据的 Cloud Storage 存储桶。

文件夹

gcloud asset export \
    --folder=FOLDER_ID \
    --billing-project=BILLING_PROJECT_ID \
    --content-type=os-inventory \
    --output-path="gs://BUCKET_NAME/FILENAME"

请提供以下值:

  • FOLDER_ID:符合以下条件的文件夹的 ID 正在导出元数据。

    如何查找 Google Cloud 文件夹 ID

    控制台

    如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击请选择:复选框,然后选择您的组织。
    4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

    gcloud CLI

    您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

    gcloud resource-manager folders list \
        --organization=$(gcloud organizations describe ORGANIZATION_NAME \
          --format="value(name.segment(1))") \
        --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
        --format="value(ID)"

    其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

    如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

    gcloud resource-manager folders list --folder=FOLDER_ID

  • BILLING_PROJECT_ID:可选。项目 ID 默认 Cloud Asset Inventory 服务代理所在的且具有权限 写入 Cloud Storage 存储桶在以下情况下无需提供 您已经切换到 gcloud config set project详细了解结算项目

  • BUCKET_NAME: 要向其写入数据的 Cloud Storage 存储桶。

  • FILENAME:您的 要向其写入数据的 Cloud Storage 存储桶。

组织

gcloud asset export \
    --organization=ORGANIZATION_ID \
    --billing-project=BILLING_PROJECT_ID \
    --content-type=os-inventory \
    --output-path="gs://BUCKET_NAME/FILENAME"

请提供以下值:

  • ORGANIZATION_ID:组织的 ID 要导出其元数据。

    如何查找 Google Cloud 组织 ID

    控制台

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

  • BILLING_PROJECT_ID:可选。项目 ID 默认 Cloud Asset Inventory 服务代理所在的且具有权限 写入 Cloud Storage 存储桶在以下情况下无需提供 您已经切换到 gcloud config set project详细了解结算项目

  • BUCKET_NAME: 要向其写入数据的 Cloud Storage 存储桶。

  • FILENAME:您的 要向其写入数据的 Cloud Storage 存储桶。

REST

curl -X POST \
     -H "X-Goog-User-Project: BILLING_PROJECT_ID" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "contentType": "OS_INVENTORY",
          "outputConfig": {
            "gcsDestination": {
              "uri": "gs://BUCKET_NAME/FILENAME"
            }
          }
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:exportAssets

请提供以下值:

  • BILLING_PROJECT_ID:可选。项目 ID 默认 Cloud Asset Inventory 服务代理所在的该代理有权 写入 Cloud Storage 存储桶如果您 已经切换到 gcloud config set project 的结算项目。 详细了解结算项目

  • BUCKET_NAME: 要向其写入数据的 Cloud Storage 存储桶。

  • FILENAME:您的 要向其写入数据的 Cloud Storage 存储桶。

  • 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)"

    • folders/FOLDER_ID

      如何查找 Google Cloud 文件夹 ID

      控制台

      如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击请选择:复选框,然后选择您的组织。
      4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

      gcloud CLI

      您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

      gcloud resource-manager folders list \
          --organization=$(gcloud organizations describe ORGANIZATION_NAME \
            --format="value(name.segment(1))") \
          --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
          --format="value(ID)"

      其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

      如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      如何查找 Google Cloud 组织 ID

      控制台

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

如需将虚拟机管理器漏洞报告从项目导出到 Cloud Storage,请使用以下 gcloud CLI 命令或 Cloud Asset Inventory API。

gcloud

项目

gcloud asset export \
    --project=PROJECT_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=osconfig.googleapis.com/VulnerabilityReport \
    --content-type=resource \
    --output-path="gs://BUCKET_NAME/FILENAME"

请提供以下值:

  • PROJECT_ID:所属项目的 ID 正在导出元数据。

  • BILLING_PROJECT_ID:可选。项目 ID 默认 Cloud Asset Inventory 服务代理所在的且具有权限 写入 Cloud Storage 存储桶在以下情况下无需提供 您已经切换到 gcloud config set project详细了解结算项目

  • BUCKET_NAME: 要向其写入数据的 Cloud Storage 存储桶。

  • FILENAME:您的 要向其写入数据的 Cloud Storage 存储桶。

文件夹

gcloud asset export \
    --folder=FOLDER_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=osconfig.googleapis.com/VulnerabilityReport \
    --content-type=resource \
    --output-path="gs://BUCKET_NAME/FILENAME"

请提供以下值:

  • FOLDER_ID:符合以下条件的文件夹的 ID 正在导出元数据。

    如何查找 Google Cloud 文件夹 ID

    控制台

    如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击请选择:复选框,然后选择您的组织。
    4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

    gcloud CLI

    您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

    gcloud resource-manager folders list \
        --organization=$(gcloud organizations describe ORGANIZATION_NAME \
          --format="value(name.segment(1))") \
        --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
        --format="value(ID)"

    其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

    如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

    gcloud resource-manager folders list --folder=FOLDER_ID

  • BILLING_PROJECT_ID:可选。项目 ID 默认 Cloud Asset Inventory 服务代理所在的且具有权限 写入 Cloud Storage 存储桶在以下情况下无需提供 您已经切换到 gcloud config set project详细了解结算项目

  • BUCKET_NAME: 要向其写入数据的 Cloud Storage 存储桶。

  • FILENAME:您的 要向其写入数据的 Cloud Storage 存储桶。

组织

gcloud asset export \
    --organization=ORGANIZATION_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=osconfig.googleapis.com/VulnerabilityReport \
    --content-type=resource \
    --output-path="gs://BUCKET_NAME/FILENAME"

请提供以下值:

  • ORGANIZATION_ID:组织的 ID 要导出其元数据。

    如何查找 Google Cloud 组织 ID

    控制台

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

  • BILLING_PROJECT_ID:可选。项目 ID 默认 Cloud Asset Inventory 服务代理所在的且具有权限 写入 Cloud Storage 存储桶在以下情况下无需提供 您已经切换到 gcloud config set project详细了解结算项目

  • BUCKET_NAME: 要向其写入数据的 Cloud Storage 存储桶。

  • FILENAME:您的 要向其写入数据的 Cloud Storage 存储桶。

REST

curl -X POST \
     -H "X-Goog-User-Project: BILLING_PROJECT_ID" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "assetTypes": ["osconfig.googleapis.com/VulnerabilityReport"],
          "contentType": "RESOURCE",
          "outputConfig": {
            "gcsDestination": {
              "uri": "gs://BUCKET_NAME/FILENAME"
            }
          }
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:exportAssets

请提供以下值:

  • BILLING_PROJECT_ID:可选。项目 ID 默认 Cloud Asset Inventory 服务代理所在的该代理有权 写入 Cloud Storage 存储桶如果您 已经切换到 gcloud config set project 的结算项目。 详细了解结算项目

  • BUCKET_NAME: 要向其写入数据的 Cloud Storage 存储桶。

  • FILENAME:您的 要向其写入数据的 Cloud Storage 存储桶。

  • 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)"

    • folders/FOLDER_ID

      如何查找 Google Cloud 文件夹 ID

      控制台

      如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击请选择:复选框,然后选择您的组织。
      4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

      gcloud CLI

      您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

      gcloud resource-manager folders list \
          --organization=$(gcloud organizations describe ORGANIZATION_NAME \
            --format="value(name.segment(1))") \
          --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
          --format="value(ID)"

      其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

      如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      如何查找 Google Cloud 组织 ID

      控制台

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

现有文件

如果在尝试向存储桶写入数据时,输出文件正在使用中,400 并返回消息 Request contains an invalid argument

获取虚拟机管理器数据历史记录

获取指定虚拟机实例中所有操作系统资产清单资产的历史记录 项目、文件夹或组织,请运行以下命令。

gcloud

项目

gcloud asset get-history \
    --project=PROJECT_ID \
    --asset-names=//compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/VM_INSTANCE_NAME \
    --content-type=os-inventory \
    --start-time="START_TIME" \
    --end-time="END_TIME"

请提供以下值:

  • PROJECT_ID:项目的 ID,其中 虚拟机实例所在的位置。

  • ZONE:您的虚拟机实例所在的可用区。例如 us-central1-a

  • VM_INSTANCE_NAME:虚拟机的名称 实例。

  • START_TIME:可选。 时间范围。该值必须是当前时间或不超过 过去 35 天。有关时间格式的信息,请参见 gcloud topic DateTimes

  • END_TIME:可选。介绍 时间范围值必须是当前时间或不再是时间 过去 35 天以内。如果未提供,则假定结束时间 设置为当前时间。有关时间格式的信息,请参见 gcloud topic DateTimes

如需获取 特定虚拟机,请运行以下命令:

gcloud asset get-history \
    --project=PROJECT_ID \
    --asset-names=//osconfig.googleapis.com/projects/PROJECT_NUMBER/locations/ZONE/instances/VM_INSTANCE_ID/vulnerabilityReport \
    --content-type=resource \
    --start-time="START_TIME" \
    --end-time="END_TIME"

文件夹

gcloud asset get-history \
    --folder=FOLDER_ID \
    --asset-names=//compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/VM_INSTANCE_NAME \
    --content-type=os-inventory \
    --start-time="START_TIME" \
    --end-time="END_TIME"

请提供以下值:

  • FOLDER_ID:虚拟机所在文件夹的 ID 实例的位置。

    如何查找 Google Cloud 文件夹 ID

    控制台

    如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击请选择:复选框,然后选择您的组织。
    4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

    gcloud CLI

    您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

    gcloud resource-manager folders list \
        --organization=$(gcloud organizations describe ORGANIZATION_NAME \
          --format="value(name.segment(1))") \
        --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
        --format="value(ID)"

    其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

    如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

    gcloud resource-manager folders list --folder=FOLDER_ID

  • ZONE:您的虚拟机实例所在的可用区。例如 us-central1-a

  • VM_INSTANCE_NAME:虚拟机的名称 实例。

  • START_TIME:可选。 时间范围。该值必须是当前时间或不超过 过去 35 天。有关时间格式的信息,请参见 gcloud topic DateTimes

  • END_TIME:可选。介绍 时间范围值必须是当前时间或不再是时间 过去 35 天以内。如果未提供,则假定结束时间 设置为当前时间。有关时间格式的信息,请参见 gcloud topic DateTimes

如需获取 特定虚拟机,请运行以下命令:

gcloud asset get-history \
    --folder=FOLDER_ID \
    --asset-names=//osconfig.googleapis.com/projects/PROJECT_NUMBER/locations/ZONE/instances/VM_INSTANCE_ID/vulnerabilityReport \
    --content-type=resource \
    --start-time="START_TIME" \
    --end-time="END_TIME"

组织

gcloud asset get-history \
    --organization=ORGANIZATION_ID \
    --asset-names=//compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/VM_INSTANCE_NAME \
    --content-type=os-inventory \
    --start-time="START_TIME" \
    --end-time="END_TIME"

请提供以下值:

  • ORGANIZATION_ID:组织的 ID 虚拟机实例所在的位置

    如何查找 Google Cloud 组织 ID

    控制台

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

  • ZONE:您的虚拟机实例所在的可用区。例如 us-central1-a

  • VM_INSTANCE_NAME:虚拟机的名称 实例。

  • START_TIME:可选。 时间范围。该值必须是当前时间或不超过 过去 35 天。有关时间格式的信息,请参见 gcloud topic DateTimes

  • END_TIME:可选。介绍 时间范围值必须是当前时间或不再是时间 过去 35 天以内。如果未提供,则假定结束时间 设置为当前时间。有关时间格式的信息,请参见 gcloud topic DateTimes

如需获取 特定虚拟机,请运行以下命令:

gcloud asset get-history \
    --organization=ORGANIZATION_ID \
    --asset-names=//osconfig.googleapis.com/projects/PROJECT_NUMBER/locations/ZONE/instances/VM_INSTANCE_ID/vulnerabilityReport \
    --content-type=resource \
    --start-time="START_TIME" \
    --end-time="END_TIME"

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": "//compute.googleapis.com/projects/PROJECT_ID/zones/ZONE/instances/VM_INSTANCE_NAME",
          "contentType": "OS_INVENTORY",
          "readTimeWindow": {
            "startTime": "START_TIME",
            "endTime": "END_TIME"
          }
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:batchGetAssetsHistory
<ph type="x-smartling-placeholder">

请提供以下值:

  • PROJECT_ID:包含虚拟机的项目的 ID 实例的位置。

  • ZONE:您的虚拟机实例所在的可用区。例如 us-central1-a

  • VM_INSTANCE_NAME:您的虚拟机实例的名称。

  • START_TIME:可选。 时间范围。该值必须是当前时间或不超过 35 的时间 。有关时间格式的信息,请参见 gcloud topic DateTimes

  • END_TIME:可选。介绍 时间范围该值必须是当前时间或不超过 过去 35 天。如果未提供,则假定结束时间为 。有关时间格式的信息,请参见 gcloud topic DateTimes

  • 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)"

    • folders/FOLDER_ID

      如何查找 Google Cloud 文件夹 ID

      控制台

      如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击请选择:复选框,然后选择您的组织。
      4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

      gcloud CLI

      您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

      gcloud resource-manager folders list \
          --organization=$(gcloud organizations describe ORGANIZATION_NAME \
            --format="value(name.segment(1))") \
          --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
          --format="value(ID)"

      其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

      如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      如何查找 Google Cloud 组织 ID

      控制台

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

如需获取特定项目的虚拟机管理器漏洞数据的历史记录, 虚拟机,请运行以下命令:

curl -X POST \
     -H "X-HTTP-Method-Override: GET" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "assetNames": "//osconfig.googleapis.com/projects/PROJECT_ID/locations/ZONE/instances/VM_INSTANCE_NAME/vulnerabilityReport",
          "contentType": "RESOURCE",
          "readTimeWindow": {
            "startTime": "START_TIME",
            "endTime": "END_TIME"
          }
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:batchGetAssetsHistory

使用 Pub/Sub 监控虚拟机管理器数据更改

创建 Pub/Sub 主题后,运行 以监控虚拟机管理器更改。

gcloud

项目

如需创建 Feed 来监控安装了 Windows 操作系统的虚拟机,请运行 以下命令:

gcloud asset feeds create FEED_ID \
    --project=PROJECT_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=compute.googleapis.com/Instance \
    --content-type=os-inventory \
    --pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
    --condition-title="CONDITION_TITLE" \
    --condition-description="CONDITION_DESCRIPTION" \
    --condition-expression="temporal_asset.asset.os_inventory.os_info.short_name == \"windows\""

请提供以下值:

  • FEED_ID:唯一的资产 Feed 标识符。

  • PROJECT_ID:所属项目的 ID 发送到 Feed 的元数据

  • BILLING_PROJECT_ID:可选。项目 ID 默认 Cloud Asset Inventory 服务代理所在的且具有权限 管理 Pub/Sub 主题 详细了解结算项目

  • TOPIC_ID:Pub/Sub 主题的 ID 将通知发布到

  • CONDITION_TITLE:可选。该 condition [使用情况] 以应用于 Feed

  • CONDITION_DESCRIPTION:可选。通过 条件的说明 以应用于 Feed

如需创建 Feed 来监控项目中的虚拟机漏洞数据,请执行以下操作: 运行以下命令:

gcloud asset feeds create FEED_ID \
    --project=PROJECT_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=osconfig.googleapis.com/VulnerabilityReport \
    --content-type=resource \
    --pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID"

文件夹

如需创建 Feed 来监控安装了 Windows 操作系统的虚拟机,请运行 以下命令:

gcloud asset feeds create FEED_ID \
    --folder=FOLDER_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=compute.googleapis.com/Instance \
    --content-type=os-inventory \
    --pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
    --condition-title="CONDITION_TITLE" \
    --condition-description="CONDITION_DESCRIPTION" \
    --condition-expression="temporal_asset.asset.os_inventory.os_info.short_name == \"windows\""

请提供以下值:

  • FEED_ID:唯一的资产 Feed 标识符。

  • FOLDER_ID:符合以下条件的文件夹的 ID 发送到 Feed 的元数据

    如何查找 Google Cloud 文件夹 ID

    控制台

    如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

    1. 转到 Google Cloud 控制台。

      前往 Google Cloud 控制台

    2. 点击菜单栏中的切换器框。
    3. 点击请选择:复选框,然后选择您的组织。
    4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

    gcloud CLI

    您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

    gcloud resource-manager folders list \
        --organization=$(gcloud organizations describe ORGANIZATION_NAME \
          --format="value(name.segment(1))") \
        --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
        --format="value(ID)"

    其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

    如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

    gcloud resource-manager folders list --folder=FOLDER_ID

  • BILLING_PROJECT_ID:可选。项目 ID 默认 Cloud Asset Inventory 服务代理所在的且具有权限 管理 Pub/Sub 主题 详细了解结算项目

  • TOPIC_ID:Pub/Sub 主题的 ID 将通知发布到

  • CONDITION_TITLE:可选。该 condition [使用情况] 以应用于 Feed

  • CONDITION_DESCRIPTION:可选。通过 条件的说明 以应用于 Feed

如需创建 Feed 来监控项目中的虚拟机漏洞数据,请执行以下操作: 运行以下命令:

gcloud asset feeds create FEED_ID \
    --folder=FOLDER_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=osconfig.googleapis.com/VulnerabilityReport \
    --content-type=resource \
    --pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID"

组织

如需创建 Feed 来监控安装了 Windows 操作系统的虚拟机,请运行 以下命令:

gcloud asset feeds create FEED_ID \
    --organization=ORGANIZATION_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=compute.googleapis.com/Instance \
    --content-type=os-inventory \
    --pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID" \
    --condition-title="CONDITION_TITLE" \
    --condition-description="CONDITION_DESCRIPTION" \
    --condition-expression="temporal_asset.asset.os_inventory.os_info.short_name == \"windows\""

请提供以下值:

  • FEED_ID:唯一的资产 Feed 标识符。

  • ORGANIZATION_ID:组织的 ID 将要发送到 Feed 的元数据。

    如何查找 Google Cloud 组织 ID

    控制台

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

  • BILLING_PROJECT_ID:可选。项目 ID 默认 Cloud Asset Inventory 服务代理所在的且具有权限 管理 Pub/Sub 主题 详细了解结算项目

  • TOPIC_ID:Pub/Sub 主题的 ID 将通知发布到

  • CONDITION_TITLE:可选。该 condition [使用情况] 以应用于 Feed

  • CONDITION_DESCRIPTION:可选。通过 条件的说明 以应用于 Feed

如需创建 Feed 来监控项目中的虚拟机漏洞数据,请执行以下操作: 运行以下命令:

gcloud asset feeds create FEED_ID \
    --organization=ORGANIZATION_ID \
    --billing-project=BILLING_PROJECT_ID \
    --asset-types=osconfig.googleapis.com/VulnerabilityReport \
    --content-type=resource \
    --pubsub-topic="projects/PROJECT_ID/topics/TOPIC_ID"

REST

如需创建 Feed 来监控安装了 Windows 操作系统的虚拟机,请运行 以下命令:

curl -X POST \
     -H "X-Goog-User-Project: BILLING_PROJECT_ID" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "feedId": "FEED_ID",
          "feed": {
            "assetTypes": ["compute.googleapis.com/Instance"],
            "contentType": "OS_INVENTORY",
            "feedOutputConfig": {
              "pubsubDestination": {
                "topic": "projects/PROJECT_ID/topics/TOPIC_ID"
              }
            },
            "condition": {
              "title": "CONDITION_TITLE",
              "description": "CONDITION_DESCRIPTION",
              "expression": "temporal_asset.asset.os_inventory.os_info.short_name == \"windows\""
            }
          }
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE/feeds

请提供以下值:

  • BILLING_PROJECT_ID:可选。项目 ID 默认 Cloud Asset Inventory 服务代理所在的且具有权限 管理 Pub/Sub 主题 详细了解结算项目

  • FEED_ID:唯一的资产 Feed 标识符。

  • PROJECT_ID:项目的 ID,其中 Pub/Sub 主题所在的位置。

  • TOPIC_ID:目标 Pub/Sub 主题的 ID 将通知发布到。

  • CONDITION_TITLE:可选。该 condition [使用情况] 以应用于 Feed

  • CONDITION_DESCRIPTION:可选。说明 的条件 以应用于 Feed

  • 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)"

    • folders/FOLDER_ID

      如何查找 Google Cloud 文件夹 ID

      控制台

      如需查找 Google Cloud 文件夹 ID,请完成以下步骤:

      1. 转到 Google Cloud 控制台。

        前往 Google Cloud 控制台

      2. 点击菜单栏中的切换器框。
      3. 点击请选择:复选框,然后选择您的组织。
      4. 搜索您的文件夹名称。文件夹 ID 显示在文件夹名称旁边。

      gcloud CLI

      您可以使用以下命令检索位于组织级别的 Google Cloud 文件夹 ID:

      gcloud resource-manager folders list \
          --organization=$(gcloud organizations describe ORGANIZATION_NAME \
            --format="value(name.segment(1))") \
          --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
          --format="value(ID)"

      其中,TOP_LEVEL_FOLDER_NAME 可以是字符串完全匹配或部分匹配。移除 --format 选项,以查看有关找到的文件夹的更多信息。

      如需获取其他文件夹中某个文件夹的 ID,请列出相应子文件夹:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      如何查找 Google Cloud 组织 ID

      控制台

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

如需创建用于监控虚拟机漏洞数据的 Feed,请运行以下命令 命令:

curl -X POST \
     -H "X-Goog-User-Project: BILLING_PROJECT_ID" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "feedId": "FEED_ID",
          "feed": {
            "assetTypes": ["osconfig.googleapis.com/VulnerabilityReport"],
            "contentType": "RESOURCE",
            "feedOutputConfig": {
              "pubsubDestination": {
                "topic": "projects/PROJECT_ID/topics/TOPIC_ID"
              }
            }
          }
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE/feeds

请参阅监控资产更改 了解详情。