Como listar recursos

Nesta página, mostramos como usar o serviço de lista de recursos do Inventário de recursos do Cloud. Use a API Cloud Asset Inventory para visualizar uma lista paginada dos recursos em um determinado carimbo de data/hora.

Antes de começar

  1. Ative a API Cloud Asset antes de usar a Google Cloud CLI para acessar o Inventário de recursos do Cloud. A API só precisa estar ativada no projeto em que você está executando os comandos da API Cloud Asset.

    Ativar a API Cloud Asset Inventory

  2. Instale a Google Cloud CLI no cliente local.

  3. Verifique se a conta tem um dos papéis a seguir no projeto ou na organização em que você vai listar recursos.

    • roles/cloudasset.viewer

    • roles/cloudasset.owner

Configurar uma conta

Para chamar a API Cloud Asset, sua conta precisa receber a permissão correspondente no recurso raiz (pai), que é um projeto ou uma organização que contém os recursos que você quer listar. Veja a seguir a permissão necessária para cada ContentType na solicitação:

Tipo de conteúdo Permissão
Nome da gcloud Nome da REST
access-policy ACCESS_POLICY cloudasset.assets.listAccessPolicy
content-type-unspecified CONTENT_TYPE_UNSPECIFIED cloudasset.assets.listResource
iam-policy IAM_POLICY cloudasset.assets.listIamPolicy
org-policy ORG_POLICY cloudasset.assets.listOrgPolicy
os-inventory OS_INVENTORY cloudasset.assets.listOSInventories
relationship RELATIONSHIP cloudasset.assets.listResource
resource RESOURCE cloudasset.assets.listResource

Se sua conta tiver recebido os papéis de Visualizador do Cloud Asset (roles/cloudasset.viewer), Proprietário do Cloud Asset (roles/cloudasset.owner) ou o papel básico de Proprietário (roles/owner) na raiz de recursos, ela já terá permissões suficientes para chamar a API Cloud Asset. Caso contrário, siga as etapas na página Como configurar permissões.

Listar recursos

Para listar recursos e os relacionamentos deles em um projeto, pasta ou organização em um determinado momento usando a API Cloud Asset, faça uma das solicitações a seguir.

Listar recursos em um projeto, pasta ou organização, incluindo todos os metadados de recursos

gcloud

Projetos

gcloud asset list \
    --project=PROJECT_ID \
    --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
    --content-type=resource \
    --snapshot-time="SNAPSHOT_TIME"

Forneça os valores a seguir:

  • PROJECT_ID: o ID do projeto com os recursos que você quer listar.

  • ASSET_TYPE: opcional. Uma lista separada por vírgulas de tipos de recursos pesquisáveis. Há suporte para expressões regulares compatíveis com RE2 (em inglês). Se a expressão regular não corresponder a nenhum tipo de recurso compatível, o erro INVALID_ARGUMENT será retornado.

  • SNAPSHOT_TIME: opcional. O horário em que você quer tirar um snapshot dos seus recursos. O valor precisa ser o horário atual ou um horário não superior a 35 dias no passado. Quando não é fornecido, um snapshot é capturado no momento atual. Para mais informações sobre formatos de hora, consulte gcloud topic datetimes.

Remova a sinalização --content-type para excluir metadados de recursos.

Pastas

Listar recursos em uma pasta, incluindo todos os metadados de recursos

gcloud asset list \
    --folder=FOLDER_ID \
    --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
    --content-type=resource \
    --snapshot-time="SNAPSHOT_TIME"

Forneça os valores a seguir:

  • FOLDER_ID: o ID da pasta com os recursos que você quer listar.

    Como encontrar um ID de pasta do Google Cloud

    Console

    Para encontrar um ID da 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 ver mais informações sobre as pastas encontradas.

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

    gcloud resource-manager folders list --folder=FOLDER_ID

  • ASSET_TYPE: opcional. Uma lista separada por vírgulas de tipos de recursos pesquisáveis. As expressões regulares são compatíveis. Se a expressão regular não corresponder a nenhum tipo de recurso compatível, o erro INVALID_ARGUMENT será retornado.

  • SNAPSHOT_TIME: opcional. O horário em que você quer tirar um snapshot dos seus recursos. O valor precisa ser o horário atual ou um horário não superior a 35 dias no passado. Quando não é fornecido, um snapshot é capturado no momento atual. Para mais informações sobre formatos de hora, consulte gcloud topic datetimes.

Remova a sinalização --content-type para excluir metadados de recursos.

Organizações

Listar recursos em uma organização, incluindo todos os metadados de recursos

gcloud asset list \
    --organization=ORGANIZATION_ID \
    --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
    --content-type=resource \
    --snapshot-time="SNAPSHOT_TIME"

Forneça os valores a seguir:

  • ORGANIZATION_ID: o ID da organização com os recursos que você quer listar.

    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

    É possível recuperar um ID da organização do Google Cloud com o seguinte comando:

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

  • ASSET_TYPE: opcional. Uma lista separada por vírgulas de tipos de recursos pesquisáveis. As expressões regulares são compatíveis. Se a expressão regular não corresponder a nenhum tipo de recurso compatível, o erro INVALID_ARGUMENT será retornado.

  • SNAPSHOT_TIME: opcional. O horário em que você quer tirar um snapshot dos seus recursos. O valor precisa ser o horário atual ou um horário não superior a 35 dias no passado. Quando não é fornecido, um snapshot é capturado no momento atual. Para mais informações sobre formatos de hora, consulte gcloud topic datetimes.

Remova a sinalização --content-type para excluir metadados de recursos.

REST

curl -X POST \
     -H "X-HTTP-Method-Override: GET" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "contentType": "RESOURCE",
          "assetTypes": [
            "ASSET_TYPE_1",
            "ASSET_TYPE_2",
            "..."
          ],
          "readTime": "SNAPSHOT_TIME",
          "pageToken": "PAGE_TOKEN"
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE/assets

Forneça os valores a seguir:

  • ASSET_TYPE: opcional. Uma matriz de tipos de recursos pesquisáveis. As expressões regulares são compatíveis. Se a expressão regular não corresponder a nenhum tipo de recurso compatível, o erro INVALID_ARGUMENT será retornado.

  • SNAPSHOT_TIME: opcional. O horário em que você quer criar um snapshot dos seus recursos, no formato RFC 3339. O valor precisa ser a hora atual ou um horário não superior a 35 dias no passado. Quando não é fornecido, um snapshot é capturado no momento atual.

  • PAGE_TOKEN: opcional. Respostas de solicitação longas são separadas em várias páginas. Esse par de chave-valor não é necessário para a primeira página. No entanto, as páginas subsequentes podem ser chamadas usando o nextPageToken da resposta anterior aqui.

  • SCOPE: um escopo pode ser um projeto, uma pasta ou uma organização.

    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. Escolha 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

      É possível recuperar 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 da 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 ver mais informações sobre as pastas encontradas.

      Para obter o ID de uma pasta dentro de outra pasta, 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

      É possível recuperar um ID da organização do Google Cloud com o seguinte comando:

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

Remova o par de chave-valor contentType para excluir os metadados de recursos.

Listar relacionamentos específicos em um projeto, uma pasta ou uma organização

gcloud

Projetos

gcloud asset list \
    --project=PROJECT_ID \
    --content-type=relationship \
    --relationship-types=INSTANCE_TO_INSTANCEGROUP \
    --snapshot-time="SNAPSHOT_TIME"

Forneça os valores a seguir:

  • PROJECT_ID: o ID do projeto com os recursos que você quer listar.

  • SNAPSHOT_TIME: opcional. O horário em que você quer tirar um snapshot dos seus recursos. O valor precisa ser o horário atual ou um horário não superior a 35 dias no passado. Quando não é fornecido, um snapshot é capturado no momento atual. Para mais informações sobre formatos de hora, consulte gcloud topic datetimes.

Remova a sinalização --relationship-types para listar todas as relações em um projeto.

Pastas

gcloud asset list \
    --folder=FOLDER_ID \
    --content-type=relationship \
    --relationship-types=INSTANCE_TO_INSTANCEGROUP \
    --snapshot-time="SNAPSHOT_TIME"

Forneça os valores a seguir:

  • FOLDER_ID: o ID da pasta com os recursos que você quer listar.

    Como encontrar um ID de pasta do Google Cloud

    Console

    Para encontrar um ID da 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 ver mais informações sobre as pastas encontradas.

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

    gcloud resource-manager folders list --folder=FOLDER_ID

  • SNAPSHOT_TIME: opcional. O horário em que você quer tirar um snapshot dos seus recursos. O valor precisa ser o horário atual ou um horário não superior a 35 dias no passado. Quando não é fornecido, um snapshot é capturado no momento atual. Para mais informações sobre formatos de hora, consulte gcloud topic datetimes.

Remova a sinalização --relationship-types para listar todas as relações em uma pasta.

Organizações

gcloud asset list \
    --organization=ORGANIZATION_ID \
    --content-type=relationship \
    --relationship-types=INSTANCE_TO_INSTANCEGROUP \
    --snapshot-time="SNAPSHOT_TIME"

Forneça os valores a seguir:

  • ORGANIZATION_ID: o ID da organização com os recursos que você quer listar.

    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

    É possível recuperar um ID da organização do Google Cloud com o seguinte comando:

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

  • SNAPSHOT_TIME: opcional. O horário em que você quer tirar um snapshot dos seus recursos. O valor precisa ser o horário atual ou um horário não superior a 35 dias no passado. Quando não é fornecido, um snapshot é capturado no momento atual. Para mais informações sobre formatos de hora, consulte gcloud topic datetimes.

Remova a sinalização --relationship-types para listar todas as relações em uma organização.

REST

curl -X POST \
     -H "X-HTTP-Method-Override: GET" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "contentType": "RELATIONSHIP",
          "relationshipTypes": "INSTANCE_TO_INSTANCEGROUP",
          "readTime": "SNAPSHOT_TIME",
          "pageToken": "PAGE_TOKEN"
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE/assets

Forneça os valores a seguir:

  • SNAPSHOT_TIME: opcional. O horário em que você quer criar um snapshot dos seus recursos, no formato RFC 3339. O valor precisa ser a hora atual ou um horário não superior a 35 dias no passado. Quando não é fornecido, um snapshot é capturado no momento atual.

  • PAGE_TOKEN: opcional. Respostas de solicitação longas são separadas em várias páginas. Esse par de chave-valor não é necessário para a primeira página. No entanto, as páginas subsequentes podem ser chamadas usando o nextPageToken da resposta anterior aqui.

  • SCOPE: um escopo pode ser um projeto, uma pasta ou uma organização.

    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. Escolha 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

      É possível recuperar 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 da 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 ver mais informações sobre as pastas encontradas.

      Para obter o ID de uma pasta dentro de outra pasta, 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

      É possível recuperar um ID da organização do Google Cloud com o seguinte comando:

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

Remova o par de chave-valor relationshipTypes para listar todas as relações em um projeto.