É possível recuperar até 35 dias de histórico de criação, atualização e exclusão dos seus recursos em projetos ou organizações do Google Cloud . Os recursos que não mudaram nos últimos 35 dias informam o status mais recente.
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
Só é possível recuperar o histórico de recursos no nível da organização e do projeto. Não é possível usar pastas.
Receber o histórico de recursos
Console
Para acessar o histórico dos seus recursos armazenados em Google Cloud, siga estas etapas.
-
Acesse a página Inventário de recursos no console do Google Cloud .
- Mude para o projeto, a pasta ou a organização que você quer pesquisar.
- Clique na guia Recurso.
- No painel Filtrar resultados, selecione um tipo de recurso ou local para filtrar os resultados.
- Clique em um recurso no painel de resultados.
- Clique na guia Histórico de alterações.
- Selecione um Horário de início e um Horário de término para o relatório.
- Use as caixas de listagem Selecionar um registro para comparar e mostrar uma diferença entre os registros das datas selecionadas.
Depois de fazer uma pesquisa, os recursos correspondentes à consulta são listados na tabela Resultados. Clique duas vezes na consulta para editá-la 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 Google Cloud CLI, clique em Ver consulta.
Para exportar os resultados, clique em Fazer o download do CSV.
gcloud
gcloud asset get-history \ --SCOPE \ --asset-names=ASSET_NAME_1,ASSET_NAME_2,... \ --content-type=CONTENT_TYPE \ --relationship-types=RELATIONSHIP_TYPE_1,RELATIONSHIP_TYPE_2,... \ --start-time="START_TIME" \ --end-time="END_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. -
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_NAME_#
: uma lista separada por vírgulas de nomes completos de recursos.CONTENT_TYPE
: 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. -
START_TIME
: o início do período, no formato de data e hora do tópico gcloud. O valor não pode ser de mais de 35 dias atrás. -
END_TIME
: opcional. O ponto final do período, no formato de data e hora do tópico gcloud. O valor não pode ser de mais de 35 dias atrás. Quando--end-time
não é especificado, ele é definido como o horário atual.
Consulte a referência da CLI gcloud para conferir todas as opções.
Exemplo
Execute o comando a seguir para receber os metadados do histórico de resource
da instância do Compute Engine my-instance
no projeto my-project
entre 30 de janeiro de 2024 e 5 de fevereiro de 2024. A instância tem as seguintes propriedades:
- Nome da instância:
my-instance
- Projeto:
my-project
- Local:
us-central1-a
gcloud asset get-history \ --project=my-project \ --asset-names=//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance \ --content-type=resource \ --start-time="2024-01-30" \ --end-time="2024-02-05"
Exemplo de resposta
--- asset: ancestors: - projects/000000000000 - folders/000000000000 - organizations/000000000000 assetType: compute.googleapis.com/Instance name: //compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance resource: data: LATEST_ASSET_METADATA discoveryDocumentUri: https://www.googleapis.com/discovery/v1/apis/compute/v1/rest discoveryName: Instance location: us-central1-a parent: //cloudresourcemanager.googleapis.com/projects/000000000000 version: v1 updateTime: '2024-02-05T16:00:25.259186Z' window: endTime: '2024-02-05T16:00:25.259186Z' startTime: '2024-02-03T16:00:28.854779Z' --- asset: ancestors: - projects/000000000000 - folders/000000000000 - organizations/000000000000 assetType: compute.googleapis.com/Instance name: //compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance resource: data: EARLIEST_ASSET_METADATA discoveryDocumentUri: https://www.googleapis.com/discovery/v1/apis/compute/v1/rest discoveryName: Instance location: us-central1-a parent: //cloudresourcemanager.googleapis.com/projects/000000000000 version: v1 updateTime: '2024-02-03T16:00:28.854779Z' window: endTime: '2024-02-03T16:00:28.854779Z' startTime: '2024-01-30T08:00:22.930462Z'
REST
Método HTTP e URL:
POST https://cloudasset.googleapis.com/v1/SCOPE_PATH:batchGetAssetsHistory
Solicitar corpo JSON:
{ "assetNames": [ "ASSET_NAME_1", "ASSET_NAME_2", "..." ], "contentType": "CONTENT_TYPE", "relationshipTypes": [ "RELATIONSHIP_TYPE_1", "RELATIONSHIP_TYPE_2", "..." ], "readTimeWindow": { "startTime": "START_TIME", "endTime": "END_TIME" } }
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)"
-
-
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_NAME_#
: uma matriz de nomes completos de recursos.CONTENT_TYPE
: 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. -
START_TIME
: o início do intervalo de tempo, no formato RFC 3339. O valor não pode ser de mais de 35 dias atrás. -
END_TIME
: opcional. O ponto final do período, no formato RFC 3339. O valor não pode ser de mais de 35 dias atrás. QuandoendTime
não é especificado, ele é definido como o horário atual.
Consulte a referência REST para todas as opções.
Exemplos de comandos
Execute um dos comandos a seguir para receber o histórico de resource
da instância do Compute Engine my-instance
no projeto my-project
entre 30 de janeiro e 5 de fevereiro de 2024. A instância tem as seguintes propriedades:
- Nome da instância:
my-instance
- Projeto:
my-project
- Local:
us-central1-a
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 '{ "assetNames": ["//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance"], "contentType": "RESOURCE", "readTimeWindow": { "startTime": "2024-01-30T00:00:00Z", "endTime": "2024-02-05T00:00:00Z" } }' \ https://cloudasset.googleapis.com/v1/projects/my-project:batchGetAssetsHistory
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetNames": ["//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance"], "contentType": "RESOURCE", "readTimeWindow": { "startTime": "2024-01-30T00:00:00Z", "endTime": "2024-02-05T00: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:batchGetAssetsHistory" | Select-Object -Expand Content
Exemplo de resposta
{ "assets": [ { "window": { "startTime": "2024-02-03T16:00:28.854779Z", "endTime": "2024-02-05T16:00:25.259186Z" }, "asset": { "name": "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance", "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": { LATEST_ASSET_METADATA }, "location": "us-central1-a" }, "ancestors": [ "projects/000000000000", "folders/000000000000", "organizations/000000000000" ], "updateTime": "2024-02-05T16:00:25.259186Z" } }, { "window": { "startTime": "2024-01-30T08:00:22.930462Z", "endTime": "2024-02-03T16:00:28.854779Z" }, "asset": { "name": "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance", "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": { EARLIEST_ASSET_METADATA }, "location": "us-central1-a" }, "ancestors": [ "projects/000000000000", "folders/000000000000", "organizations/000000000000" ], "updateTime": "2024-02-03T16:00:28.854779Z" } } ] }
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.