Puedes recuperar hasta 35 días de historial de creación, actualización y eliminación de tus activos en proyectos o organizaciones de Google Cloud. Los recursos que no cambiaron en los últimos 35 días informan su estado más reciente.
Antes de comenzar
Habilita la API de Cloud Asset Inventory en el proyecto en el que ejecutas los comandos de Cloud Asset Inventory.
Asegúrate de que tu cuenta tenga el rol correcto para llamar a la API de Cloud Asset Inventory. Para conocer los permisos individuales para cada tipo de llamada, consulta Permisos:
Limitaciones
Solo puedes recuperar el historial de activos a nivel de la organización y del proyecto. No se admiten carpetas.
Obtén el historial de tus recursos
Console
Para obtener el historial de tus recursos almacenados en Google Cloud, completa los siguientes pasos.
-
Ve a la página Inventario de activos en la consola de Google Cloud.
- Cambia al proyecto, la carpeta o la organización que quieres buscar.
- Haz clic en la pestaña Recurso.
- Haz clic en un recurso del panel de resultados.
- Haz clic en la pestaña Historial de cambios.
- Selecciona una Hora de inicio y una Hora de finalización para el informe.
- Usa los cuadros de lista Seleccionar un registro para comparar para mostrar una diferencia entre los registros de las fechas seleccionadas.
Después de realizar una búsqueda, los recursos que coinciden con la consulta se enumeran en la tabla Resultados. Haz doble clic en tu consulta para editarla, o utiliza el Panel Filtrar resultados para restringir los resultados de la búsqueda según ciertos con tus criterios.
Para ver la consulta como un comando de Google Cloud CLI, haz clic en Ver consulta.
Para exportar los resultados, haz clic en Descargar 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"
Ingresa los siguientes valores:
-
SCOPE
: Usa uno de los siguientes valores:-
project=PROJECT_ID
, dondePROJECT_ID
es el ID del proyecto que tiene el recurso que deseas recuperar. -
organization=ORGANIZATION_ID
, dondeORGANIZATION_ID
es el ID de la organización que tiene el recurso que deseas recuperar.Cómo encontrar el ID de una organización de Google Cloud
Consola de Google Cloud
Para encontrar el ID de una organización de Google Cloud, completa los siguientes pasos:
-
Ve a la consola de Google Cloud.
- Haz clic en el cuadro de lista de selector en la barra de menú.
- Selecciona tu organización en el cuadro de lista.
- Haz clic en la pestaña Todos. El ID de la organización se muestra junto al nombre de la organización.
gcloud CLI
Puedes recuperar el ID de una organización de Google Cloud con el siguiente comando:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
ASSET_NAME_#
: Una lista separada por comas de los nombres completos de los elementos.CONTENT_TYPE
: El el tipo de contenido de los metadatos que quieres recuperar. Cuando no se especifica--content-type
, solo se muestra información básica, como los nombres de los recursos, la última vez que se actualizaron y a qué proyectos, carpetas y organizaciones pertenecen.-
RELATIONSHIP_TYPE_#
: Opcional Solo disponible para Security Command Center Nivel Premium y Enterprise suscriptores. Una lista separada por comas de tipos de relación de activos que quieres recuperar. Debes configurarCONTENT_TYPE
comoRELATIONSHIP
para que esto funcione. -
START_TIME
: Es el comienzo del período, en el formato de fecha y hora de gcloud topic. El valor no debe superar los 35 días en el pasado. -
END_TIME
: Opcional Es el punto final del intervalo de tiempo, en formato de fecha y hora de gcloud topic. El valor no debe superar los 35 días en el pasado. Cuando no se especifica--end-time
, se establece en la hora actual.
Consulta la referencia de la CLI de gcloud para ver todas las opciones.
Ejemplo
Ejecuta el siguiente comando para obtener los metadatos del historial resource
del
Instancia de Compute Engine my-instance
en el proyecto my-project
entre el 30 de enero y el 5 de febrero de 2024. La instancia tiene las siguientes propiedades:
- Nombre de la instancia:
my-instance
- Proyecto:
my-project
- Ubicación:
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"
Respuesta de ejemplo
--- 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 y URL:
POST https://cloudasset.googleapis.com/v1/SCOPE_PATH:batchGetAssetsHistory
Cuerpo JSON de la solicitud:
{ "assetNames": [ "ASSET_NAME_1", "ASSET_NAME_2", "..." ], "contentType": "CONTENT_TYPE", "relationshipTypes": [ "RELATIONSHIP_TYPE_1", "RELATIONSHIP_TYPE_2", "..." ], "readTimeWindow": { "startTime": "START_TIME", "endTime": "END_TIME" } }
Ingresa los siguientes valores:
-
SCOPE_PATH
: Usa uno de los siguientes valores:Los valores permitidos son los siguientes:
-
projects/PROJECT_ID
, dondePROJECT_ID
es la ID del proyecto que tiene el recurso que deseas recuperar. -
projects/PROJECT_NUMBER
, dondePROJECT_NUMBER
es el número del proyecto que tiene el recurso que deseas recuperar.Cómo encontrar un número de proyecto de Google Cloud
Consola de Google Cloud
Para encontrar el número de un proyecto de Google Cloud, completa los siguientes pasos:
-
Ve a la página Bienvenida en la consola de Google Cloud.
- Haz clic en el cuadro de lista para cambiar en la barra de menú.
-
Selecciona tu organización en el cuadro de lista y, luego, busca el nombre de tu proyecto. El nombre, el número y el ID del proyecto se muestran cerca de la sección de Bienvenida .
Se muestran hasta 4,000 recursos. Si no ves el proyecto que buscas, ve a la página Administrar recursos y filtra la lista con el nombre de ese proyecto.
gcloud CLI
Puedes recuperar un número de proyecto de Google Cloud con el siguiente comando:
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
organizations/ORGANIZATION_ID
, dondeORGANIZATION_ID
es el ID de la organización que tiene el recurso que deseas recuperar.Cómo encontrar el ID de una organización de Google Cloud
Consola de Google Cloud
Para encontrar el ID de una organización de Google Cloud, completa los siguientes pasos:
-
Ve a la consola de Google Cloud.
- Haz clic en el cuadro de lista para cambiar en la barra de menú.
- Selecciona tu organización en el cuadro de lista.
- Haz clic en la pestaña Todos. El ID de la organización se muestra junto al nombre de la organización.
gcloud CLI
Puedes recuperar el ID de una organización de Google Cloud con el siguiente comando:
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
ASSET_NAME_#
: Es un array de nombres completos de los activos.CONTENT_TYPE
: El tipo de contenido de los metadatos que deseas recuperar. Si no se especificacontentType
, solo se muestra la información básica, como los nombres de los elementos, la última vez que se recursos actualizados y a qué proyectos, carpetas y organizaciones pertenecen.-
RELATIONSHIP_TYPE_#
: Opcional Solo está disponible para los suscriptores de Security Command Center niveles Premium y Enterprise. Una lista separada por comas de tipos de relación de activos que quieres recuperar. Debes configurarCONTENT_TYPE
comoRELATIONSHIP
para que esto funcione. -
START_TIME
: El inicio del intervalo de tiempo, en formato RFC 3339. El valor no debe ser superior a 35 días. -
END_TIME
: Opcional El punto final del intervalo de tiempo, en Formato RFC 3339 El valor no debe ser superior a 35 días. Si no se especificaendTime
, se establece en la hora actual.
Consulta la referencia de REST para obtener opciones de estado.
Ejemplos de comandos
Ejecuta uno de los siguientes comandos para obtener el historial de resource
de
Instancia de Compute Engine my-instance
en el proyecto my-project
entre el 30 de enero y el 5 de febrero de 2024. La instancia tiene las siguientes propiedades:
- Nombre de la instancia:
my-instance
- Proyecto:
my-project
- Ubicación:
us-central1-a
curl (Linux, macOS o 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
Respuesta de ejemplo
{ "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 obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud Asset Inventory, consulta Bibliotecas cliente de Cloud Asset Inventory.
Para autenticarte en Cloud Asset Inventory, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud Asset Inventory, consulta Bibliotecas cliente de Cloud Asset Inventory.
Para autenticarte en Cloud Asset Inventory, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud Asset Inventory, consulta Bibliotecas cliente de Cloud Asset Inventory.
Para autenticarte en Cloud Asset Inventory, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud Asset Inventory, consulta Bibliotecas cliente de Cloud Asset Inventory.
Para autenticarte en Cloud Asset Inventory, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud Asset Inventory, consulta Bibliotecas cliente de Cloud Asset Inventory.
Para autenticarte en Cloud Asset Inventory, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud Asset Inventory, consulta Bibliotecas cliente de Cloud Asset Inventory.
Para autenticarte en Cloud Asset Inventory, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ruby
Para obtener información sobre cómo instalar y usar la biblioteca cliente de Cloud Asset Inventory, consulta Bibliotecas cliente de Cloud Asset Inventory.
Para autenticarte en Cloud Asset Inventory, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.