Pode listar os seus recursos em Google Cloud projetos, pastas ou organizações.
Antes de começar
Ative a API Cloud Asset Inventory no projeto a partir do qual está a executar comandos do Cloud Asset Inventory.
Certifique-se de que a sua conta tem a função correta para chamar a API Cloud Asset Inventory. Para ver as autorizações individuais de cada tipo de chamada, consulte a secção Autorizações.
Limitações
Quando lista dados de tabelas do BigQuery, nem todos os campos são suportados.
Os campos de recursos que mudam frequentemente nos metadados do BigQuery, como
numBytes
,numLongTermBytes
,numPhysicalBytes
enumRows
, são atribuídos a valoresnull
.
Apresente os seus recursos
Consola
Só pode ver recursos com o RESOURCE
tipo de conteúdo na Google Cloud consola. Para ver outros tipos de conteúdo ou filtrar por critérios mais precisos, use a CLI gcloud, a API REST ou uma biblioteca de cliente.
Para listar os metadados de recursos do seu projeto, pasta ou organização, conclua os seguintes passos:
-
Na Google Cloud consola, aceda à página Inventário de recursos.
- Altere para o projeto, a pasta ou a organização nos quais quer listar os recursos.
- Clique no separador Recurso.
- No painel Filtrar resultados, selecione os tipos de recursos, os projetos ou as localizações pelos quais quer filtrar os resultados.
- Para ver os metadados de um recurso, clique no nome a apresentar do recurso 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"
Indique os seguintes valores:
-
SCOPE
: use um dos seguintes valores:-
project=PROJECT_ID
, ondePROJECT_ID
é o ID do projeto que tem o recurso que quer obter. -
folder=FOLDER_ID
, ondeFOLDER_ID
é o ID da pasta que tem o recurso que quer obter.Como encontrar o ID de uma Google Cloud pasta
Google Cloud consola
Para encontrar o ID de uma Google Cloud pasta, conclua os seguintes passos:
-
Aceda à Google Cloud consola.
- Clique na caixa de lista do comutador na barra de menu.
- Selecione a sua organização na caixa de lista.
- Pesquise o nome da pasta. O ID da pasta é apresentado junto ao nome da pasta.
CLI gcloud
Pode obter o ID de uma Google Cloud pasta localizada ao nível da organização com 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)"
Onde 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 devolve os IDs das subpastas dentro das pastas. Para tal, execute o seguinte comando com o ID de uma pasta de nível superior:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organization=ORGANIZATION_ID
, ondeORGANIZATION_ID
é o ID da organização que tem o recurso que quer obter.Como encontrar o ID de uma Google Cloud organização
Google Cloud consola
Para encontrar o ID de uma Google Cloud organização, conclua os seguintes passos:
-
Aceda à Google Cloud consola.
- Clique na caixa de lista do comutador na barra de menu.
- Selecione a sua organização na caixa de lista.
- Clique no separador Tudo. O ID da organização é apresentado junto ao nome da organização.
CLI gcloud
Pode obter o ID de uma Google Cloud organização 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 compatíveis com RE2 são suportadas. Se a expressão regular não corresponder a nenhum tipo de recurso suportado, é devolvido um erroINVALID_ARGUMENT
. Quando--asset-types
não é especificado, são devolvidos todos os tipos de recursos.CONTENT_TYPE
: opcional. O tipo de conteúdo dos metadados que quer obter. Quando--content-type
não é especificado, apenas são devolvidas informações básicas, como os nomes dos recursos, a última vez que os recursos foram atualizados e a que projetos, pastas e organizações pertencem.-
RELATIONSHIP_TYPE_#
: opcional. Requer acesso ao nível Premium ou Enterprise do Security Command Center, ou ao Gemini Cloud Assist. Uma lista separada por vírgulas dos tipos de relações de recursos que quer obter. Tem de definirCONTENT_TYPE
comoRELATIONSHIP
para que isto funcione. -
SNAPSHOT_TIME
: opcional. A hora em que quer tirar uma captura instantânea dos seus recursos, no formato de data/hora do tópico gcloud. O valor não pode ser superior a 35 dias no passado. Quando--snapshot-time
não é especificado, é tirado um instantâneo na hora atual.
Consulte a referência da CLI gcloud para ver todas as opções.
Exemplo
O comando seguinte obtém uma captura instantânea de metadados resource
de instâncias do Compute Engine
a partir de 30 de janeiro de 2024 (2024-01-30
) no projeto my-project
.
Antes de executar este comando, certifique-se de que altera a hora da captura de ecrã para estar nos últimos 35 dias e altera 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
Corpo JSON do pedido:
{ "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" }
Indique os seguintes valores:
-
SCOPE_PATH
: use um dos seguintes valores:Os valores permitidos são:
-
projects/PROJECT_ID
, ondePROJECT_ID
é o ID do projeto que tem o recurso que quer obter. -
projects/PROJECT_NUMBER
, ondePROJECT_NUMBER
é o número do projeto que tem o recurso que quer obter.Como encontrar um Google Cloud número do projeto
Google Cloud consola
Para encontrar um Google Cloud número do projeto, conclua os seguintes passos:
-
Aceda à página Boas-vindas na Google Cloud consola.
- Clique na caixa de lista do comutador na barra de menu.
-
Selecione a sua organização na caixa de lista e, em seguida, pesquise o nome do projeto. O nome do projeto, o número do projeto e o ID do projeto são apresentados junto ao título Bem-vindo.
São apresentados até 4000 recursos. Se não vir o projeto que procura, aceda à página Gerir recursos e filtre a lista através do nome desse projeto.
CLI gcloud
Pode obter um Google Cloud número do projeto com o seguinte comando:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID
, ondeFOLDER_ID
é o ID da pasta que tem o recurso que quer obter.Como encontrar o ID de uma Google Cloud pasta
Google Cloud consola
Para encontrar o ID de uma Google Cloud pasta, conclua os seguintes passos:
-
Aceda à Google Cloud consola.
- Clique na caixa de lista do comutador na barra de menu.
- Selecione a sua organização na caixa de lista.
- Pesquise o nome da pasta. O ID da pasta é apresentado junto ao nome da pasta.
CLI gcloud
Pode obter o ID de uma Google Cloud pasta localizada ao nível da organização com 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)"
Onde 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 devolve os IDs das subpastas dentro das pastas. Para tal, execute o seguinte comando com o ID de uma pasta de nível superior:
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
, ondeORGANIZATION_ID
é o ID da organização que tem o recurso que quer obter.Como encontrar o ID de uma Google Cloud organização
Google Cloud consola
Para encontrar o ID de uma Google Cloud organização, conclua os seguintes passos:
-
Aceda à Google Cloud consola.
- Clique na caixa de lista do comutador na barra de menu.
- Selecione a sua organização na caixa de lista.
- Clique no separador Tudo. O ID da organização é apresentado junto ao nome da organização.
CLI gcloud
Pode obter o ID de uma Google Cloud organização com o seguinte comando:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
ASSET_TYPE_#
: opcional. Uma matriz de tipos de recursos pesquisáveis. As expressões regulares compatíveis com RE2 são suportadas. Se a expressão regular não corresponder a nenhum tipo de recurso suportado, é devolvido um erroINVALID_ARGUMENT
. QuandoassetTypes
não é especificado, são devolvidos todos os tipos de recursos.CONTENT_TYPE
: opcional. O tipo de conteúdo dos metadados que quer obter. QuandocontentType
não é especificado, apenas são devolvidas informações básicas, como os nomes dos recursos, a última vez que os recursos foram atualizados e a que projetos, pastas e organizações pertencem.-
RELATIONSHIP_TYPE_#
: opcional. Requer acesso ao nível Premium ou Enterprise do Security Command Center, ou ao Gemini Cloud Assist. Uma lista separada por vírgulas dos tipos de relações de recursos que quer obter. Tem de definirCONTENT_TYPE
comoRELATIONSHIP
para que isto funcione. -
SNAPSHOT_TIME
: opcional. A hora em que quer tirar uma captura instantânea dos seus recursos, no formato RFC 3339. O valor não pode ser superior a 35 dias no passado. QuandoreadTime
não é especificado, é tirado um instantâneo na hora atual. -
PAGE_SIZE
: opcional. O número de resultados a devolver por página. O máximo é 500. Se o valor estiver definido como0
ou um valor negativo, é selecionado um valor predefinido adequado. É devolvido umnextPageToken
para obter resultados subsequentes. -
PAGE_TOKEN
: opcional. As respostas a pedidos longos são separadas em várias páginas. QuandopageToken
não é especificado, é devolvida a primeira página. As páginas subsequentes podem ser chamadas através donextPageToken
da resposta anterior como o valorpageToken
.
Consulte a referência REST para ver todas as opções.
Exemplos de comandos
Os seguintes comandos obtêm uma captura instantânea de metadados das instâncias do Compute Engine a 30 de janeiro de 2024 (2024-01-30T00:00:00Z
) no projeto my-project
.resource
Antes de executar qualquer um destes comandos, certifique-se de que altera a hora da captura de ecrã para estar nos últimos 35 dias e altera 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 Cloud Asset Inventory, consulte o artigo Bibliotecas de cliente do Cloud Asset Inventory.
Para se autenticar no Cloud Asset Inventory, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Ir
Para saber como instalar e usar a biblioteca de cliente do Cloud Asset Inventory, consulte o artigo Bibliotecas de cliente do Cloud Asset Inventory.
Para se autenticar no Cloud Asset Inventory, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca de cliente do Cloud Asset Inventory, consulte o artigo Bibliotecas de cliente do Cloud Asset Inventory.
Para se autenticar no Cloud Asset Inventory, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca de cliente do Cloud Asset Inventory, consulte o artigo Bibliotecas de cliente do Cloud Asset Inventory.
Para se autenticar no Cloud Asset Inventory, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
PHP
Para saber como instalar e usar a biblioteca de cliente do Cloud Asset Inventory, consulte o artigo Bibliotecas de cliente do Cloud Asset Inventory.
Para se autenticar no Cloud Asset Inventory, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca de cliente do Cloud Asset Inventory, consulte o artigo Bibliotecas de cliente do Cloud Asset Inventory.
Para se autenticar no Cloud Asset Inventory, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Ruby
Para saber como instalar e usar a biblioteca de cliente do Cloud Asset Inventory, consulte o artigo Bibliotecas de cliente do Cloud Asset Inventory.
Para se autenticar no Cloud Asset Inventory, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.