É 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 comandos do Inventário de recursos do Cloud. se originou.
Verifique se sua conta tem o o papel correto 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 tabelas do BigQuery, nem todos os campos são aceitos.
Alterações frequentes nos campos de recursos nos metadados do BigQuery, como
numBytes
,numLongTermBytes
,numPhysicalBytes
enumRows
foram atribuídosnull
.
Listar seus recursos
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 destes 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 contém o recurso que você quer recuperar.Como encontrar o ID de uma pasta do Google Cloud
Console do Google Cloud
Para encontrar o ID de uma pasta do Google Cloud, siga estas etapas:
-
Acesse o console do Google Cloud.
- Clique na caixa de lista do seletor na barra de menus.
- Selecione sua organização no campo de lista.
- Pesquise o nome da pasta. O ID da pasta é mostrado ao lado do nome dela.
CLI da gcloud
É possível recuperar o ID de uma pasta do Google Cloud que está no 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)"
Em que TOP_LEVEL_FOLDER_NAME é uma correspondência de string parcial ou completa para o nome da pasta. Remova a sinalização
--format
para ver mais informações sobre a pastas encontradas.O comando anterior não retorna os IDs das subpastas dentro das pastas. Para fazer isso, execute o comando abaixo 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 organização do Google Cloud
Console do Google Cloud
Para encontrar o ID de uma organização do Google Cloud, siga estas etapas:
-
Acesse o console do Google Cloud.
- Clique na caixa de lista do seletor na barra de menus.
- Selecione sua organização na caixa de lista.
- Selecione a guia Todos. O ID é mostrado ao lado do nome da organização.
CLI da gcloud
Recupere o ID de uma 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 compatíveis com RE2 são aceitas. Se a expressão regular não corresponder qualquer tipo de recurso compatível, será retornado um erroINVALID_ARGUMENT
. Quando--asset-types
não for especificado, todos os tipos de recurso serã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. Disponível apenas para o Security Command Center Nível Premium e Enterprise assinantes. Uma lista separada por vírgulas de tipos de relação de recurso que você quer recuperar. Você precisa definirCONTENT_TYPE
comoRELATIONSHIP
para que isso funcione. -
SNAPSHOT_TIME
: opcional. O horário em que você quer tirar um snapshot dos seus recursos, no formato de data e hora do tópico do gcloud. O valor não pode ser de mais de 35 dias. Quando--snapshot-time
não for especificado, um snapshot será criado no momento.
Consulte a referência da CLI do gcloud para conferir todas as opções.
Exemplo
O comando a seguir recebe um snapshot 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, mude o tempo do snapshot para os últimos 35 dias e mude 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 destes 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 número de projeto do Google Cloud
Console do Google Cloud
Para encontrar um número de projeto do Google Cloud, siga estas etapas:
-
Acesse a página de Boas-vindas no console do Google Cloud.
- Clique na caixa de lista switcher na barra de menu.
-
Selecione sua organização na caixa de lista e pesquise o nome do projeto. O nome, o número e o ID do projeto são mostrados perto do título Welcome.
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
Recupere um número de projeto do Google Cloud com o seguinte comando:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID
, em queFOLDER_ID
é o ID da pasta que contém o recurso que você quer recuperar.Como encontrar o ID de uma pasta do Google Cloud
Console do Google Cloud
Para encontrar o ID de uma pasta do Google Cloud, siga estas etapas:
-
Acesse o console do Google Cloud.
- Clique na caixa de lista do seletor na barra de menus.
- Selecione sua organização no campo de lista.
- Pesquise o nome da pasta. O ID da pasta é mostrado ao lado do nome dela.
CLI da gcloud
É possível recuperar o ID de uma pasta do Google Cloud que está no 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)"
Em que TOP_LEVEL_FOLDER_NAME é uma correspondência de string parcial ou completa para o nome da pasta. Remova a sinalização
--format
para ver mais informações sobre a 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 organização do Google Cloud
Console do Google Cloud
Para encontrar o ID de uma organização do Google Cloud, siga estas etapas:
-
Acesse o console do Google Cloud.
- Clique na caixa de lista Alternador na barra de menu.
- Selecione sua organização na caixa de lista.
- Selecione a guia Todos. O ID é mostrado ao lado do nome da organização.
CLI da gcloud
Recupere o ID de uma organização do Google Cloud 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 compatíveis. Se a expressão regular não corresponder a nenhum tipo de recurso compatível, um erroINVALID_ARGUMENT
será retornado. QuandoassetTypes
não for especificado, todos os tipos de recurso serã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, na última vez que o recursos foram atualizados e a quais projetos, pastas e organizações eles pertencem.-
RELATIONSHIP_TYPE_#
: opcional. Disponível apenas para assinantes do nível Premium e Enterprise do Security Command Center. Uma lista separada por vírgulas de tipos de relações de recursos que você quer recuperar. Você precisa definirCONTENT_TYPE
comoRELATIONSHIP
para que isso funcione. -
SNAPSHOT_TIME
: opcional. O horário em que você quer capturar um snapshot de seus recursos em formato RFC 3339. O valor não pode ser de mais de 35 dias. 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 for definido como0
ou um valor negativo, um o padrão apropriado seja 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 valorpageToken
.
Consulte a referência da REST para ver todas .
Exemplos de comando
Os comandos a seguir recebem um snapshot de metadados resource
do Compute Engine.
instâncias em 30 de janeiro de 2024 (2024-01-30T00:00:00Z
) no
projeto my-project
.
Antes de executar qualquer um desses comandos, mude o tempo 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 Cloud Asset Inventory, consulte Bibliotecas de cliente do Cloud Asset Inventory.
Para autenticar no Cloud Asset Inventory, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Para aprender a 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 Cloud Asset Inventory, 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 Cloud Asset Inventory, 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 aprender a 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 Cloud Asset Inventory, consulte Bibliotecas de cliente do Cloud Asset Inventory.
Para autenticar no Cloud Asset Inventory, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para aprender a 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 Cloud Asset Inventory, consulte Bibliotecas de cliente do Cloud Asset Inventory.
Para autenticar no Cloud Asset Inventory, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.