Guide de démarrage rapide de Cloud Asset Inventory

Ce guide vous explique comment exporter un instantané et obtenir l'historique des éléments d'un projet à l'aide d'une instance de machine virtuelle (VM) Compute Engine et de l'API Cloud Asset. Vous pouvez également appeler l'API Cloud Asset pour exporter l'intégralité d'un dossier ou d'une organisation, ou pour obtenir l'historique des éléments d'une organisation.

Pour en savoir plus, consultez la section Présentation de Cloud Asset Inventory.

Avant de commencer

  1. Activez l'API Cloud Asset pour votre projet.

  2. Si vous n'avez pas de compte de service existant dans votre projet, créez un compte de service.

  3. Accordez à votre compte de service le rôle owner ou cloudasset.viewer sur votre projet pour activer l'API Cloud Asset.

    Les rôles qui incluent l'un de ces rôles accordent également l'accès. Pour en savoir plus sur les rôles et les autorisations, consultez la page Comprendre les rôles.

Configurer votre instance

  1. Si votre projet ne possède pas de bucket Cloud Storage existant permettant de stocker les données exportées, créez un bucket.
  2. Accédez à la page Créer une instance et sélectionnez votre compte de service pour configurer une nouvelle instance de VM Compute Engine.

    Aller à la page "Créer une instance"

  3. Dans la section Champs d'application de l'accès, sélectionnez Autoriser l'accès complet à toutes les API Cloud.
  4. Lancez votre instance en cliquant sur Créer.

Exporter un instantané d'élément

Pour exporter toutes les métadonnées des éléments de votre projet à l'aide de l'API Cloud Asset, appliquez la procédure ci-dessous.

Pour exporter des métadonnées d'élément pour une organisation, utilisez la méthode REST https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_NUMBER:exportAssets dans la commande curl.

Pour exporter des métadonnées d'élément pour un dossier, utilisez la méthode REST https://cloudasset.googleapis.com/v1/folders/FOLDER_NUMBER:exportAssets.

  1. Accédez à la page Instance de VM.

    Aller à la page "Instance de VM"

  2. Ouvrez un client Web SSH connecté à l'instance en cliquant sur le bouton SSH situé en regard de la liste des instances.
  3. Dans le client Web SSH, générez un jeton d'authentification pour votre compte de service avec l'appel suivant.

    TOKEN=$(gcloud auth application-default print-access-token)
    
  4. Exportez toutes les métadonnées des éléments de votre projet à l'aide de la commande curl suivante :

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
         -d '{"contentType":"RESOURCE", "outputConfig":{"gcsDestination":{"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
            https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:exportAssets
    

Vous pouvez également exporter les métadonnées des éléments de manière plus précise à l'aide des commandes suivantes :

Exporter les stratégies IAM Cloud dans un projet

curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
     -d '{"contentType":"IAM_POLICY", "outputConfig":{"gcsDestination":{"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
        https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:exportAssets

Exporter les noms de tous les éléments sans métadonnées dans un projet

curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
     -d '{"outputConfig":{"gcsDestination":{"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
        https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:exportAssets

Afficher un instantané d'élément

Pour afficher les éléments exportés, accédez à la page du Navigateur Cloud Storage et ouvrez le nouveau fichier. Celui-ci répertorie les éléments et le nom de leurs ressources.

Vérifier le statut d'une exportation

L'exportation d'éléments est un processus à long terme qui ne prend que quelques secondes pour la plupart des projets, des dossiers et des organisations. Il peut prendre plus de temps pour les grands dossiers et les grandes organisations qui disposent de nombreux projets et éléments. Le numéro d'opération d'une exportation est utilisé pour vérifier le statut d'une demande d'exportation.

Pour vérifier le statut d'une exportation :

  1. Récupérez le numéro d'opération dans le champ name de la réponse.

    "name": "projects/PROJECT_NUMBER/operations/ExportAssets/CONTENT_TYPE/OPERATION_NUMBER"
    
  2. Ouvrez le client Web SSH pour votre instance et entrez la commande curl suivante.

    curl -H "Authorization: Bearer $TOKEN" \
         -H "Content-Type: application/json" \
            https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER/operations/ExportAssets/CONTENT_TYPE/OPERATION_NUMBER
    

Une réponse semblable à ce qui suit est renvoyée. Le champ done est défini sur true lorsque le processus d'exportation est terminé.

{
  "name": "projects/PROJECT_NUMBER/operations/ExportAssets/CONTENT_TYPE/OPERATION_NUMBER",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.asset.v1.ExportAssetsRequest",
    "parent": "projects/PROJECT_NUMBER",
    "outputConfig": {
      "gcsDestination": {
        "uri": "gs://YOUR_BUCKET/NEW_FILE"
      }
    }
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.asset.v1.ExportAssetsResponse",
    "readTime": [timestamp],
    "outputConfig": {
      "gcsDestination": {
        "uri": "gs://YOUR_BUCKET/NEW_FILE"
      }
    }
  }
}

Obtenir l'historique des éléments

Pour obtenir l'historique de création, de suppression et de mise à jour des éléments spécifiés dans un projet dans un délai donné, à l'aide de l'API Cloud Asset, suivez la procédure ci-dessous.

Pour obtenir l'historique des éléments d'une organisation, utilisez la méthode REST https://cloudasset.googleapis.com/v1/projects/ORGANIZATION_NUMBER:batchGetAssetsHistory dans la commande curl.

  1. Accédez à la page Instance de VM.

    Aller à la page "Instance de VM"

  2. Ouvrez un client Web SSH connecté à votre instance en cliquant sur le bouton SSH situé en regard de la liste des instances.
  3. Dans le client Web SSH, générez un jeton d'authentification pour votre compte de service en exécutant l'appel suivant :

    TOKEN=$(gcloud auth application-default print-access-token)
    
  4. Déterminez le nom complet de la ressource de l'élément dont vous souhaitez rechercher l'historique. L'exemple ci-après utilise //compute.googleapis.com/projects/PROJECT_ID/global/firewalls/default-firewall.

  5. Déterminez l'heure de début et l'heure de fin du délai au format RFC 3339 UTC. Seule l'heure de début est requise. Pour en savoir plus, consultez la page relative à TimeWindow.

  6. Obtenez l'historique des éléments spécifiés dans un projet, y compris toutes les métadonnées des ressources :

    curl -X POST -H "X-HTTP-Method-Override: GET" \
                 -H "Authorization: Bearer $TOKEN" \
                 -H "Content-Type: application/json" \
                 -d '{"contentType":"RESOURCE", \
                      "assetNames": \
                        "//compute.googleapis.com/projects/PROJECT_ID/global/firewalls/default-firewall", \
                      "readTimeWindow": {"startTime": "2014-10-02T15:01:23.045123456Z"}}' \
                 https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:batchGetAssetsHistory

L'historique sera renvoyé au format suivant :

{
  "assets": [
    {
      "window": {
        "startTime": 

Vous pouvez exporter un historique plus précis des métadonnées des éléments à l'aide des commandes suivantes :

Obtenez l'historique des éléments spécifiés dans un projet, sans métadonnées de ressource :

curl -X POST -H "X-HTTP-Method-Override: GET" \
             -H "Authorization: Bearer $TOKEN" \
             -H "Content-Type: application/json" \
             -d '{"assetNames": \
                    "//compute.googleapis.com/projects/my_project_id/global/firewalls/default-firewall", \
                "readTimeWindow": {"startTime": "2014-10-02T15:01:23.045123456Z"}}' \
             https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:batchGetAssetsHistory

Obtenez l'historique de toutes les stratégies IAM Cloud des éléments spécifiés dans un projet :

curl -X POST -H "X-HTTP-Method-Override: GET" \
             -H "Authorization: Bearer $TOKEN" \
             -H "Content-Type: application/json" \
             -d '{"contentType":"IAM_POLICY", \
                  "assetNames": \
                    "//compute.googleapis.com/projects/my_project_id/global/firewalls/default-firewall", \
                  "readTimeWindow": {"startTime": "2014-10-02T15:01:23.045123456Z"}}' \
             https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:batchGetAssetsHistory
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation relative à Resource Manager