Como pesquisar recursos

A API Cloud Asset permite usar uma linguagem de consulta personalizada para consultar metadados de recursos em um projeto, pasta ou organização.

Antes de começar

Recursos de pesquisa

Console

Para pesquisar todos os recursos, conclua as etapas a seguir.

  1. Acesse a página Inventário de recursos no console do Google Cloud.

    Acessar o inventário de recursos

  2. Para definir o escopo da pesquisa, abra a caixa de lista Projetos na barra de menus e selecione a organização, a pasta ou o projeto a ser consultado.

  3. Selecione a guia Recurso.

  4. Para pesquisar recursos, insira o texto da consulta na barra Filtro. Selecione a caixa de texto e, em seguida, uma lista de campos pesquisáveis será exibida. A pesquisa de recursos é compatível com vários campos. Saiba mais sobre a sintaxe de consulta.

  5. Os resultados da pesquisa também podem ser filtrados com os filtros predefinidos Tipo de recurso, Projeto e Local no painel Resultados do filtro..

Os recursos correspondentes à consulta são listados na tabela Resultado.

Para exibir a consulta como um comando da Google Cloud CLI, selecione Ver consulta.

Para exportar os resultados, selecione Fazer o download do CSV.

gcloud

É possível chamar SearchAllResources usando o comando gcloud asset search-all-resources. Você precisa executar a Google Cloud CLI versão 302.0.0 ou mais recente. Confira a versão com o comando 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

Forneça os valores a seguir:

  • SCOPE: obrigatório. Um escopo pode ser um projeto, uma pasta ou uma organização. A pesquisa é limitada aos recursos do Google Cloud neste escopo. O autor da chamada precisa receber a permissão cloudasset.assets.searchAllResources no escopo selecionado. Se não for especificada, a propriedade do projeto configurada será usada.

    Os valores permitidos são:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      Como encontrar um número de projeto do Google Cloud

      Console

      Para encontrar um número de projeto do Google Cloud, siga estas etapas:

      1. Acesse a página Painel no console do Google Cloud.

        Ir para o painel

      2. Clique na caixa do seletor na barra de menus.
      3. Selecione a organização na caixa Selecionar de e pesquise o nome do projeto.
      4. Clique no nome do projeto para alternar para ele. O número do projeto é mostrado no card Informações do projeto.

      CLI da gcloud

      Recupere um número de projeto do Google Cloud com o seguinte comando:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      Como encontrar um ID de pasta do Google Cloud

      Console

      Para encontrar um ID de pasta do Google Cloud, siga estas etapas:

      1. Acesse o console do Google Cloud.

        Acesse o console do Google Cloud

      2. Clique na caixa do seletor na barra de menus.
      3. Clique na caixa Selecionar de e escolha sua organização.
      4. Pesquise o nome da pasta. O ID é exibido ao lado do nome da pasta.

      CLI da gcloud

      Para recuperar um ID de pasta do Google Cloud localizado no nível da organização, use o seguinte comando:

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

      Em que TOP_LEVEL_FOLDER_NAME pode ser uma correspondência de string completa ou parcial. Remova a opção --format para conferir mais informações sobre as pastas encontradas.

      Para ver o ID de uma pasta dentro de outra, liste as subpastas:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Como encontrar um ID da organização do Google Cloud

      Console

      Para encontrar um ID da organização do Google Cloud, siga estas etapas:

      1. Acesse o console do Google Cloud.

        Acesse o console do Google Cloud

      2. Clique na caixa do seletor na barra de menus.
      3. Clique na caixa Selecionar de e escolha sua organização.
      4. Selecione a guia Todos. O ID é exibido ao lado do nome da organização.

      CLI da gcloud

      Recupere um ID da organização do Google Cloud com o seguinte comando:

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

  • QUERY: opcional. A instrução de consulta. Consulte Sintaxe de consulta para mais informações. Se não for especificado ou estiver vazio, ele pesquisa todos os recursos no scope especificado.

    Exemplos:

    • name:Important para encontrar recursos do Google Cloud com a palavra Important no nome.

    • name=Important para encontrar o recurso do Google Cloud cujo nome é exatamente Important.

    • displayName:Impor* para encontrar recursos do Google Cloud com um nome de exibição que contenha Impor como um prefixo de qualquer palavra.

    • location:us-west* para encontrar recursos do Google Cloud com local que tenha duas palavras, com us e west como prefixos.

    • labels:prod para encontrar recursos do Google Cloud que tenham um rótulo em que a chave ou o valor contém a palavra prod.

    • labels.env:prod para encontrar recursos do Google Cloud que tenham um rótulo em que a chave é env e o valor contém a palavra prod.

    • labels.env:* para encontrar recursos do Google Cloud que tenham um rótulo em que a chave é env.

    • tagKeys:env para encontrar recursos do Google Cloud diretamente anexados a tags em que TagKey.namespacedName contém env.

    • tagKeyIds=tagKeys/123 para encontrar recursos do Google Cloud que estão diretamente anexados a tags em que TagKey.name é exatamente tagKeys/123.

    • tagValues:prod* para encontrar recursos do Google Cloud anexados diretamente a tags em que TagValue.namespacedName contém uma palavra prefixada por prod.

    • tagValueIds=tagValues/123 para encontrar recursos do Google Cloud que estão diretamente anexados a tags em que TagValue.name é exatamente tagValues/123.

    • effectiveTagKeys:env para encontrar recursos do Google Cloud diretamente anexados ou que herdam tags em que TagKey.namespacedName contém env.

    • effectiveTagKeyIds=tagKeys/123 para encontrar recursos do Google Cloud que são diretamente anexados ou herdam tags em que TagKey.name é exatamente tagKeys/123.

    • effectiveTagValues:prod* para encontrar recursos do Google Cloud anexados diretamente ou que herdam tags em que TagValue.namespacedName contém uma palavra com o prefixo prod.

    • effectiveTagValueIds=tagValues/123 para encontrar recursos do Google Cloud que são diretamente anexados ou herdam tags em que TagValue.name é exatamente tagValues/123.

    • kmsKeys:key para encontrar recursos do Google Cloud criptografados com chaves de criptografia gerenciadas pelo cliente com a palavra key no nome.

    • relationships:instance-group-1 para encontrar recursos do Google Cloud que tenham relacionamentos com instance-group-1 no nome do recurso relacionado.

    • relationships:INSTANCE_TO_INSTANCEGROUP para encontrar instâncias do Compute Engine que tenham relacionamentos do tipo INSTANCE_TO_INSTANCEGROUP.

    • relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1 para encontrar instâncias do Compute Engine que tenham relacionamentos com instance-group-1 no nome do recurso do grupo de instâncias do Compute Engine, para o tipo de relacionamento INSTANCE_TO_INSTANCEGROUP.

    • state:ACTIVE para encontrar recursos do Google Cloud cujo estado contém ACTIVE como uma palavra.

    • NOT state:ACTIVE para encontrar recursos do Google Cloud cujo estado não contenha ACTIVE como uma palavra.

    • createTime<1609459200 ou createTime<2021-01-01 ou createTime<"2021-01-01T00:00:00" para encontrar recursos do Google Cloud que foram criados antes de 2021-01-01 00:00:00 UTC. 1609459200 é o carimbo de data/hora da época em segundos de 2021-01-01 00:00:00 UTC.

    • updateTime>1609459200 ou updateTime>2021-01-01 ou updateTime>"2021-01-01T00:00:00" para encontrar recursos do Google Cloud que foram atualizados após 2021-01-01 00:00:00 UTC. 1609459200 é o carimbo de data/hora da época em segundos de 2021-01-01 00:00:00 UTC.

    • project:12345 para encontrar recursos do Google Cloud que pertencem a um projeto do Google Cloud com o número 12345.

    • folders:(123 or 456) para encontrar recursos do Google Cloud que pertencem a uma pasta do Google Cloud com os números 123 ou 456.

    • organization:123 para encontrar recursos do Google Cloud que pertencem a uma organização do Google Cloud com o número 123.

    • parentFullResourceName:ImportantName para encontrar recursos do Google Cloud com um nome pai que contém ImportantName.

    • parentAssetType:Project para encontrar recursos do Google Cloud cujo tipo de recurso pai contenha Project.

    • Important para encontrar recursos do Google Cloud que contenham a palavra Important em qualquer um dos campos pesquisáveis.

    • Impor* para encontrar recursos do Google Cloud que contenham Impor como um prefixo de qualquer palavra em qualquer um dos campos pesquisáveis.

    • Important location:(us-west1 OR global) para encontrar recursos do Google Cloud que contenham a palavra Important em qualquer um dos campos pesquisáveis e também estejam localizados na região us-west1 ou no local global.

  • ASSET_TYPE: opcional. Uma lista de tipos de recurso que esta solicitação pesquisa. Se estiver vazio, ela vai pesquisar todos os tipos de recursos pesquisáveis. As expressões regulares compatíveis com RE2 são compatíveis. Se a expressão regular não corresponder a nenhum tipo de recurso compatível, um erro INVALID_ARGUMENT será retornado.

  • ORDER_BY: opcional. Uma lista de campos separada por vírgulas que especifica a ordem de classificação dos resultados. A ordem padrão é crescente. Adicione DESC após o nome do campo para indicar a ordem decrescente. Caracteres de espaço redundantes são ignorados. Exemplo: "location DESC, name". Somente campos primitivos singulares na resposta são classificáveis:

    • name

    • assetType

    • project

    • displayName

    • description

    • location

    • createTime

    • updateTime

    • state

    • parentFullResourceName

    • parentAssetType

    Todos os outros campos, como campos repetidos (por exemplo, networkTags e kmsKeys), campos de mapa (por exemplo, labels) e campos struct (por exemplo, additionalAttributes), não são aceitos.

  • READ_MASK: opcional. Uma lista de campos separada por vírgulas que especifica quais deles vão ser retornados nos resultados. Se não for especificado, todos os campos, exceto versionedResources, serão retornados. Se apenas "*" for especificado, todos os campos serão retornados. Exemplos: "name,location", "name,versionedResources", "*".

    Os campos a seguir serão retornados por padrão se --read-mask não for especificado:

    • name

    • assetType

    • project

    • folders

    • organization

    • displayName

    • description

    • location

    • labels

    • tags

    • networkTags

    • kmsKeys

    • createTime

    • updateTime

    • state

    • additionalAttributes

    • parentFullResourceName

    • parentAssetType

    Alguns campos de tamanho grande, como versionedResources, attachedResources e effectiveTags, não são retornados por padrão, mas é possível especificá-los no parâmetro --read-mask se quiser incluí-los. Se "*" for especificado, todos os campos disponíveis serão retornados. Exemplos: "name,location,effectiveTags", "name,versionedResources", "*".

Veja a seguir exemplos de comandos gcloud:

  • Encontre todos os recursos em organizations/123456 que tenham name com a palavra mycompany:

    gcloud asset search-all-resources \
        --scope=organizations/123456 \
        --query="name:mycompany"
    
  • Encontre todos os recursos em organizations/123456 que tenham name com a palavra mycompany, com metadados completos incluídos:

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

REST

Chame SearchAllResources usando um token OAuth válido para um projeto. Para chamar o método SearchAllResources do Cloud Shell ou de qualquer console em que o comando gcloud esteja disponível:

  1. Se você ainda não configurou a tela de consentimento do OAuth do seu projeto, é preciso fazer isso. É necessário informar um endereço de e-mail e o nome do produto para essa tela.

    1. Acesse a página Tela de permissão OAuth do seu projeto.

      Acessar a tela de permissão OAuth

    2. Digite o Nome do aplicativo que você quer exibir.

    3. Em E-mail de suporte, selecione o endereço de e-mail que você quer exibir como um contato público. Precisa ser seu endereço de e-mail ou um grupo do Google que seja seu.

    4. Adicione os detalhes opcionais que você quiser.

    5. Clique em Salvar.

  2. Crie um token OAuth para seu projeto. Consulte Como configurar o OAuth 2.0 para mais informações.

    1. Acesse a página Criar ID do cliente OAuth.

      Acessar "Criar ID do cliente OAuth"

    2. Selecione App para computador como o Tipo de aplicativo.

    3. Clique em Criar.

    4. Faça o download do arquivo client_secret.json.

    5. Acesse a página Credenciais.

      Ir para Credenciais

    6. À direita do novo ID do cliente, clique em Fazer o download do JSON.

    7. Armazene com segurança o arquivo em um local que somente o app possa acessar.

  3. Faça login usando o arquivo JSON com o seguinte comando:

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

    Esse comando solicita que você abra um link. Verifique se a página mostra o Nome do aplicativo que você definiu na tela de permissão OAuth.

  4. Agora é possível consultar recursos usando os comandos do 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
    

    Forneça os valores a seguir:

    • ASSET_TYPE: opcional. Uma lista de tipos de recurso que esta solicitação pesquisa. Se estiver vazio, ela vai pesquisar todos os tipos de recursos pesquisáveis. As expressões regulares são aceitas. Se a expressão regular não corresponder a nenhum tipo de recurso compatível, um erro INVALID_ARGUMENT será retornado.

    • ORDER_BY: opcional. Uma lista de campos separados por vírgulas que especifica a ordem de classificação dos resultados. A ordem padrão é crescente. Adicione " DESC" após o nome do campo para indicar a ordem decrescente. Caracteres de espaço redundantes são ignorados. Exemplo: "location DESC, name". Somente os campos primitivos singulares na resposta são classificáveis:

      • name

      • assetType

      • project

      • displayName

      • description

      • location

      • createTime

      • updateTime

      • state

      • parentFullResourceName

      • parentAssetType

      Não há suporte para todos os outros campos, como campos repetidos (por exemplo, networkTags, kmsKeys), campos de mapa (por exemplo, labels) e campos struct (por exemplo, additionalAttributes).

    • PAGE_SIZE: opcional. O número de resultados a serem retornados por página. O valor máximo é 500. Se o valor for definido como 0 ou um valor negativo, um padrão apropriado será selecionado. Um nextPageToken é retornado para recuperar os resultados subsequentes.

    • QUERY: opcional. A instrução de consulta. Consulte Sintaxe de consulta para mais informações. Se não for especificado ou estiver vazio, ele pesquisa todos os recursos no scope especificado.

      Exemplos:

      • name:Important para encontrar recursos do Google Cloud cujo nome contenha a palavra "Importante".

      • name=Important para encontrar o recurso do Google Cloud cujo nome é exatamente "Importante".

      • displayName:Impor* para encontrar recursos do Google Cloud com um nome de exibição que contenha "Impor" como prefixo de qualquer palavra.

      • location:us-west* para encontrar recursos do Google Cloud em que o local contenha "us" e "west" como prefixos.

      • labels:prod para encontrar recursos do Google Cloud que tenham um rótulo em que a chave ou o valor contém a palavra "prod".

      • labels.env:prod para encontrar recursos do Google Cloud que tenham um rótulo em que a chave é "env" e o valor contém a palavra "prod".

      • labels.env:* para encontrar recursos do Google Cloud que tenham um rótulo em que a chave é "env".

      • tagKeys:env para encontrar recursos do Google Cloud diretamente anexados a tags em que TagKey.namespacedName contém "env".

      • tagKeyIds=tagKeys/123 para encontrar recursos do Google Cloud que estão diretamente anexados a tags em que TagKey.name é exatamente "tagKeys/123".

      • tagValues:prod* para encontrar recursos do Google Cloud anexados diretamente a tags em que TagValue.namespacedName contém uma palavra prefixada por "prod".

      • tagValueIds=tagValues/123 para encontrar recursos do Google Cloud anexados diretamente a tags em que TagValue.name é exatamente "tagValues/123".

      • effectiveTagKeys:env para encontrar recursos do Google Cloud diretamente anexados ou que herdam tags em que TagKey.namespacedName contém env.

      • effectiveTagKeyIds=tagKeys/123 para encontrar recursos do Google Cloud que são diretamente anexados ou herdam tags em que TagKey.name é exatamente tagKeys/123.

      • effectiveTagValues:prod* para encontrar recursos do Google Cloud anexados diretamente ou que herdam tags em que TagValue.namespacedName contém uma palavra com o prefixo prod.

      • effectiveTagValueIds=tagValues/123 para encontrar recursos do Google Cloud que são diretamente anexados ou herdam tags em que TagValue.name é exatamente tagValues/123.

      • kmsKey:key para encontrar recursos do Google Cloud criptografados com uma chave de criptografia gerenciada pelo cliente com key como uma palavra no nome. O uso desse campo foi descontinuado. Use o campo kmsKeys para recuperar informações da chave do Cloud KMS.

      • kmsKeys:key para encontrar recursos do Google Cloud criptografados com chaves de criptografia gerenciadas pelo cliente com a palavra "chave" no nome.

      • relationships:instance-group-1 para encontrar recursos do Google Cloud que tenham relacionamentos com instance-group-1 no nome do recurso relacionado.

      • relationships:INSTANCE_TO_INSTANCEGROUP para encontrar instâncias do Compute Engine que tenham relacionamentos do tipo INSTANCE_TO_INSTANCEGROUP.

      • relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1 para encontrar instâncias do Compute Engine que tenham relacionamentos com instance-group-1 no nome do recurso do grupo de instâncias do Compute Engine, para o tipo de relacionamento INSTANCE_TO_INSTANCEGROUP.

      • state:ACTIVE para encontrar recursos do Google Cloud em que o estado contenha "ACTIVE" como palavra.

      • NOT state:ACTIVE para encontrar recursos do Google Cloud cujo estado não contenha "ACTIVE" como uma palavra.

      • createTime<1609459200, createTime<2021-01-01 ou createTime<"2021-01-01T00:00:00" para encontrar recursos do Google Cloud criados antes de 2021-01-01 00:00:00 UTC. 1609459200 é o carimbo de data/hora da época em segundos de 2021-01-01 00:00:00 UTC.

      • updateTime>1609459200 ou updateTime>2021-01-01 ou updateTime>"2021-01-01T00:00:00" para encontrar recursos do Google Cloud que foram atualizados após 2021-01-01 00:00:00 UTC. 1609459200 é o carimbo de data/hora da época em segundos de 2021-01-01 00:00:00 UTC.

      • project:12345 para encontrar recursos do Google Cloud que pertencem a um projeto com o número 12345.

      • folders:(123 or 456) para encontrar recursos do Google Cloud que pertencem a uma pasta do Google Cloud com os números 123 ou 456.

      • organization:123 para encontrar recursos do Google Cloud que pertencem a uma organização do Google Cloud com o número 123.

      • parentFullResourceName:ImportantName para encontrar recursos do Google Cloud com um nome pai que contém ImportantName.

      • parentAssetType:Project para encontrar recursos do Google Cloud cujo tipo de recurso pai contém Project.

      • Important para encontrar recursos do Google Cloud que contenham a palavra "Importante" em qualquer um dos campos pesquisáveis.

      • Impor* para encontrar recursos do Google Cloud que contêm "Impor" como prefixo de qualquer palavra em qualquer um dos campos pesquisáveis.

      • Important location:(us-west1 OR global) para encontrar recursos do Google Cloud que contenham a palavra Important em qualquer um dos campos pesquisáveis e que também estejam localizados na região us-west1 ou no local global.

    • READ_MASK: opcional. Uma lista de campos separados por vírgulas que especifica quais campos serão retornados nos resultados. Se não for especificado, todos os campos, exceto versionedResources, serão retornados. Se apenas "*" for especificado, todos os campos serão retornados. Exemplos: "name,location", "name,versionedResources", "*".

      Os campos a seguir serão retornados por padrão se read_mask não for especificado:

      • name

      • assetType

      • project

      • folders

      • organization

      • displayName

      • description

      • location

      • labels

      • tags

      • networkTags

      • kmsKeys

      • createTime

      • updateTime

      • state

      • additionalAttributes

      • parentFullResourceName

      • parentAssetType

      Alguns campos de tamanho grande, como versionedResources, attachedResources e effectiveTags, não são retornados por padrão, mas é possível especificá-los no parâmetro read_mask se quiser incluí-los. Se "*" for especificado, todos os campos disponíveis serão retornados. Exemplos: "name,location,effectiveTags", "name,versionedResources", "*".

    • SCOPE: um escopo pode ser um projeto, uma pasta ou uma organização. A pesquisa é limitada aos recursos do Google Cloud neste escopo. O autor da chamada precisa receber a permissão cloudasset.assets.searchAllResources no escopo selecionado. Se não for especificada, a propriedade do projeto configurada será usada.

      Os valores permitidos são:

      • projects/PROJECT_ID

      • projects/PROJECT_NUMBER

        Como encontrar um número de projeto do Google Cloud

        Console

        Para encontrar um número de projeto do Google Cloud, siga estas etapas:

        1. Acesse a página Painel no console do Google Cloud.

          Ir para o painel

        2. Clique na caixa do seletor na barra de menus.
        3. Selecione a organização na caixa Selecionar de e pesquise o nome do projeto.
        4. Clique no nome do projeto para alternar para ele. O número do projeto é mostrado no card Informações do projeto.

        CLI da gcloud

        Recupere um número de projeto do Google Cloud com o seguinte comando:

        gcloud projects describe PROJECT_ID --format="value(projectNumber)"

      • folders/FOLDER_ID

        Como encontrar um ID de pasta do Google Cloud

        Console

        Para encontrar um ID de pasta do Google Cloud, siga estas etapas:

        1. Acesse o console do Google Cloud.

          Acesse o console do Google Cloud

        2. Clique na caixa do seletor na barra de menus.
        3. Clique na caixa Selecionar de e escolha sua organização.
        4. Pesquise o nome da pasta. O ID é exibido ao lado do nome da pasta.

        CLI da gcloud

        Para recuperar um ID de pasta do Google Cloud localizado no nível da organização, use o seguinte comando:

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

        Em que TOP_LEVEL_FOLDER_NAME pode ser uma correspondência de string completa ou parcial. Remova a opção --format para conferir mais informações sobre as pastas encontradas.

        Para ver o ID de uma pasta dentro de outra, liste as subpastas:

        gcloud resource-manager folders list --folder=FOLDER_ID

      • organizations/ORGANIZATION_ID

        Como encontrar um ID da organização do Google Cloud

        Console

        Para encontrar um ID da organização do Google Cloud, siga estas etapas:

        1. Acesse o console do Google Cloud.

          Acesse o console do Google Cloud

        2. Clique na caixa do seletor na barra de menus.
        3. Clique na caixa Selecionar de e escolha sua organização.
        4. Selecione a guia Todos. O ID é exibido ao lado do nome da organização.

        CLI da gcloud

        Recupere um ID da organização do Google Cloud com o seguinte comando:

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

Biblioteca de cliente e referência de API

Como criar uma consulta

Consulte a sintaxe de consulta para saber mais sobre a linguagem de consulta.

Consulte como pesquisar amostras de recursos para saber mais sobre as consultas de amostra para vários casos de uso reais.

Consultar recursos do Cloud por campos de metadados do recurso

Para pesquisar metadados de recursos, uma expressão de consulta tem os seguintes formatos:

  • Correspondência exata do texto:

    FIELD=QUERY

  • Correspondência parcial de texto:

    FIELD:QUERY

  • Correspondência numérica: operadores de comparação (=, >, >=, <, <=)

    FIELDcomparison operatorQUERY

Os metadados de recursos pesquisáveis FIELD podem ser:

  • name: o nome completo do recurso do recurso. Observação: nem todos os tipos de recurso são pesquisáveis. Consulte a lista de tipos pesquisáveis.

  • displayName: o nome de exibição na UI.

  • description:a descrição em texto do recurso em um ou mais parágrafos.

  • location: a localização do recurso. O local pode ser global, regional (por exemplo, us-east1) ou zonal (por exemplo, us-west1-b).

  • labels: rótulos associados a este recurso. Os rótulos podem corresponder a chaves, valores ou ambos. Consulte Como rotular e agrupar recursos do Google Cloud Platform.

  • labels.[key]: valor do rótulo identificado pela chave do rótulo associada a este recurso. Por exemplo, labels.env:prod. Somente hifens (-), sublinhados (_), caracteres minúsculos e números são permitidos nas chaves de rótulos. As chaves precisam começar com uma letra minúscula. Caracteres internacionais são permitidos. Consulte Requisitos de rótulos.

  • tagKeys::TagKey.namespacedName das tags diretamente anexadas a este recurso.

  • tagKeyIds:TagKey.name das tags diretamente anexadas a esse recurso.

  • tagValues::TagValue.namespacedName das tags diretamente anexadas a esse recurso.

  • tagValueIds:TagValue.name das tags diretamente anexadas a esse recurso.

  • effectiveTagKeys:TagKey.namespacedName das tags diretamente anexadas ou herdadas a esse recurso.

  • effectiveTagKeyIds:TagKey.name das tags diretamente anexadas ou herdadas a esse recurso.

  • effectiveTagValues:TagValue.namespacedName das tags diretamente anexadas ou herdadas a esse recurso.

  • effectiveTagValueIds:TagValue.name das tags diretamente anexadas ou herdadas a esse recurso.

  • networkTags:tags de rede associadas a este recurso. Consulte Como rotular e agrupar recursos do Google Cloud Platform.

  • kmsKey:a chave de criptografia gerenciada pelo cliente usada para criptografar o recurso. O uso desse campo foi descontinuado. Use o campo kmsKeys para recuperar informações da chave do Cloud KMS. Consulte CryptoKey e CryptoKeyVersion.

  • kmsKeys:as chaves de criptografia gerenciadas pelo cliente usadas para criptografar esse recurso. Consulte CryptoKey e CryptoKeyVersion.

  • relacionamentos: os relacionamentos associados a este recurso. As relações podem corresponder ao tipo de relação, ao nome do recurso relacionado ou a ambos. Consulte Tipos de relacionamento compatíveis.

  • relationships.[relationship_type]:: o nome do recurso relacionado a um tipo de recurso específico associado a ele. Por exemplo, relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1. Consulte Tipos de relacionamento compatíveis.

  • sccSecurityMarks:o conteúdo real das marcas de segurança do Security Command Center associadas ao recurso. Por exemplo, sccSecurityMarks.foo:bar. Consulte Tipos de recursos compatíveis com o Security Command Center.

  • state: o valor textual do estado do recurso. Diferentes tipos de recursos têm diferentes definições de estado que são mapeadas de vários campos de diferentes tipos de recursos. Exemplo: se o recurso for uma instância fornecida pelo Compute Engine, o estado vai incluir PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING e TERMINATED. Consulte a definição de status na Referência da API. Se o recurso for um projeto fornecido pelo Cloud Resource Manager, o estado dele incluirá LIFECYCLE_STATE_UNSPECIFIED, ACTIVE, DELETE_REQUESTED e DELETE_IN_PROGRESS. Consulte a definição de lifecycleState na Referência da API.

  • createTime: o carimbo de data/hora de criação do recurso, em que o recurso foi criado. A granularidade está em segundos.

  • updateTime: o carimbo de data/hora da última atualização desse recurso, em que o recurso foi modificado ou excluído pela última vez. A granularidade está em segundos.

  • projeto: o número do projeto a que esse recurso pertence.

  • folders: o número das pastas às quais o recurso pertence.

  • organização:o número da organização a que este recurso pertence.

  • parentFullResourceName: o nome do pai desse recurso.

  • parentAssetType:o tipo do pai desse recurso.

Exemplos: consulta por campo específico

  • Localize todos os recursos no scope em que name contém a palavra Important:

    name:Important
    
  • Encontre todos os recursos em scope que tenham displayName com uma palavra com o prefixo prod:

    displayName:prod*
    
  • Encontre todos os recursos no scope em que location contém a palavra us:

    location:us
    
  • Encontre todos os recursos em scope em que location seja exatamente igual a us:

    location=us
    
  • Encontre todos os recursos no scope que tenham tags anexadas diretamente com TagKey.namespacedName contendo a palavra env:

    tagKeys:env
    
  • Encontre todos os recursos no scope que tenham tags anexadas diretamente com TagKey.name exatamente igual a tagKeys/123:

    tagKeyIds=tagKeys/123
    
  • Encontre todos os recursos no scope que tenham tags anexadas diretamente com TagValue.namespacedName contendo uma palavra prefixada por prod:

    tagValues:prod*
    
  • Encontre todos os recursos no scope que tenham tags anexadas diretamente com TagValue.name exatamente igual a tagValues/123:

    tagValueIds=tagValues/123
    
  • Encontre todos os recursos no scope que tenham tags anexadas diretamente com TagValue.namespacedName.

    tagValues:*
    
  • Encontre todos os recursos no scope que têm tags diretamente anexadas ou herdadas com TagKey.namespacedName contendo a palavra env:

    effectiveTagKeys:env
    
  • Encontre todos os recursos no scope que tenham tags diretamente anexadas ou herdadas com TagKey.name exatamente igual a tagKeys/123:

    effectiveTagKeyIds=tagKeys/123
    
  • Encontre todos os recursos no scope que têm tags diretamente anexadas ou herdadas com TagValue.namespacedName contendo uma palavra prefixada por prod:

    effectiveTagValues:prod*
    
  • Encontre todos os recursos no scope que tenham tags diretamente anexadas ou herdadas com TagValue.name exatamente igual a tagValues/123:

    effectiveTagValueIds=tagValues/123
    
  • Encontre todos os recursos no scope que tenham tags diretamente anexadas ou herdadas com TagValue.namespacedName.

    effectivetagValues:*
    
  • Encontre todos os recursos no scope que tenham um label em que a chave ou o valor contenha a palavra prod:

    labels:prod
    
  • Encontre todos os recursos no scope que tenham uma label em que a chave é env e o valor contém a palavra prod:

    labels.env:prod
    
  • Encontre todos os recursos no scope que tenham uma label em que a chave é env e o valor exatamente igual a prod:

    labels.env=prod
    
  • Encontre todos os recursos no scope que têm um label em que a chave é env:

    labels.env:*
    
  • Encontre todos os recursos no scope em que o networkTags contém a palavra internal:

    networkTags:internal
    
  • Localize todos os recursos na scope que têm um networkTags igual exatamente internal:

    networkTags=internal
    
  • Encontre todos os recursos no scope que têm relacionamentos com instance-group-1 no nome do recurso relacionado:

    relationships:instance-group-1
    
  • Encontre instâncias de computação no scope que tenham relacionamentos do tipo INSTANCE_TO_INSTANCEGROUP:

    relationships:INSTANCE_TO_INSTANCEGROUP
    
  • Encontre instâncias de computação em scope que tenham relações com instance-group-1 no nome do recurso do grupo de instâncias de computação, para o tipo de relacionamento INSTANCE_TO_INSTANCEGROUP:

    relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1
    
  • Encontre todos os recursos no scope em que kmsKeys contém a palavra key:

    kmsKeys:key
    
  • Encontre todos os recursos em scope em que kmsKeys seja exatamente igual a key:

    kmsKeys=key
    
  • Encontre todos os recursos em scope que tenham sccSecurityMarks com o par de chave-valor exato (key, value):

    sccSecurityMarks.key=value
    
  • Encontre todos os recursos em scope em que sccSecurityMarks contenha o par de chave-valor em que a chave é key:

    sccSecurityMarks.key:*
    
  • Encontre todos os recursos no scope em que state contém a palavra ACTIVE:

    state:ACTIVE
    
  • Encontre todos os recursos no scope em que state não contém a palavra ACTIVE:

    NOT state:ACTIVE
    
  • Encontre todos os recursos em scope que foram criados antes de 2021-01-01 00:00:00 UTC (1609459200 é o carimbo de data/hora da época em segundos de 2021-01-01 00:00:00 UTC):

    createTime<1609459200
    createTime<2021-01-01
    createTime<"2021-01-01T00:00:00"
    
  • Encontre todos os recursos no scope que foram atualizados após 2021-01-01 00:00:00 UTC (1609459200 é o carimbo de data/hora da época em segundos de 2021-01-01 00:00:00 UTC):

    updateTime>1609459200
    updateTime>2021-01-01
    updateTime>"2021-01-01T00:00:00"
    
  • Encontre todos os recursos no scope em que project tem o número 123:

    project:123
    
  • Encontre todos os recursos em scope contidos em folder com o número 123:

    folders:123
    
  • Encontre todos os recursos no scope em que organization tem o número 123:

    organization:123
    
  • Encontre todos os recursos no scope em que parentFullResourceName contém ImportantName:

    parentFullResourceName:ImportantName
    
  • Encontre todos os recursos no scope em que parentAssetType contém Project:

    parentAssetType:Project
    
  • Encontre todos os recursos em scope em que name contenha a palavra Important e description contenha uma palavra com o prefixo import:

    name:Important description:import*
    
  • Encontre todos os recursos em scope que tenham name com a palavra Important ou description com uma palavra com o prefixo import:

    name:Important OR description:import*
    

Consultar recursos do Cloud por texto livre

Também é possível simplesmente usar uma consulta de texto livre sem especificar um campo. Em seguida, ele retorna recursos, desde que haja um campo nos metadados do recurso que corresponda à consulta.

Exemplos: consulta por texto livre

  • Encontre todos os recursos no scope com campos de metadados (por exemplo, name, displayName, description) que tenham a palavra Important:

    Important
    
  • Encontre todos os recursos em scope com campos de metadados (por exemplo, name, displayName, description) que tenham uma palavra com o prefixo import:

    import*
    
  • Encontre todos os recursos em scope com campos de metadados (por exemplo, name, displayName, description) que tenham a palavra Important e também uma palavra com o prefixo prod:

    Important prod*