如何在 Google Cloud Platform 中跨服务 (API) 和项目查找、列出或搜索资源?

Cir*_*rcy 8 google-bigquery google-compute-engine google-cloud-platform gcloud google-cloud-resource-manager

在 Google Cloud Platform (GCP) 中,您可以使用列表 API 或命令列出给定项目中给定服务中给定类型的资源,例如 BigQuery 数据集或计算实例。

但如何跨类型、服务甚至项目查找或搜索资源呢?

Cir*_*rcy 12

您可以使用搜索所有资源跨服务(或 API)和项目搜索给定组织、文件夹或项目的所有资源。

搜索编号为123的项目中的所有资源:

$ gcloud asset search-all-resources --scope=projects/123
Run Code Online (Sandbox Code Playgroud)

仅限制计算资源:

$ gcloud asset search-all-resources --scope=projects/123 --query="compute.googleapis.com"
Run Code Online (Sandbox Code Playgroud)

限制为仅包含“foo”作为子字符串的资源:

$ gcloud asset search-all-resources --scope=projects/123 --query="*foo*"
Run Code Online (Sandbox Code Playgroud)

列出组织456内的所有项目:

$ gcloud asset search-all-resources --scope=organizations/456 --asset-types=cloudresourcemanager.googleapis.com/Project
Run Code Online (Sandbox Code Playgroud)

要查找组织 456 内包含“foo”作为子字符串的所有 BigQuery 数据集:

$ gcloud asset search-all-resources --scope=organizations/456 --query="bigquery datasets *foo*"
Run Code Online (Sandbox Code Playgroud)

您可以将范围设置为项目、文件夹或组织。

要使用该命令,您必须:

  • 启用云资产 API,并且

  • 拥有cloudasset.assets.searchAllResources对范围的许可,该范围包含在这些角色中:

    • 角色/cloudasset.viewer
    • 角色/cloudasset.owner
    • 角色/观众
    • 角色/编辑
    • 角色/所有者

文档: