导出到 Cloud Storage

本主题介绍如何将项目的资产元数据导出到 Cloud Storage 存储分区

准备工作

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

  1. 在将运行 API 命令的项目中启用 Cloud Asset Inventory API。
    启用 Cloud Asset Inventory API

  2. 使用 gcloud 工具API 配置调用 Cloud Asset Inventory API 所需的权限

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

    gcloud

    要设置环境以使用 gcloud 工具调用 Cloud Asset Inventory API,请在本地客户端上安装 Cloud SDK

    API

    要设置环境以使用 Unix curl 命令调用 Cloud Asset Inventory API,请完成以下步骤。

    1. 在本地机器上安装 oauth2l,以便与 Google OAuth 系统进行互动。
    2. 确认您可以使用 Unix curl 命令。
    3. 确保向您的账号授予项目、文件夹或组织的以下角色之一。

      • Cloud Asset Viewer 角色 (roles/cloudasset.viewer)
      • Owner 基本角色 (roles/owner)
  4. 创建 Cloud Storage 存储分区以存储导出的快照。

导出项目的资产快照

要导出给定时间戳的资产快照,请选择生成适当详细程度的快照的命令。

这些命令会将导出的快照存储在 Cloud Storage 存储分区中,存储位置为 gs://YOUR_BUCKET/NEW_FILE。此 Cloud Storage 存储分区必须位于您从其中导出资产元数据的项目中。此外,您不得为其设置任何保留政策

导出所有资源名称(不包含元数据)

如需导出组织内不包含元数据的所有资源名称,请运行以下命令:

gcloud

gcloud asset export \
   --organization ORGANIZATION_ID \
   --output-path "gs://YOUR_BUCKET/NEW_FILE"

API

gcurl -d '{"outputConfig":{"gcsDestination": \
         {"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
          https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_NUMBER:exportAssets

如需导出项目中的所有资源名称(不包含元数据),请运行以下命令:

gcloud

gcloud asset export \
   --project PROJECT_ID \
   --output-path "gs://YOUR_BUCKET/NEW_FILE"

API

gcurl -d '{"outputConfig":{"gcsDestination": \
         {"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
          https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:exportAssets

如需导出文件夹中没有元数据的所有资源名称,请运行以下命令:

gcloud

gcloud asset export \
   --folder FOLDER_ID \
   --output-path "gs://YOUR_BUCKET/NEW_FILE"

API

gcurl -d '{"outputConfig":{"gcsDestination": \
         {"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
          https://cloudasset.googleapis.com/v1/folders/FOLDER_NUMBER:exportAssets

导出所有资源元数据

如需导出组织中的所有资源元数据,请运行以下命令:

gcloud

gcloud asset export \
 --content-type resource \
 --organization ORGANIZATION_ID \
 --output-path "gs://YOUR_BUCKET/NEW_FILE"

API

gcurl -d '{"contentType":"RESOURCE", "outputConfig":{"gcsDestination": \
         {"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
          https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_NUMBER:exportAssets

如需导出项目中的所有资源元数据,请运行以下命令:

gcloud

gcloud asset export \
 --content-type resource \
 --project PROJECT_ID \
 --output-path "gs://YOUR_BUCKET/NEW_FILE"

API

gcurl -d '{"contentType":"RESOURCE", "outputConfig":{"gcsDestination": \
         {"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
          https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:exportAssets

如需导出文件夹中的所有资源元数据,请运行以下命令:

gcloud

gcloud asset export \
 --content-type resource \
 --folder FOLDER_ID \
 --output-path "gs://YOUR_BUCKET/NEW_FILE"

API

gcurl -d '{"contentType":"RESOURCE", "outputConfig":{"gcsDestination": \
         {"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
          https://cloudasset.googleapis.com/v1/folders/FOLDER_NUMBER:exportAssets

导出具有特定资产类型的资源的元数据

如需导出项目中资产类型以 compute.googleapis.com 开头的所有资源的元数据,请运行以下命令:

gcloud

gcloud asset export \
 --content-type resource \
 --project PROJECT_ID \
 --asset-types compute.googleapis.com.* \
 --output-path "gs://YOUR_BUCKET/NEW_FILE"

API

gcurl -d '{"contentType":"RESOURCE", "assetTypes": "compute.googleapis.com.*", "outputConfig":{"gcsDestination": \
         {"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
          https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:exportAssets

导出 IAM 政策

如需导出组织中的 IAM 政策,请运行以下命令:

gcloud

gcloud asset export \
 --content-type iam-policy \
 --organization ORGANIZATION_ID \
 --output-path "gs://YOUR_BUCKET/NEW_FILE"

API

gcurl -d '{"contentType":"IAM_POLICY", "outputConfig":{\
          "gcsDestination": {"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
          https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_NUMBER:exportAssets

如需导出项目中的 IAM 政策,请运行以下命令:

gcloud

gcloud asset export \
 --content-type iam-policy \
 --project PROJECT_ID \
 --output-path "gs://YOUR_BUCKET/NEW_FILE"

API

gcurl -d '{"contentType":"IAM_POLICY", "outputConfig":{\
          "gcsDestination": {"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
          https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:exportAssets

如需导出文件夹中的 IAM 政策,请运行以下命令:

gcloud

gcloud asset export \
 --content-type iam-policy \
 --folder FOLDER_ID \
 --output-path "gs://YOUR_BUCKET/NEW_FILE"

API

gcurl -d '{"contentType":"IAM_POLICY", "outputConfig":{\
          "gcsDestination": {"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
          https://cloudasset.googleapis.com/v1/folders/FOLDER_NUMBER:exportAssets

导出组织政策

如需导出组织上设置的组织政策,请运行以下 gcloud 工具命令:

gcloud asset export \
   --content-type org-policy \
   --organization ORGANIZATION_ID \
   --output-path "gs://YOUR_BUCKET/NEW_FILE"

如需导出在项目上设置的组织政策,请运行以下 gcloud 工具命令:

gcloud asset export \
   --content-type org-policy \
   --project PROJECT_ID \
   --output-path "gs://YOUR_BUCKET/NEW_FILE"

如需导出在文件夹上设置的组织政策,请运行以下 gcloud 工具命令:

gcloud asset export \
   --content-type org-policy \
   --folder FOLDER_ID \
   --output-path "gs://YOUR_BUCKET/NEW_FILE"

导出 OSConfig 实例清单

如需导出虚拟机实例的 OSConfig 实例清单,请运行以下 gcloud 工具命令:

gcloud asset export \
   --content-type os-inventory \
   --project PROJECT_ID \
   --output-path "gs://YOUR_BUCKET/NEW_FILE"

导出组织中的访问权限政策

如需导出组织中的访问权限政策,请运行以下 gcloud 工具命令:

gcloud asset export \
   --content-type access-policy \
   --organization ORGANIZATION_ID \
   --output-path "gs://YOUR_BUCKET/NEW_FILE"
 

检查导出状态

如需检查导出状态,请运行以下命令。

gcloud

如需检查导出状态,您可以运行以下命令。运行导出命令后,它会显示在 gcloud 工具中。

gcloud asset operations describe OPERATION_ID

API

要查看导出的状态,请使用导出响应中返回的操作 ID 运行以下命令。

  1. 您可以在导出响应的 name 字段中找到 OPERATION_ID,其格式如下所示:

    "name": "projects/PROJECT_NUMBER/operations/ExportAssets/CONTENT_TYPE/OPERATION_ID"
    
  2. 要检查导出状态,请使用 OPERATION_ID 运行以下命令:

    gcurl https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER/operations/ExportAssets/CONTENT_TYPE/OPERATION_ID
    

查看资产快照

要查看资产快照,请执行以下操作:

  1. 在 Cloud Console 中转到“Cloud Storage 浏览器”页面
    转到“Cloud Storage 浏览器”页面

  2. 选择存储导出的存储分区,然后选择文件名。

导出结果列出了资产及其资源名称