搜索资源

借助 Cloud Asset API,您可以使用自定义查询语言来查询项目、文件夹或组织的资源元数据。

准备工作

搜索资源

控制台

如需搜索所有资源,请完成以下步骤。

  1. 前往 Google Cloud 控制台中的 Asset Inventory 页面。

    前往“Asset Inventory”

  2. 要设置搜索范围,请打开菜单栏中的“项目”列表框,然后选择要查询的组织、文件夹或项目。

  3. 选择资源标签页。

  4. 如需搜索资源,请在过滤条件栏中输入查询文本。选择文本框,然后系统会显示可搜索字段的列表。资源搜索支持多个字段。详细了解查询语法

  5. 搜索结果也可以按过滤结果窗格中预定义的资源类型项目位置过滤条件进行过滤。

结果表中会列出与查询匹配的资源。

如需以 Google Cloud CLI 命令的形式来查看查询,请选择查看查询

如需导出结果,请选择下载 CSV

gcloud

您可以使用 gcloud asset search-all-resources 命令调用 SearchAllResources。您必须运行 Google Cloud CLI 302.0.0 或更新版本。您可以使用 gcloud version 命令检查版本。

gcloud asset search-all-resources \
    --scope=SCOPE \
    --query=QUERY \
    --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
    --order-by=ORDER_BY \
    --read-mask=READ_MASK

请提供以下值:

  • SCOPE:必填。范围可以是项目、文件夹或组织。搜索范围仅限于此范围内的 Google Cloud 资源。必须向调用方授予所选范围的 cloudasset.assets.searchAllResources 权限。如果未指定,系统会使用已配置的项目属性

    允许使用的值包括:

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

  • QUERY:可选。查询语句。如需了解详情,请参阅查询语法。 如果未指定或为空,则会搜索指定 scope 中的所有资源。

    示例:

    • name:Important,用于查找名称中包含 Important 一词的 Google Cloud 资源。

    • name=Important,用于查找名称正好为 Important 的 Google Cloud 资源。

    • displayName:Impor*,用于查找显示名称包含 Impor 作为任意字词前缀的 Google Cloud 资源。

    • location:us-west*,用于查找位置包含两个以 uswest 为前缀的单词的 Google Cloud 资源。

    • labels:prod,用于查找键或值包含 prod 一词的标签的 Google Cloud 资源。

    • labels.env:prod,用于查找具有标签且键为 env 且值包含 prod 一词的 Google Cloud 资源。

    • labels.env:*,用于查找具有标签且键为 env 的 Google Cloud 资源。

    • tagKeys:env,用于查找直接附加到标记的 Google Cloud 资源(其中 TagKey.namespacedName 包含 env)。

    • tagKeyIds=tagKeys/123,用于查找直接附加到标记(其中 TagKey.name 正好为 tagKeys/123)的 Google Cloud 资源。

    • tagValues:prod*,用于查找直接附加到标记的 Google Cloud 资源,其中 TagValue.namespacedName 包含以 prod 为前缀的字词。

    • tagValueIds=tagValues/123,用于查找直接附加到标记(其中 TagValue.name 正好为 tagValues/123)的 Google Cloud 资源。

    • effectiveTagKeys:env,用于查找直接附加到或继承在 TagKey.namespacedName 包含 env 的标记中的 Google Cloud 资源。

    • effectiveTagKeyIds=tagKeys/123,用于查找直接附加到或继承 TagKey.nametagKeys/123 的标记的 Google Cloud 资源。

    • effectiveTagValues:prod*,用于查找直接附加到或继承标记(其中 TagValue.namespacedName 包含以 prod 为前缀的字词)的 Google Cloud 资源。

    • effectiveTagValueIds=tagValues/123,用于查找直接附加到或继承 TagValue.nametagValues/123 的标记的 Google Cloud 资源。

    • kmsKeys:key,用于查找使用客户管理的加密密钥(名称中包含 key 一词)加密的 Google Cloud 资源。

    • relationships:instance-group-1,用于查找与相关资源名称中的 instance-group-1 有关系的 Google Cloud 资源。

    • relationships:INSTANCE_TO_INSTANCEGROUP,用于查找关系类型为 INSTANCE_TO_INSTANCEGROUP 的 Compute Engine 实例。

    • relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1,用于查找与 Compute Engine 实例组资源名称中的 instance-group-1 有关系的 Compute Engine 实例(对于关系类型 INSTANCE_TO_INSTANCEGROUP)。

    • state:ACTIVE,用于查找状态包含 ACTIVE 一词的 Google Cloud 资源。

    • NOT state:ACTIVE,用于查找状态不包含 ACTIVE 一词的 Google Cloud 资源。

    • createTime<1609459200createTime<2021-01-01createTime<"2021-01-01T00:00:00",用于查找在 2021-01-01 00:00:00 UTC 之前创建的 Google Cloud 资源。16094592002021-01-01 00:00:00 UTC 的纪元时间戳(以秒为单位)。

    • updateTime>1609459200updateTime>2021-01-01updateTime>"2021-01-01T00:00:00",用于查找在 2021-01-01 00:00:00 UTC 之后更新的 Google Cloud 资源。16094592002021-01-01 00:00:00 UTC 的纪元时间戳(以秒为单位)。

    • project:12345,用于查找属于编号为 12345 的 Google Cloud 项目的 Google Cloud 资源。

    • folders:(123 or 456),用于查找属于编号为 123456 的 Google Cloud 文件夹的 Google Cloud 资源。

    • organization:123,用于查找属于编号为 123 的 Google Cloud 组织的 Google Cloud 资源。

    • parentFullResourceName:ImportantName,查找其父级名称中包含 ImportantName 的 Google Cloud 资源。

    • parentAssetType:Project,用于查找父级资源类型包含 Project 的 Google Cloud 资源。

    • Important,用于查找任何可搜索字段中包含 Important 一词的 Google Cloud 资源。

    • Impor*,用于查找任何可搜索字段中任何字词的前缀 Impor 的 Google Cloud 资源。

    • Important location:(us-west1 OR global),用于查找任何可搜索字段中包含 Important 一词且也位于 us-west1 区域或 global 位置的 Google Cloud 资源。

  • ASSET_TYPE:可选。此请求搜索的资源类型列表。如果为空,则搜索所有可搜索的素材资源类型。支持与 RE2 兼容的正则表达式。如果正则表达式与任何受支持的资源类型都不匹配,系统会返回 INVALID_ARGUMENT 错误。

  • ORDER_BY:可选。以英文逗号分隔的字段列表,用于指定结果的排序顺序。默认顺序是升序。在字段名称后面添加 DESC 以表示降序。多余空格会被忽略。示例:"location DESC, name"。只有响应中的单数原始字段可排序:

    • name

    • assetType

    • project

    • displayName

    • description

    • location

    • createTime

    • updateTime

    • state

    • parentFullResourceName

    • parentAssetType

    重复字段(例如 networkTagskmsKeys)、映射字段(例如 labels)和结构体字段(例如 additionalAttributes)等其他字段不受支持。

  • READ_MASK:可选。以英文逗号分隔的字段列表,指定要在结果中返回的字段。如果未指定,则系统会返回除 versionedResources 之外的所有字段。如果仅指定 "*",则返回所有字段。示例:"name,location""name,versionedResources""*"

    如果未指定 --read-mask,系统会默认返回以下字段:

    • name

    • assetType

    • project

    • folders

    • organization

    • displayName

    • description

    • location

    • labels

    • tags

    • networkTags

    • kmsKeys

    • createTime

    • updateTime

    • state

    • additionalAttributes

    • parentFullResourceName

    • parentAssetType

    默认情况下,系统不会返回某些较大的字段(例如 versionedResourcesattachedResourceseffectiveTags),但如果您想包含这些字段,可以在 --read-mask 参数中指定这些字段。如果指定了 "*",系统会返回所有可用字段。示例:"name,location,effectiveTags""name,versionedResources""*"

以下是一个示例 gcloud 命令:

  • 查找 organizations/123456name 包含 mycompany 一词的所有资源:

    gcloud asset search-all-resources \
        --scope=organizations/123456 \
        --query="name:mycompany"
    
  • 查找 organizations/123456name 包含 mycompany 一词且包含完整元数据的所有资源:

    gcloud asset search-all-resources \
        --scope=organizations/123456 \
        --query="name:mycompany" \
        --read-mask="name,versionedResources"
    

REST

您可以使用项目的有效 OAuth 令牌调用 SearchAllResources。要从 Cloud Shell 或可使用 gcloud 命令的任何控制台调用 SearchAllResources 方法,请执行以下操作:

  1. 如果您尚未配置项目的 OAuth 同意屏幕,则需要执行此操作。OAuth 同意屏幕需要电子邮件地址和产品名称。

    1. 转到项目的 OAuth 同意屏幕页面。

      转到 OAuth 同意屏幕

    2. 输入您要显示的应用名称

    3. 支持电子邮件地址下,选择要显示为公开联系人的电子邮件地址。这必须是您的电子邮件地址或您拥有的某个 Google 群组。

    4. 根据需要添加任何可选详细信息。

    5. 点击保存

  2. 为您的项目创建 OAuth 令牌。如需了解详情,请参阅设置 OAuth 2.0

    1. 前往创建 OAuth 客户端 ID 页面。

      前往“创建 OAuth 客户端 ID”

    2. 选择桌面应用作为应用类型

    3. 点击创建

    4. 下载 client_secret.json 文件。

    5. 转到凭据页面。

      进入“凭据”页面

    6. 在新客户端 ID 的右侧,点击 下载 JSON

    7. 将文件安全地存储在只有您的应用可以访问的位置。

  3. 通过以下命令使用 JSON 文件登录。

    gcloud auth application-default login --client-id-file=YOUR_JSON_FILE
    

    此命令会提示您打开链接。确保该页面显示了您在 OAuth 同意屏幕中设置的应用名称

  4. 您现在可以使用 curl 命令查询资源。

    curl -X POST \
         -H "X-HTTP-Method-Override: GET" \
         -H "Authorization: Bearer $(gcloud auth print-access-token)" \
         -H "Content-Type: application/json" \
         -d '{
              "assetTypes": [
                "ASSET_TYPE_1",
                "ASSET_TYPE_2",
                "..."
              ],
              "orderBy": "ORDER_BY",
              "pageSize": PAGE_SIZE,
              "query": "QUERY",
              "readMask": "READ_MASK"
             }' \
         https://cloudasset.googleapis.com/v1/SCOPE:searchAllIamPolicies
    

    请提供以下值:

    • ASSET_TYPE:可选。此请求搜索的资源类型列表。如果为空,则搜索所有可搜索的素材资源类型。支持正则表达式。如果正则表达式与任何受支持的资源类型都不匹配,则会返回 INVALID_ARGUMENT 错误。

    • ORDER_BY:可选。以英文逗号分隔的字段列表,用于指定结果的排序顺序。默认顺序为升序。在字段名称后面添加 " DESC" 以指示降序。多余空格会被忽略。示例:"location DESC, name"。响应中只有单一原始字段是可排序的:

      • name

      • assetType

      • project

      • displayName

      • description

      • location

      • createTime

      • updateTime

      • state

      • parentFullResourceName

      • parentAssetType

      重复字段(例如 networkTagskmsKeys)、映射字段(例如 labels)和结构体字段(例如 additionalAttributes)等其他字段不受支持。

    • PAGE_SIZE:可选。每页返回的结果数。最大值是 500。如果值设为 0 或负值,将选择相应的默认值。系统会返回 nextPageToken 以检索后续结果。

    • QUERY:可选。查询语句。如需了解详情,请参阅查询语法。如果未指定或为空,则会搜索指定 scope 中的所有资源。

      示例:

      • name:Important,查找名称包含“Important”一词的 Google Cloud 资源。

      • name=Important,查找名称正好为“Important”的 Google Cloud 资源。

      • displayName:Impor*,以查找显示名包含“Impor”作为任何词前缀的 Google Cloud 资源。

      • location:us-west*,用于查找位置同时包含“us”和“west”为前缀的 Google Cloud 资源。

      • labels:prod,查找所含标签的键或值包含“prod”一词的 Google Cloud 资源。

      • labels.env:prod,查找所含标签的键为“env”且值包含“prod”的 Google Cloud 资源。

      • labels.env:*,查找所含标签的键为“env”的 Google Cloud 资源。

      • tagKeys:env,用于查找直接关联到 TagKey.namespacedName 包含“env”的标记的 Google Cloud 资源。

      • tagKeyIds=tagKeys/123,用于查找直接附加到标记的 Google Cloud 资源,其中 TagKey.name 恰好是“tagKeys/123”。

      • tagValues:prod*,用于查找直接附加到标记的 Google Cloud 资源,其中 TagValue.namespacedName 包含以“prod”为前缀的字词。

      • tagValueIds=tagValues/123,用于查找直接附加到标记的 Google Cloud 资源,其中 TagValue.name 恰好是“tagValues/123”。

      • effectiveTagKeys:env,用于查找直接附加到或继承在 TagKey.namespacedName 包含 env 的标记中的 Google Cloud 资源。

      • effectiveTagKeyIds=tagKeys/123,用于查找直接附加到或继承 TagKey.nametagKeys/123 的标记的 Google Cloud 资源。

      • effectiveTagValues:prod*,用于查找直接附加到或继承标记(其中 TagValue.namespacedName 包含以 prod 为前缀的字词)的 Google Cloud 资源。

      • effectiveTagValueIds=tagValues/123,用于查找直接附加到或继承 TagValue.nametagValues/123 的标记的 Google Cloud 资源。

      • kmsKey:key,用于查找使用客户管理的加密密钥(名称中包含 key 这个词)加密的 Google Cloud 资源。此字段已弃用。请使用 kmsKeys 字段检索 Cloud KMS 密钥信息。

      • kmsKeys:key,用于查找使用客户管理的加密密钥(名称中包含“key”一词)加密的 Google Cloud 资源。

      • relationships:instance-group-1,用于查找与相关资源名称中的 instance-group-1 有关系的 Google Cloud 资源。

      • relationships:INSTANCE_TO_INSTANCEGROUP,用于查找关系类型为 INSTANCE_TO_INSTANCEGROUP 的 Compute Engine 实例。

      • relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1,用于查找与 Compute Engine 实例组资源名称中的 instance-group-1 有关系的 Compute Engine 实例(对于关系类型 INSTANCE_TO_INSTANCEGROUP)。

      • state:ACTIVE,查找状态包含“ACTIVE”这个词的 Google Cloud 资源。

      • NOT state:ACTIVE,用于查找状态中不包含“ACTIVE”一词的 Google Cloud 资源。

      • createTime<1609459200createTime<2021-01-01createTime<"2021-01-01T00:00:00",用于查找在 2021-01-01 00:00:00 UTC 之前创建的 Google Cloud 资源。16094592002021-01-01 00:00:00 UTC 的纪元时间戳(以秒为单位)。

      • updateTime>1609459200updateTime>2021-01-01updateTime>"2021-01-01T00:00:00",用于查找在 2021-01-01 00:00:00 UTC 之后更新的 Google Cloud 资源。16094592002021-01-01 00:00:00 UTC 的纪元时间戳(以秒为单位)。

      • project:12345,查找属于编号为 12345 的 Google Cloud 项目的 Google Cloud 资源。

      • folders:(123 or 456),查找属于编号为 123 或 456 的 Google Cloud 文件夹的 Google Cloud 资源。

      • organization:123,查找属于编号为 123 的 Google Cloud 组织的 Google Cloud 资源。

      • parentFullResourceName:ImportantName,查找其父级名称中包含 ImportantName 的 Google Cloud 资源。

      • parentAssetType:Project,用于查找父级资产类型包含 Project 的 Google Cloud 资源。

      • Important,查找任何可搜索字段中包含一词“Important”的 Google Cloud 资源。

      • Impor*,以查找包含以“Impr”作为任何可搜索字段中任何词前缀的 Google Cloud 资源。

      • Important location:(us-west1 OR global),用于查找任何可搜索字段中包含 Important 一词且也位于 us-west1 区域或 global 位置的 Google Cloud 资源。

    • READ_MASK:可选。以英文逗号分隔的字段列表,用于指定要在结果中返回的字段。如果未指定,则系统会返回除 versionedResources 之外的所有字段。如果仅指定了 "*",则返回所有字段。示例:"name,location""name,versionedResources""*"

      如果未指定 read_mask,系统会默认返回以下字段:

      • name

      • assetType

      • project

      • folders

      • organization

      • displayName

      • description

      • location

      • labels

      • tags

      • networkTags

      • kmsKeys

      • createTime

      • updateTime

      • state

      • additionalAttributes

      • parentFullResourceName

      • parentAssetType

      默认情况下,系统不会返回某些较大的字段(例如 versionedResourcesattachedResourceseffectiveTags),但如果需要包含这些字段,您可以在 read_mask 参数中指定这些字段。如果指定了 "*",系统会返回所有可用字段。示例:"name,location,effectiveTags""name,versionedResources""*"

    • SCOPE:范围可以是项目、文件夹或组织。搜索范围仅限于此范围内的 Google Cloud 资源。必须向调用方授予所选范围的 cloudasset.assets.searchAllResources 权限。如果未指定,系统会使用已配置的项目属性

      允许使用的值包括:

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

客户端库和 API 参考文档

如何构建查询

如需详细了解查询语言,请参阅查询语法

如需详细了解各种实际用例的查询示例,请参阅搜索资源示例

按资源元数据字段查询 Google Cloud 资源

如需搜索资源元数据,查询表达式需采用以下格式:

  • 文字完全匹配:

    FIELD=QUERY

  • 文字部分匹配:

    FIELD:QUERY

  • 数值匹配:比较运算符(=>>=<<=

    FIELDcomparison operatorQUERY

可搜索的资源元数据 FIELD 可以是:

  • name:资源的完整资源名称。注意:并非所有资产类型都可搜索。请参阅可搜索类型列表。

  • displayName::界面上的显示名。

  • description:一个或多个段落中的资源的文本说明。

  • location:资源的位置。位置可以是 global、区域级(例如 us-east1)或可用区级(例如 us-west1-b)。

  • labels:与此资源关联的标签。标签可以与标签键和/或标签值匹配。请参阅为 Google Cloud Platform 资源添加标签和分组

  • labels.[key]::由与此资源关联的标签键标识的标签值。例如:labels.env:prod。标签键中只能使用连字符 (-)、下划线 (_)、小写字符和数字。键必须以小写字符开头。允许使用国际字符。请参阅标签要求

  • tagKeys::直接附加到此资源的标记的 TagKey.namespacedName

  • tagKeyIds:直接附加到此资源的标记的 TagKey.name

  • tagValues::直接附加到此资源的标记的 TagValue.namespacedName

  • tagValueIds:直接附加到此资源的标记的 TagValue.name

  • effectiveTagKeys:直接附加或继承到此资源的标记的 TagKey.namespacedName

  • effectiveTagKeyIds:直接附加到或继承到此资源的标记的 TagKey.name

  • effectiveTagValues:直接附加或继承到此资源的标记的 TagValue.namespacedName

  • effectiveTagValueIds:直接附加或继承到此资源的标记的 TagValue.name

  • networkTags:与此资源关联的网络标记。请参阅为 Google Cloud Platform 资源添加标签和分组

  • kmsKey:用于加密此资源的客户管理的加密密钥。此字段已弃用。请使用 kmsKeys 字段检索 Cloud KMS 密钥信息。请参阅 CryptoKeyCryptoKeyVersion

  • kmsKeys:用于加密此资源的客户管理的加密密钥。请参阅 CryptoKeyCryptoKeyVersion

  • relationships:与此资源关联的关系。关系可以匹配关系类型和/或相关资源名称。请参阅支持的关系类型

  • relationships.[relationship_type]::与此资源关联的特定资源类型的相关资源名称。例如:relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1。请参阅支持的关系类型

  • sccSecurityMarks:与资产关联的 Security Command Center 安全标记的实际内容。例如:sccSecurityMarks.foo:bar。请参阅 Security Command Center 支持的资产类型

  • state::此资源的状态的文本值。不同的资源类型具有不同的状态定义,这些状态定义从不同资源类型的各种字段映射。示例:如果资源是 Compute Engine 提供的实例,则其状态包括 PROVISIONINGSTAGINGRUNNINGSTOPPINGSUSPENDINGSUSPENDEDREPAIRINGTERMINATED。请参阅 API 参考文档中的 status 定义。如果资源是 Cloud Resource Manager 提供的项目,则其状态包括 LIFECYCLE_STATE_UNSPECIFIEDACTIVEDELETE_REQUESTEDDELETE_IN_PROGRESS。请参阅 API 参考文档中的 lifecycleState 定义。

  • createTime::该资源的创建时间戳,创建资源的时间。粒度是秒。

  • updateTime::此资源的上次更新时间戳,即上次修改或删除资源时的时间。粒度是秒。

  • project:此资源所属项目的编号。

  • folders:此资源所属文件夹的数量。

  • organization:此资源所属的组织的编号。

  • parentFullResourceName:此资源的父级名称。

  • parentAssetType:此资源的父项类型。

示例:按特定字段查询

  • scope 中查找 name 包含 Important 一词的所有资源:

    name:Important
    
  • 查找 scopedisplayName 包含前缀为 prod 的字词的所有资源:

    displayName:prod*
    
  • scope 中查找 location 包含 us 一词的所有资源:

    location:us
    
  • scope 中查找 location 恰好等于 us 的所有资源:

    location=us
    
  • 查找 scope 中直接附加了包含 env 一词的 TagKey.namespacedName 标记的所有资源:

    tagKeys:env
    
  • 查找 scope 中具有直接附加的标记(TagKey.name 正好等于 tagKeys/123)的所有资源:

    tagKeyIds=tagKeys/123
    
  • 查找 scope 中直接附加了标记且 TagValue.namespacedName 包含以 prod 为前缀的字词的所有标记的资源:

    tagValues:prod*
    
  • 查找 scope 中具有直接附加的标记(TagValue.name 正好等于 tagValues/123)的所有资源:

    tagValueIds=tagValues/123
    
  • 查找 scope 中具有直接附加的标记(使用 TagValue.namespacedName)的所有资源。

    tagValues:*
    
  • 查找 scope 中直接附加或继承的标记中包含 env 一词的 TagKey.namespacedName 的所有资源:

    effectiveTagKeys:env
    
  • 查找 scope 中具有直接附加或继承的标记(TagKey.name 正好等于 tagKeys/123)的所有资源:

    effectiveTagKeyIds=tagKeys/123
    
  • 查找 scope 中直接附加或继承的标记(其 TagValue.namespacedName 中包含以 prod 为前缀的字词)的所有资源:

    effectiveTagValues:prod*
    
  • 查找 scope 中具有直接附加或继承的标记(TagValue.name 正好等于 tagValues/123)的所有资源:

    effectiveTagValueIds=tagValues/123
    
  • 使用 TagValue.namespacedName 查找 scope 中具有直接附加或继承的标记的所有资源。

    effectivetagValues:*
    
  • 查找 scope 中键或值包含 prod 一词的 label 的所有资源:

    labels:prod
    
  • 在您的 scope 中查找具有 label 且键为 env 且值包含 prod 一词的所有资源:

    labels.env:prod
    
  • 在您的 scope 中查找具有 label 且键为 env 且值恰好等于 prod 的所有资源:

    labels.env=prod
    
  • 查找 scope 中具有 label 且键为 env 的所有资源:

    labels.env:*
    
  • scope 中查找其中一个 networkTags 包含 internal 一词的所有资源:

    networkTags:internal
    
  • scope 中查找其中一个 networkTags 恰好等于 internal 的所有资源:

    networkTags=internal
    
  • scope 中查找与相关资源名称中的 instance-group-1 有关系的所有资源:

    relationships:instance-group-1
    
  • scope 中查找具有 INSTANCE_TO_INSTANCEGROUP 类型关系的计算实例:

    relationships:INSTANCE_TO_INSTANCEGROUP
    
  • 对于关系类型 INSTANCE_TO_INSTANCEGROUP,在 scope 中查找与计算实例组资源名称中的 instance-group-1 有关系的计算实例:

    relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1
    
  • scope 中查找 kmsKeys 包含 key 一词的所有资源:

    kmsKeys:key
    
  • scope 中查找 kmsKeys 恰好等于 key 的所有资源:

    kmsKeys=key
    
  • scope 中查找 sccSecurityMarks 包含确切键值对 (key, value) 的所有资源:

    sccSecurityMarks.key=value
    
  • scope 中查找 sccSecurityMarks 包含键为 key 的键值对的所有资源:

    sccSecurityMarks.key:*
    
  • scope 中查找 state 包含 ACTIVE 一词的所有资源:

    state:ACTIVE
    
  • scope 中查找 state 不包含 ACTIVE 一词的所有资源:

    NOT state:ACTIVE
    
  • 查找 scope 中在 2021-01-01 00:00:00 UTC 之前创建的所有资源(16094592002021-01-01 00:00:00 UTC 的纪元时间戳,以秒为单位):

    createTime<1609459200
    createTime<2021-01-01
    createTime<"2021-01-01T00:00:00"
    
  • 查找 scope 中在 2021-01-01 00:00:00 UTC1609459200 是纪元时间戳,以 2021-01-01 00:00:00 UTC 的秒数表示)之后更新的所有资源:

    updateTime>1609459200
    updateTime>2021-01-01
    updateTime>"2021-01-01T00:00:00"
    
  • scope 中查找 project 的编号为 123 的所有资源:

    project:123
    
  • 查找包含在 folder 中的 scope 中编号为 123 的所有资源:

    folders:123
    
  • scope 中查找 organization 的编号为 123 的所有资源:

    organization:123
    
  • scope 中查找 parentFullResourceName 包含 ImportantName 的所有资源:

    parentFullResourceName:ImportantName
    
  • scope 中查找 parentAssetType 包含 Project 的所有资源:

    parentAssetType:Project
    
  • 查找 scopename 包含 Importantdescription 包含前缀为 import 的字词的所有资源:

    name:Important description:import*
    
  • 查找 scopename 包含 Importantdescription 包含前缀为 import 的字词的所有资源:

    name:Important OR description:import*
    

通过自由文本查询 Google Cloud 资源

您也可以直接使用自由文本查询,而不指定字段。然后,只要资源元数据中存在与查询匹配的字段,它就会返回资源。

示例:按自由文本查询

  • 查找 scope 中元数据字段(例如 namedisplayNamedescription)包含字词 Important 的所有资源:

    Important
    
  • scope 中查找其元数据字段(例如 namedisplayNamedescription)包含前缀为 import 的字词的所有资源:

    import*
    
  • scope 中查找其元数据字段(例如 namedisplayNamedescription)包含单词 Important 且还包含前缀为 prod 的字词的所有资源:

    Important prod*