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 ser ativada no o projeto do qual 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 de que você pretende 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. Esta é a permissão necessária para cada ContentType na solicitação:

Tipo de conteúdo Permissão
gcloud name Nome 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 em Como configurar permissões. página.

Listar recursos

Para listar recursos e seus relacionamentos em um projeto, pasta ou organização em 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 deles

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 cujos recursos você quer listar.

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

  • SNAPSHOT_TIME: opcional. A hora em que você quer capturar um snapshot dos seus recursos. O valor deve ser o hora atual ou uma hora não superior a 35 dias no passado. Quando não fornecido, um snapshot é capturado no momento atual. Para 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 cuja que você quer listar.

    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 Alternador na barra de menus.
    3. Clique na caixa Selecionar de e escolha a organização.
    4. Pesquise o nome da sua pasta. O ID da pasta é mostrado ao lado do nome dela.

    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 o A opção --format para mais informações sobre as pastas encontradas.

    Para receber o ID de uma pasta dentro de outra, 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 suporte. Se a expressão regular não corresponder a nenhum tipo de recurso com suporte, um erro INVALID_ARGUMENT será retornado.

  • SNAPSHOT_TIME: opcional. O momento em que você quer tirar um snapshot dos seus recursos. O valor deve ser o hora atual ou uma hora não superior a 35 dias no passado. Quando não fornecido, um snapshot é capturado no momento atual. Para informações sobre formatos de tempo, consulte Datas e horas no gcloud.

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 cujos recursos você deseja listar.

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

    Console

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

    1. Acesse o console do Google Cloud.

      Acessar 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 é mostrado 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))"

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

  • SNAPSHOT_TIME: opcional. A hora em que você quer capturar um snapshot dos seus recursos. O valor precisa ser a hora atual ou um horário com no máximo 35 dias no passado. Quando não fornecido, um snapshot é capturado no momento atual. Para informações sobre formatos de tempo, consulte Datas e horas no gcloud.

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 suporte. Se a expressão regular não corresponder a nenhum recurso compatível tipo, será retornado um erro INVALID_ARGUMENT.

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

  • PAGE_TOKEN: opcional. Respostas de solicitação longas são separados em várias páginas. Esse par de chave-valor não é necessário para o primeira página. No entanto, as páginas subsequentes podem ser chamadas usando a função resposta nextPageToken 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 de controle no console do Google Cloud.

        Ir para o painel

      2. Clique na caixa do seletor na barra de menus.
      3. Escolha sua organização na caixa Selecionar de e pesquise as nome do projeto.
      4. Clique no nome do projeto para alternar para ele. O número do projeto é mostrado 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.

        Acessar o console do Google Cloud

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

      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 o A opção --format para mais informações sobre as pastas encontradas.

      Para receber 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 de organização do Google Cloud

      Console

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

      1. Acesse o console do Google Cloud.

        Acessar 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 é mostrado 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))"

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

Listar relações específicas em um projeto, pasta ou 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 cujo que você quer listar.

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

Remova a sinalização --relationship-types para listar todos os relacionamentos 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 cuja que você quer listar.

    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.

      Acessar o console do Google Cloud

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

    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 o A opção --format para mais informações sobre as pastas encontradas.

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

    gcloud resource-manager folders list --folder=FOLDER_ID

  • SNAPSHOT_TIME: opcional. A hora em que você quer capturar um snapshot dos seus recursos. O valor deve ser o hora atual ou uma hora não superior a 35 dias no passado. Quando não fornecido, um snapshot é capturado no momento atual. Para informações sobre formatos de tempo, consulte Datas e horas no gcloud.

Remova a sinalização --relationship-types para listar todos os relacionamentos em um do Compute Engine.

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 cujos recursos você deseja listar.

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

    Console

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

    1. Acesse o console do Google Cloud.

      Acessar 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 é mostrado ao lado do nome da organização.

    CLI da gcloud

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

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

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

Remova a sinalização --relationship-types para listar todos os relacionamentos 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 tirar um snapshot dos seus recursos no formato RFC 3339. O valor precisa ser a hora atual ou um horário com no máximo 35 dias no passado. Quando não é fornecido, um snapshot é capturado no momento atual.

  • PAGE_TOKEN: opcional. Respostas de solicitação longas são separados em várias páginas. Esse par de chave-valor não é necessário para o primeira página. No entanto, as páginas subsequentes podem ser chamadas usando a função resposta nextPageToken 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 de controle no console do Google Cloud.

        Ir para o painel

      2. Clique na caixa do seletor na barra de menus.
      3. Escolha sua organização na caixa Selecionar de e pesquise as nome do projeto.
      4. Clique no nome do projeto para alternar para ele. O número do projeto é mostrado 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.

        Acessar o console do Google Cloud

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

      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 o A opção --format para mais informações sobre as pastas encontradas.

      Para receber 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 de organização do Google Cloud

      Console

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

      1. Acesse o console do Google Cloud.

        Acessar 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 é mostrado 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))"

Remova o par de chave-valor relationshipTypes para listar todos os relacionamentos em um projeto.