Vous pouvez récupérer jusqu'à 35 jours d'historique des créations, des mises à jour et des suppressions de vos composants dans les projets ou les organisations Google Cloud . Les composants qui n'ont pas été modifiés au cours des 35 derniers jours affichent leur dernier état.
Avant de commencer
Activez l'API Cloud Asset Inventory dans le projet à partir duquel vous exécutez les commandes inventaire des éléments cloud.
Assurez-vous que votre compte dispose du rôle approprié pour appeler l'API Cloud Asset Inventory. Pour connaître les autorisations individuelles pour chaque type d'appel, consultez Autorisations.
Limites
Vous ne pouvez récupérer l'historique des ressources qu'au niveau de l'organisation et du projet. Les dossiers ne sont pas acceptés.
Obtenir l'historique de vos éléments
Console
Pour obtenir l'historique de vos composants stockés dans Google Cloud, procédez comme suit.
-
Accédez à la page Inventaire des éléments dans la console Google Cloud .
- Accédez au projet, au dossier ou à l'organisation dans lesquels vous souhaitez effectuer la recherche.
- Cliquez sur l'onglet Ressource.
- Dans le panneau Filtrer les résultats, sélectionnez un type de ressource ou un emplacement pour filtrer les résultats.
- Cliquez sur une ressource dans le panneau des résultats.
- Cliquez sur l'onglet Historique des modifications.
- Sélectionnez une heure de début et une heure de fin pour le rapport.
- Utilisez les zones de liste Sélectionnez un enregistrement à comparer pour afficher une différence entre les enregistrements pour les dates sélectionnées.
Une fois la recherche effectuée, les ressources correspondant à la requête sont listées dans le tableau Résultats. Double-cliquez sur votre requête pour la modifier ou utilisez le volet Filtrer les résultats pour limiter les résultats de recherche en fonction de critères spécifiques.
Pour afficher la requête en tant que commande Google Cloud CLI, cliquez sur Afficher la requête.
Pour exporter les résultats, cliquez sur Télécharger au format 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"
Indiquez les valeurs suivantes :
-
SCOPE
: utilisez l'une des valeurs suivantes :-
project=PROJECT_ID
, oùPROJECT_ID
est l'ID du projet contenant le composant que vous souhaitez récupérer. -
organization=ORGANIZATION_ID
, oùORGANIZATION_ID
est l'ID de l'organisation qui possède le composant que vous souhaitez récupérer.Trouver l'ID d'une organisation Google Cloud
ConsoleGoogle Cloud
Pour trouver l'ID d'une organisation Google Cloud , procédez comme suit :
-
Accédez à la console Google Cloud .
- Cliquez sur la zone de liste du sélecteur dans la barre de menu.
- Sélectionnez votre organisation dans la zone de liste.
- Cliquez sur l'onglet Tous. L'ID de l'organisation s'affiche à côté de son nom.
CLI gcloud
Vous pouvez récupérer l'ID d'une organisation Google Cloud à l'aide de la commande suivante :
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
ASSET_NAME_#
: liste de noms complets des composants, séparés par une virgule.CONTENT_TYPE
: type de contenu des métadonnées que vous souhaitez récupérer. Lorsque--content-type
n'est pas spécifié, seules les informations de base sont renvoyées, telles que les noms des composants, la dernière mise à jour des composants et les projets, dossiers et organisations auxquels ils appartiennent.-
RELATIONSHIP_TYPE_#
: facultatif. Nécessite l'accès au niveau Premium ou Enterprise de Security Command Center ou à Gemini Cloud Assist. Liste de types de relations entre les composants que vous souhaitez récupérer, séparés par une virgule. Pour que cela fonctionne, vous devez définirCONTENT_TYPE
surRELATIONSHIP
. -
START_TIME
: début de la plage de dates, au format gcloud topic datetime. La valeur ne doit pas être antérieure de plus de 35 jours. -
END_TIME
: facultatif. Point de fin de la période, au format gcloud topic datetime. La valeur ne doit pas être antérieure de plus de 35 jours. Si--end-time
n'est pas spécifié, il est défini sur l'heure actuelle.
Consultez la documentation de référence de gcloud CLI pour connaître toutes les options.
Exemple
Exécutez la commande suivante pour obtenir les métadonnées de l'historique resource
de l'instance Compute Engine my-instance
dans le projet my-project
entre le 30 janvier 2024 et le 5 février 2024. L'instance possède les propriétés suivantes :
- Nom de l'instance :
my-instance
- Projet :
my-project
- Adresse :
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"
Exemple de réponse
--- 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éthode HTTP et URL :
POST https://cloudasset.googleapis.com/v1/SCOPE_PATH:batchGetAssetsHistory
Corps JSON de la requête :
{ "assetNames": [ "ASSET_NAME_1", "ASSET_NAME_2", "..." ], "contentType": "CONTENT_TYPE", "relationshipTypes": [ "RELATIONSHIP_TYPE_1", "RELATIONSHIP_TYPE_2", "..." ], "readTimeWindow": { "startTime": "START_TIME", "endTime": "END_TIME" } }
Indiquez les valeurs suivantes :
-
SCOPE_PATH
: utilisez l'une des valeurs suivantes :Les valeurs autorisées sont les suivantes :
-
projects/PROJECT_ID
, oùPROJECT_ID
est l'ID du projet contenant le composant que vous souhaitez récupérer. -
projects/PROJECT_NUMBER
, oùPROJECT_NUMBER
est le numéro du projet contenant le composant que vous souhaitez récupérer.Trouver le numéro d'un projet Google Cloud
ConsoleGoogle Cloud
Pour trouver le numéro d'un projet Google Cloud , procédez comme suit :
-
Accédez à la page d'accueil de la console Google Cloud .
- Cliquez sur la zone de liste du sélecteur dans la barre de menu.
-
Sélectionnez votre organisation dans la zone de liste, puis recherchez le nom de votre projet. Le nom, le numéro et l'ID du projet sont affichés près de l'en-tête Bienvenue.
Jusqu'à 4 000 ressources sont affichées. Si vous ne voyez pas le projet que vous recherchez, accédez à la page Gérer les ressources et filtrez la liste à l'aide du nom de ce projet.
CLI gcloud
Vous pouvez récupérer un numéro de projet Google Cloud avec la commande suivante :
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
organizations/ORGANIZATION_ID
, oùORGANIZATION_ID
est l'ID de l'organisation qui possède le composant que vous souhaitez récupérer.Trouver l'ID d'une organisation Google Cloud
ConsoleGoogle Cloud
Pour trouver l'ID d'une organisation Google Cloud , procédez comme suit :
-
Accédez à la console Google Cloud .
- Cliquez sur la zone de liste du sélecteur dans la barre de menu.
- Sélectionnez votre organisation dans la zone de liste.
- Cliquez sur l'onglet Tous. L'ID de l'organisation s'affiche à côté de son nom.
CLI gcloud
Vous pouvez récupérer l'ID d'une organisation Google Cloud à l'aide de la commande suivante :
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
ASSET_NAME_#
: tableau de noms complets des composants.CONTENT_TYPE
: type de contenu des métadonnées que vous souhaitez récupérer. LorsquecontentType
n'est pas spécifié, seules des informations de base sont renvoyées, telles que les noms des composants, la dernière fois qu'ils ont été mis à jour, ainsi que les projets, dossiers et organisations auxquels ils appartiennent.-
RELATIONSHIP_TYPE_#
: facultatif. Nécessite l'accès au niveau Premium ou Enterprise de Security Command Center ou à Gemini Cloud Assist. Liste de types de relations entre les composants que vous souhaitez récupérer, séparés par une virgule. Pour que cela fonctionne, vous devez définirCONTENT_TYPE
surRELATIONSHIP
. -
START_TIME
: début de la plage horaire, au format RFC 3339. La valeur ne doit pas être antérieure de plus de 35 jours. -
END_TIME
: facultatif. Point de fin de la période, au format RFC 3339. La valeur ne doit pas être antérieure de plus de 35 jours. SiendTime
n'est pas spécifié, il est défini sur l'heure actuelle.
Consultez la documentation de référence REST pour toutes les options.
Exemples de commandes
Exécutez l'une des commandes suivantes pour obtenir l'historique resource
de l'instance Compute Engine my-instance
dans le projet my-project
entre le 30 janvier 2024 et le 5 février 2024. L'instance possède les propriétés suivantes :
- Nom de l'instance :
my-instance
- Projet :
my-project
- Adresse :
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
Exemple de réponse
{ "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#
Pour savoir comment installer et utiliser la bibliothèque cliente pour inventaire des éléments cloud, consultez la page Bibliothèques clientes Cloud Asset Inventory.
Pour vous authentifier auprès de inventaire des éléments cloud, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour inventaire des éléments cloud, consultez la page Bibliothèques clientes Cloud Asset Inventory.
Pour vous authentifier auprès de inventaire des éléments cloud, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour inventaire des éléments cloud, consultez la page Bibliothèques clientes Cloud Asset Inventory.
Pour vous authentifier auprès de inventaire des éléments cloud, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour inventaire des éléments cloud, consultez la page Bibliothèques clientes Cloud Asset Inventory.
Pour vous authentifier auprès de inventaire des éléments cloud, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour inventaire des éléments cloud, consultez la page Bibliothèques clientes Cloud Asset Inventory.
Pour vous authentifier auprès de inventaire des éléments cloud, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour inventaire des éléments cloud, consultez la page Bibliothèques clientes Cloud Asset Inventory.
Pour vous authentifier auprès de inventaire des éléments cloud, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour savoir comment installer et utiliser la bibliothèque cliente pour inventaire des éléments cloud, consultez la page Bibliothèques clientes Cloud Asset Inventory.
Pour vous authentifier auprès de inventaire des éléments cloud, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.