Pode pesquisar recursos num projeto, numa pasta ou numa organização e filtrar os resultados devolvidos através de uma consulta.
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.
Construa uma consulta
Antes de criar uma consulta, pode ser útil começar com um pedido de pesquisa que não especifique uma consulta. Use os campos e os valores da resposta completa para criar uma consulta com a sintaxe de consulta de pesquisa e refiná-la até serem devolvidos os resultados pretendidos.
Os campos que podem ser usados numa consulta estão detalhados na documentação de referência searchAllResources.
Não é possível pesquisar todos os recursos. Consulte os Tipos de recursos para ver os nomes dos recursos e verificar se estão disponíveis para as APIs de pesquisa.
Pesquise os seus recursos
Consola
Para pesquisar metadados de recursos, conclua os seguintes passos.
-
Aceda à página Inventário de recursos na Google Cloud consola.
- Altere para o projeto, a pasta ou a organização que quer pesquisar.
- Clique no separador Recurso.
-
Para pesquisar recursos, introduza uma consulta no campo Filtrar. Consulte o artigo Sintaxe das consultas de pesquisa para saber como escrever uma consulta de pesquisa.
Para facilitar a criação de consultas, pode clicar no campo Filtro para apresentar e adicionar os campos pesquisáveis disponíveis à sua consulta.
Depois de fazer uma pesquisa, os recursos que correspondem à consulta são apresentados na tabela de Resultados. Clique duas vezes na consulta para a editar ou use o painel Filtrar resultados para restringir os resultados da pesquisa por critérios específicos.
Para ver a consulta como um comando da CLI do Google Cloud, clique em Ver consulta.
Para exportar os resultados, clique em Transferir CSV.
gcloud
gcloud asset search-all-resources \ --scope=SCOPE_PATH \ --query="QUERY" \ --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \ --order-by="ORDER_BY" \ --read-mask="READ_MASK"
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 os recursos que quer pesquisar. -
projects/PROJECT_NUMBER
, ondePROJECT_NUMBER
é o número do projeto que tem os recursos que quer pesquisar.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 os recursos que quer pesquisar.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 os recursos que quer pesquisar.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))"
-
-
-
QUERY
: opcional. A expressão de consulta. Se não for especificado ou estiver vazio, todos os recursos são pesquisados no âmbito especificado. Para saber como escrever uma consulta de pesquisa, consulte o artigo Sintaxe de consulta de pesquisa. 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.-
ORDER_BY
: opcional. Uma lista de campos separados por vírgulas que especifica a ordem de ordenação dos resultados. A ordem predefinida é ascendente. AdicioneDESC
após o nome do campo para indicar a ordem descendente. Consulte a documentação de referência para saber que campos podem ser ordenados. READ_MASK
: opcional. Uma lista de campos separados por vírgulas que especifica os campos a devolver nos resultados. Consulte o artigo para ver os campos devolvidos por predefinição e outras condições a ter em conta quando especifica uma máscara de leitura.
Pode usar as flags --format
e
--flatten
para formatar o resultado da
CLI gcloud.
Consulte a referência da CLI gcloud para ver todas as opções.
Exemplo
Execute o seguinte comando para obter uma lista de todas as instâncias do Compute Engine no projeto my-project
com a palavra instance
seguida de um 1
no respetivo nome completo do recurso. Os resultados estão em ordem descendente por nome e, devido à máscara de leitura, apenas os campos name
e location
são devolvidos.
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="name:instance 1" \ --asset-types=compute.googleapis.com/Instance \ --order-by="name DESC" \ --read-mask="name,location"
Exemplo de resposta
--- location: us-central1-a name: //compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/instance-2-1 --- location: us-central1-a name: //compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/instance-1
REST
Método HTTP e URL:
POST https://cloudasset.googleapis.com/v1/SCOPE_PATH:searchAllResources
Corpo JSON do pedido:
{ "query": "QUERY", "assetTypes": [ "ASSET_TYPE_1", "ASSET_TYPE_2", "..." ], "orderBy": "ORDER_BY", "pageSize": "PAGE_SIZE", "pageToken": "PAGE_TOKEN", "readMask": "READ_MASK" }
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 os recursos que quer pesquisar. -
projects/PROJECT_NUMBER
, ondePROJECT_NUMBER
é o número do projeto que tem os recursos que quer pesquisar.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 os recursos que quer pesquisar.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 os recursos que quer pesquisar.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))"
-
-
-
QUERY
: opcional. A expressão de consulta. Se não for especificado ou estiver vazio, todos os recursos são pesquisados no âmbito especificado. Para saber como escrever uma consulta de pesquisa, consulte o artigo Sintaxe de consulta de pesquisa. 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.-
ORDER_BY
: opcional. Uma lista de campos separados por vírgulas que especifica a ordem de ordenação dos resultados. A ordem predefinida é ascendente. AdicioneDESC
após o nome do campo para indicar a ordem descendente. Consulte a documentação de referência para saber que campos podem ser ordenados. -
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
. READ_MASK
: opcional. Uma lista de campos separados por vírgulas que especifica os campos a devolver nos resultados. Consulte o artigo para ver os campos devolvidos por predefinição e outras condições a ter em conta quando especifica uma máscara de leitura.
Consulte a referência REST para ver todas as opções.
Exemplos de comandos
Execute um dos seguintes comandos para obter uma lista de todas as instâncias do Compute Engine no projeto my-project
com a palavra instance
seguida de um 1
no respetivo nome completo do recurso. Os resultados estão em ordem descendente por nome e apenas os campos name
e location
são devolvidos.
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 '{ "query": "name:instance 1", "assetTypes": ["compute.googleapis.com/Instance"], "orderBy": "name DESC", "readMask": "name,location" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "query": "name:instance 1", "assetTypes": ["compute.googleapis.com/Instance"], "orderBy": "name DESC", "readMask": "name,location" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Exemplo de resposta
{ "results": [ { "name": "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/instance-2-1", "location": "us-central1-a" }, { "name": "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/instance-1", "location": "us-central1-a" } ] }
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.
Exemplos de pesquisa adicionais
Os seguintes exemplos de código mostram consultas de pesquisa específicas para o gcloud e o REST, para ajudar a criar as suas próprias pesquisas.
Todos os recursos num projeto
O exemplo seguinte mostra como pesquisar todos os recursos no my-project
projeto.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --format="table(assetType.basename(), name.basename(), name.scope(projects).segment(0):label=PROJECT_ID, labels)"
REST
Método HTTP e URL:
GET https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Exemplos de comandos
curl (Linux, macOS ou Cloud Shell)
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Instâncias do Compute Engine por descrição
O exemplo seguinte mostra como pesquisar instâncias do Compute Engine no projeto my-project
com o nome exato instance-prod
.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="description=instance-prod" \ --asset-types=compute.googleapis.com/Instance \ --format="table(name, assetType, location)"
REST
Método HTTP e URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Corpo JSON do pedido:
{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "description=instance-prod", "readMask": "name,assetType,location" }
Exemplos de comandos
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", "pageSize": 1, "query": "description=instance-prod", "readMask": "name,assetType,location" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "description=instance-prod", "readMask": "name,assetType,location" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Para pesquisar instâncias que tenham instance-prod
no nome (como instance-prod-1
e instance-prod-2
) em vez de uma correspondência exata, substitua =instance-prod
por :instance-prod
.
Instâncias do Compute Engine por etiqueta
O exemplo seguinte mostra como pesquisar instâncias do Compute Engine no projeto my-project
com uma etiqueta denominada env
.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="labels.env:*" \ --asset-types=compute.googleapis.com/Instance \ --format="table(name, assetType, labels)"
REST
Método HTTP e URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Corpo JSON do pedido:
{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "labels.env:*", "readMask": "name,assetType,labels" }
Exemplos de comandos
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", "pageSize": 1, "query": "labels.env:*", "readMask": "name,assetType,labels" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "labels.env:*", "readMask": "name,assetType,labels" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Instâncias do Compute Engine por TagKey
O exemplo seguinte mostra como pesquisar instâncias do Compute Engine no projeto my-project
que têm etiquetas anexadas diretamente com um TagKey
.namespacedName
que contenham env
.
Em alternativa, para pesquisar por TagKeys eficazes, substitua tagKeys
por effectiveTagKeys
.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="tagKeys:env" \ --asset-types=compute.googleapis.com/Instance \ --format="table(name, assetType, tags)"
REST
Método HTTP e URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Corpo JSON do pedido:
{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "tagKeys:env", "readMask": "name,assetType,tags" }
Exemplos de comandos
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", "pageSize": 1, "query": "tagKeys:env", "readMask": "name,assetType,tags" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "tagKeys:env", "readMask": "name,assetType,tags" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Instâncias do Compute Engine por TagValue
O exemplo seguinte mostra como pesquisar instâncias do Compute Engine no projeto my-project
que têm etiquetas anexadas diretamente, em que o valor da etiqueta TagValue
.namespacedName
contém prod
ou sea
e o nome da instância não contém instance1
.
Para pesquisar por TagValues eficazes, substitua tagValues
por
effectiveTagValues
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="tagValues:(prod OR sea) (NOT name:instance1)" \ --asset-types=compute.googleapis.com/Instance \ --format="table(name, assetType, tags)"
REST
Método HTTP e URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Corpo JSON do pedido:
{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "tagValues:(prod OR sea) (NOT name:instance1)", "readMask": "name,assetType,tags" }
Exemplos de comandos
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", "pageSize": 1, "query": "tagValues:(prod OR sea) (NOT name:instance1)", "readMask": "name,assetType,tags" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "tagValues:(prod OR sea) (NOT name:instance1)", "readMask": "name,assetType,tags" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Instâncias do Compute Engine criadas após uma hora específica
O exemplo seguinte mostra como pesquisar instâncias do Compute Engine no projeto my-project
que foram criadas após 31 de dezembro de 2023.
Para mais informações sobre comparações de data/hora, consulte o artigo Comparação numérica e de data/hora.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="createTime>2023-31-12" \ --asset-types=compute.googleapis.com/Instance \ --format="table(name, assetType, location)"
REST
Método HTTP e URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Corpo JSON do pedido:
{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "createTime>2023-31-12", "readMask": "name,assetType,location" }
Exemplos de comandos
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", "pageSize": 1, "query": "createTime>2023-31-12", "readMask": "name,assetType,location" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "createTime>2023-31-12", "readMask": "name,assetType,location" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Instâncias do Compute Engine localizadas nos EUA
O exemplo seguinte mostra como pesquisar instâncias do Compute Engine no
projeto my-project
localizadas nos EUA.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="location:us-*" \ --asset-types=compute.googleapis.com/Instance \ --format="table(name, assetType, location)"
REST
Método HTTP e URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Corpo JSON do pedido:
{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "location:us-*", "readMask": "name,assetType,location" }
Exemplos de comandos
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", "pageSize": 1, "query": "location:us-*", "readMask": "name,assetType,location" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "location:us-*", "readMask": "name,assetType,location" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Instâncias do Compute Engine em execução
O exemplo seguinte mostra como pesquisar instâncias do Compute Engine que estão a ser executadas no projeto my-project
.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="state=RUNNING" \ --asset-types=compute.googleapis.com/Instance \ --read-mask="name,assetType,location,versionedResources" \ --format="table(name, assetType, location, versionedResources)"
REST
Método HTTP e URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Corpo JSON do pedido:
{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "state=RUNNING", "readMask": "name,assetType,location,versionedResources" }
Exemplos de comandos
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", "pageSize": 1, "query": "state=RUNNING", "readMask": "name,assetType,location,versionedResources" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "state=RUNNING", "readMask": "name,assetType,location,versionedResources" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Políticas de negação do IAM
O exemplo seguinte mostra como pesquisar políticas de negação do IAM no my-project
projeto.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --asset-types=iam.googleapis.com/PolicyV2 \ --query="name:denypolicies"
REST
Método HTTP e URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Corpo JSON do pedido:
{ "assetTypes": "iam.googleapis.com/PolicyV2", "pageSize": 1, "query": "name:denypolicies" }
Exemplos de comandos
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": "iam.googleapis.com/PolicyV2", "pageSize": 1, "query": "name:denypolicies" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "iam.googleapis.com/PolicyV2", "pageSize": 1, "query": "name:denypolicies" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Para pesquisar instâncias do Compute Engine que não estão em execução, substitua state=RUNNING
por NOT state:running
.
Recursos Google Cloud relacionados
As consultas de relações requerem acesso ao nível Premium ou Enterprise do Security Command Center, ou ao Gemini Cloud Assist.
O exemplo seguinte mostra como pesquisar recursos
relacionados
no projeto my-project
para tipos de relações suportados. Por exemplo, pesquise todas as instâncias do Compute Engine que fazem parte de grupos de instâncias que tenham instance-group
nos respetivos nomes de recursos completos.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="relationships:instance-group" \ --format="table(name, assetType, relationships)"
REST
Método HTTP e URL:
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Corpo JSON do pedido:
{ "pageSize": 1, "query": "relationships:instance-group", "readMask": "name,assetType,relationships" }
Exemplos de comandos
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 '{ "pageSize": 1, "query": "relationships:instance-group", "readMask": "name,assetType,relationships" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "pageSize": 1, "query": "relationships:instance-group", "readMask": "name,assetType,relationships" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Também pode especificar o tipo de relação que quer pesquisar. Por exemplo, para pesquisar o tipo de relação INSTANCE_TO_INSTANCEGROUP
, use a consulta relationships.INSTANCE_TO_INSTANCEGROUP
. Para pesquisar esse tipo de relação com um nome completo do recurso que contenha instance-group
, use a consulta relationships.INSTANCE_TO_INSTANCEGROUP:instance-group
.