É 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 comandos do Inventário de recursos do Cloud.
Verifique se a conta tem o papel correto 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 há suporte para pastas.
Acessar os históricos de recursos
Console
Para conferir o histórico dos seus recursos armazenados no Google Cloud, siga as etapas abaixo.
-
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.
- 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 seleção Selecionar um registro para comparar para mostrar uma diferença entre os registros das datas selecionadas.
Depois de realizar 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 conferir a consulta como um comando da Google Cloud CLI, clique em Visualizar 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 organização do Google Cloud
Google Cloud console
Para encontrar o ID de uma organização do Google Cloud , siga estas etapas:
-
Acesse o console Google Cloud .
- Clique na caixa de lista switcher na barra de menu.
- Selecione sua organização no campo de lista.
- Selecione a guia Todos. O ID da organização aparece ao lado do nome dela.
CLI da gcloud
É possível extrair o ID de uma organização do Google Cloud com 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. Requer 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 do gcloud. O valor não pode ser de mais de 35 dias. -
END_TIME
: opcional. O ponto final do período, no formato de data e hora do tópico do gcloud. O valor não pode ser de mais de 35 dias. Quando--end-time
não é especificado, ele é definido como o horário atual.
Consulte a referência da CLI do gcloud para conferir todas as opções.
Exemplo
Execute o comando a seguir para receber os metadados de histórico 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
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 número de projeto do Google Cloud
Google Cloud console
Para encontrar um número de projeto do Google Cloud , siga estas etapas:
-
Acesse a página Welcome no console 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
É possível extrair um número de projeto do Google Cloud 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 organização do Google Cloud
Google Cloud console
Para encontrar o ID de uma organização do Google Cloud , siga estas etapas:
-
Acesse o console Google Cloud .
- Clique na caixa de lista switcher na barra de menu.
- Selecione sua organização no campo de lista.
- Selecione a guia Todos. O ID da organização aparece ao lado do nome dela.
CLI da gcloud
É possível extrair o ID de uma organização do Google Cloud com 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. Requer 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. -
END_TIME
: opcional. O ponto final do período, no formato RFC 3339. O valor não pode ser de mais de 35 dias. QuandoendTime
não é especificado, ele é definido como o horário atual.
Consulte a referência REST para conferir todas as opções.
Exemplos de comando
Execute um dos comandos a seguir para conferir 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.