É possível listar seus recursos em projetos, pastas ou organizações do Google Cloud .
Antes de começar
Ative a API Cloud Asset Inventory no projeto em que você está executando os comandos do Inventário de recursos do Cloud.
Verifique se sua conta tem a função correta para chamar a API Cloud Asset Inventory. Para permissões individuais de cada tipo de chamada, consulte Permissões.
Limitações
Ao listar dados de tabela do BigQuery, nem todos os campos são compatíveis.
Os campos de recursos que mudam com frequência nos metadados do BigQuery, como
numBytes
,numLongTermBytes
,numPhysicalBytes
enumRows
, recebem valoresnull
.
Listar seus recursos
Console
Só é possível ver recursos com o RESOURCE
tipo de conteúdo no console do Google Cloud . Para conferir outros tipos de conteúdo ou filtrar por critérios mais precisos, use a CLI gcloud, REST ou uma biblioteca de cliente.
Para listar os metadados de recursos do seu projeto, pasta ou organização, siga estas etapas:
-
No console Google Cloud , acesse a página Inventário de recursos.
- Mude para o projeto, a pasta ou a organização em que você quer listar recursos.
- Clique na guia Recurso.
- No painel Filtrar resultados, selecione os tipos de recursos, projetos ou locais para filtrar os resultados.
- Para ver os metadados de um recurso, clique no nome de exibição dele no painel de resultados.
gcloud
gcloud asset list \ --SCOPE \ --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \ --content-type=CONTENT_TYPE \ --relationship-types=RELATIONSHIP_TYPE_1,RELATIONSHIP_TYPE_2,... \ --snapshot-time="SNAPSHOT_TIME"
Forneça os valores a seguir:
-
SCOPE
: use um dos seguintes valores:-
project=PROJECT_ID
, em quePROJECT_ID
é o ID do projeto que tem o recurso que você quer recuperar. -
folder=FOLDER_ID
, em queFOLDER_ID
é o ID da pasta que tem o recurso que você quer recuperar.Como encontrar o ID de uma Google Cloud pasta
Google Cloud console
Para encontrar o ID de uma pasta do Google Cloud , siga estas etapas:
-
Acesse o console do Google Cloud .
- Clique na caixa de listagem alternador na barra de menu.
- Selecione sua organização na caixa de listagem.
- Pesquise o nome da pasta. O ID da pasta aparece ao lado do nome dela.
CLI da gcloud
Para recuperar o ID de uma pasta Google Cloud localizada 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 é uma correspondência de string parcial ou completa para o nome da pasta. Remova a flag
--format
para ver mais informações sobre as pastas encontradas.O comando anterior não retorna os IDs das subpastas dentro das pastas. Para isso, execute o seguinte comando usando o ID de uma pasta de nível superior:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organization=ORGANIZATION_ID
, em queORGANIZATION_ID
é o ID da organização que tem o recurso que você quer recuperar.Como encontrar o ID de uma Google Cloud organização
Google Cloud console
Para encontrar o ID de uma organização Google Cloud , siga estas etapas:
-
Acesse o console do Google Cloud .
- Clique na caixa de listagem alternador na barra de menu.
- Selecione sua organização na caixa de listagem.
- Selecione a guia Todos. O ID da organização aparece ao lado do nome dela.
CLI da gcloud
Para recuperar o ID de uma organização Google Cloud , use 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 compatíveis com RE2 são aceitas. Se a expressão regular não corresponder a nenhum tipo de recurso compatível, um erroINVALID_ARGUMENT
será retornado. Quando--asset-types
não é especificado, todos os tipos de recursos são retornados.CONTENT_TYPE
: opcional. O tipo de conteúdo dos metadados que você quer recuperar. Quando--content-type
não é especificado, apenas informações básicas são retornadas, como nomes de recursos, a última vez que os recursos foram atualizados e a quais projetos, pastas e organizações eles pertencem.-
RELATIONSHIP_TYPE_#
: opcional. Exige acesso ao nível Premium ou Enterprise do Security Command Center ou ao Gemini Cloud Assist. Uma lista separada por vírgulas de tipos de relacionamento de recursos que você quer recuperar. DefinaCONTENT_TYPE
comoRELATIONSHIP
para que isso funcione. -
SNAPSHOT_TIME
: opcional. O momento em que você quer tirar um snapshot dos seus recursos, no formato de data e hora do tópico gcloud. O valor não pode ser de mais de 35 dias atrás. Quando--snapshot-time
não é especificado, um snapshot é capturado no horário atual.
Consulte a referência da CLI gcloud para conferir todas as opções.
Exemplo
O comando a seguir recebe um snapshot de metadados resource
das instâncias do Compute Engine em 30 de janeiro de 2024 (2024-01-30
) no projeto my-project
.
Antes de executar esse comando, mude o horário do snapshot para os últimos 35 dias e altere o nome do projeto.
gcloud asset list \ --project=my-project \ --asset-types=compute.googleapis.com/Instance \ --content-type=resource \ --snapshot-time="2024-01-30"
Exemplo de resposta
--- ancestors: - projects/000000000000 - folders/000000000000 - organizations/000000000000 assetType: compute.googleapis.com/Instance name: //compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/instance-name resource: data: ASSET_METADATA updateTime: '2024-01-30T00:00:00.000000Z'
REST
Método HTTP e URL:
POST https://cloudasset.googleapis.com/v1/SCOPE_PATH/assets
Solicitar corpo JSON:
{ "assetTypes": [ "ASSET_TYPE_1", "ASSET_TYPE_2", "..." ], "contentType": "CONTENT_TYPE", "relationshipTypes": [ "RELATIONSHIP_TYPE_1", "RELATIONSHIP_TYPE_2", "..." ], "readTime": "SNAPSHOT_TIME", "pageSize": "PAGE_SIZE", "pageToken": "PAGE_TOKEN" }
Forneça os valores a seguir:
-
SCOPE_PATH
: use um dos seguintes valores:Os valores permitidos são:
-
projects/PROJECT_ID
, em quePROJECT_ID
é o ID do projeto que tem o recurso que você quer recuperar. -
projects/PROJECT_NUMBER
, em quePROJECT_NUMBER
é o número do projeto que tem o recurso que você quer recuperar.Como encontrar um Google Cloud número do projeto
Google Cloud console
Para encontrar o número de um projeto Google Cloud , siga estas etapas:
-
Acesse a página Boas-vindas no console do Google Cloud .
- Clique na caixa de listagem alternador na barra de menu.
-
Selecione sua organização na caixa de listagem e pesquise o nome do projeto. O nome, o número e o ID do projeto são mostrados perto do título Bem-vindo.
Até 4.000 recursos são exibidos. Se você não encontrar o projeto que está procurando, acesse a página Gerenciar recursos e filtre a lista usando o nome dele.
CLI da gcloud
É possível extrair um Google Cloud número de projeto com o seguinte comando:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID
, em queFOLDER_ID
é o ID da pasta que tem o recurso que você quer recuperar.Como encontrar o ID de uma Google Cloud pasta
Google Cloud console
Para encontrar o ID de uma pasta do Google Cloud , siga estas etapas:
-
Acesse o console do Google Cloud .
- Clique na caixa de listagem alternador na barra de menu.
- Selecione sua organização na caixa de listagem.
- Pesquise o nome da pasta. O ID da pasta aparece ao lado do nome dela.
CLI da gcloud
Para recuperar o ID de uma pasta Google Cloud localizada 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 é uma correspondência de string parcial ou completa para o nome da pasta. Remova a flag
--format
para ver mais informações sobre as pastas encontradas.O comando anterior não retorna os IDs das subpastas dentro das pastas. Para isso, execute o seguinte comando usando o ID de uma pasta de nível superior:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
, em queORGANIZATION_ID
é o ID da organização que tem o recurso que você quer recuperar.Como encontrar o ID de uma Google Cloud organização
Google Cloud console
Para encontrar o ID de uma organização Google Cloud , siga estas etapas:
-
Acesse o console do Google Cloud .
- Clique na caixa de listagem alternador na barra de menu.
- Selecione sua organização na caixa de listagem.
- Selecione a guia Todos. O ID da organização aparece ao lado do nome dela.
CLI da gcloud
Para recuperar o ID de uma organização Google Cloud , use o seguinte comando:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
ASSET_TYPE_#
: opcional. Uma matriz de tipos de recursos pesquisáveis. Expressões regulares compatíveis com RE2 são aceitas. Se a expressão regular não corresponder a nenhum tipo de recurso compatível, um erroINVALID_ARGUMENT
será retornado. QuandoassetTypes
não é especificado, todos os tipos de recursos são retornados.CONTENT_TYPE
: opcional. O tipo de conteúdo dos metadados que você quer recuperar. QuandocontentType
não é especificado, apenas informações básicas são retornadas, como nomes de recursos, a última vez que os recursos foram atualizados e a quais projetos, pastas e organizações eles pertencem.-
RELATIONSHIP_TYPE_#
: opcional. Exige acesso ao nível Premium ou Enterprise do Security Command Center ou ao Gemini Cloud Assist. Uma lista separada por vírgulas de tipos de relacionamento de recursos que você quer recuperar. DefinaCONTENT_TYPE
comoRELATIONSHIP
para que isso funcione. -
SNAPSHOT_TIME
: opcional. O momento em que você quer tirar um snapshot dos seus recursos, no formato RFC 3339. O valor não pode ser de mais de 35 dias atrás. QuandoreadTime
não é especificado, um snapshot é capturado no horário atual. -
PAGE_SIZE
: opcional. O número de resultados a serem retornados por página. O valor máximo é 500. Se o valor for0
ou um valor negativo, um padrão apropriado será selecionado. UmnextPageToken
é retornado para recuperar resultados subsequentes. -
PAGE_TOKEN
: opcional. Respostas longas são separadas em várias páginas. QuandopageToken
não é especificado, a primeira página é retornada. As páginas subsequentes podem ser chamadas usando onextPageToken
da resposta anterior como o valor depageToken
.
Consulte a referência REST para todas as opções.
Exemplos de comandos
Os comandos a seguir recebem um snapshot de metadados resource
das instâncias do Compute Engine em 30 de janeiro de 2024 (2024-01-30T00:00:00Z
) no projeto my-project
.
Antes de executar qualquer um desses comandos, mude o horário do snapshot para os últimos 35 dias e altere o nome do projeto.
curl (Linux, macOS ou Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": ["compute.googleapis.com/Instance"], "contentType": "RESOURCE", "readTime": "2024-01-30T00:00:00Z" }' \ https://cloudasset.googleapis.com/v1/projects/my-project/assets
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": ["compute.googleapis.com/Instance"], "contentType": "RESOURCE", "readTime": "2024-01-30T00:00:00Z" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project/assets" | Select-Object -Expand Content
Exemplo de resposta
{ "readTime": "2024-01-30T00:00:00Z", "assets": [ { "name": "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/instance-name", "assetType": "compute.googleapis.com/Instance", "resource": { "version": "v1", "discoveryDocumentUri": "https://www.googleapis.com/discovery/v1/apis/compute/v1/rest", "discoveryName": "Instance", "parent": "//cloudresourcemanager.googleapis.com/projects/000000000000", "data": { ASSET_METADATA }, "location": "us-central1-a" }, "ancestors": [ "projects/000000000000", "folders/000000000000", "organizations/000000000000" ], "updateTime": "2024-01-30T00:00:00.000000Z" } ] }
C#
Para saber como instalar e usar a biblioteca de cliente do Inventário de recursos do Cloud, consulte Bibliotecas de cliente do Cloud Asset Inventory.
Para autenticar no Inventário de recursos do Cloud, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Para saber como instalar e usar a biblioteca de cliente do Inventário de recursos do Cloud, consulte Bibliotecas de cliente do Cloud Asset Inventory.
Para autenticar no Inventário de recursos do Cloud, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca de cliente do Inventário de recursos do Cloud, consulte Bibliotecas de cliente do Cloud Asset Inventory.
Para autenticar no Inventário de recursos do Cloud, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca de cliente do Inventário de recursos do Cloud, consulte Bibliotecas de cliente do Cloud Asset Inventory.
Para autenticar no Inventário de recursos do Cloud, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
PHP
Para saber como instalar e usar a biblioteca de cliente do Inventário de recursos do Cloud, consulte Bibliotecas de cliente do Cloud Asset Inventory.
Para autenticar no Inventário de recursos do Cloud, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca de cliente do Inventário de recursos do Cloud, consulte Bibliotecas de cliente do Cloud Asset Inventory.
Para autenticar no Inventário de recursos do Cloud, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Ruby
Para saber como instalar e usar a biblioteca de cliente do Inventário de recursos do Cloud, consulte Bibliotecas de cliente do Cloud Asset Inventory.
Para autenticar no Inventário de recursos do Cloud, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.