Appeler l'API Cloud Asset avec un ordinateur local

Cette page explique comment appeler l'API Cloud Asset sur votre ordinateur local.

Avant de commencer

  1. Installez oauth2l sur votre ordinateur local pour permettre l'interaction avec le système Google OAuth.
  2. Confirmez que vous avez accès à la commande Unix curl.
  3. Assurez-vous que votre compte dispose de l'un des rôles suivants pour votre projet, votre dossier ou votre organisation :
    • roles/owner
    • roles/cloudasset.viewer
  4. Configurez un bucket Cloud Storage pour stocker l'instantané exporté.

Télécharger le fichier d'identifiants

Un fichier d'identifiants JSON est nécessaire pour appeler l'API Cloud Asset. Pour télécharger le fichier, procédez comme suit :

  1. Accédez à la page Identifiants.

  2. Ouvrez la liste déroulante Créer des identifiants et sélectionnez l'ID client OAuth.

  3. Si vous créez un ID client pour un nouveau projet, vous devez configurer l'écran d'autorisation OAuth. L'écran d'autorisation s'affiche chaque fois qu'une application utilisant votre ID client demande l'accès à des données privées. Si cela se produit :

    1. Cliquez sur Configurer l'écran d'autorisation et entrez les informations requises pour votre écran d'autorisation.

    2. Enregistrez vos modifications pour revenir à la création de votre ID client.

  4. Sur la page Créer un ID client, sélectionnez Autre dans la section Type d'application.

  5. Entrez un nom pour les identifiants, puis cliquez sur Créer. Une boîte de dialogue de confirmation apparaît avec un ID client et un code secret de client.

  6. Fermez la boîte de dialogue de confirmation et cliquez sur l'icône de téléchargement sur la droite pour enregistrer votre nouveau fichier JSON d'ID client.

  7. Nommez et déplacez le fichier JSON téléchargé de sorte que le chemin d'accès soit ~/credentials.json.

Préparer l'environnement

Préparez votre environnement à passer des appels à l'API Cloud Asset en suivant la procédure ci-dessous.

  1. Vérifiez votre configuration initiale avec la commande suivante :

    oauth2l header --json ~/credentials.json cloud-platform
    

    Un résultat semblable aux lignes suivantes doit s'afficher :

    Authorization: Bearer y29.xxxxxxx
    
  2. Définissez un alias d'interface système pour appeler les API Google REST à l'aide de la commande suivante :

    alias gcurl='curl -H "$(oauth2l header --json ~/credentials.json \
    cloud-platform)" -H "Content-Type: application/json" '
    

Exporter un instantané d'élément

Sélectionnez une commande qui accepte le niveau de détail souhaité pour votre instantané exporté. Les commandes suivantes permettent de stocker l'instantané exporté dans un bucket Cloud Storage à l'adresse gs://YOUR_BUCKET/NEW_FILE.

Pour exporter un instantané d'élément pour une organisation, utilisez la méthode REST https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_NUMBER:exportAssets dans les commandes gcurl suivantes.

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

Exporter les noms de toutes les ressources sans métadonnées dans un projet

gcurl -d '{"outputConfig":{"gcsDestination": \
          {"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
           https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:exportAssets

Exporter toutes les métadonnées de ressources dans un projet

gcurl -d '{"contentType":"RESOURCE", "outputConfig":{"gcsDestination": \
          {"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
           https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:exportAssets

Exporter les stratégies Cloud IAM dans un projet

gcurl -d '{"contentType":"IAM_POLICY", "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 ressources. Le numéro d'opération d'une exportation est utilisé pour vérifier l'état de la demande d'exportation.

Pour vérifier l'état 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. Saisissez le numéro d'opération dans la commande suivante :

    gcurl https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER/operations/ExportAssets/CONTENT_TYPE/OPERATION_NUMBER

Une réponse semblable à ce qui suit est renvoyée :

{
  "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"
      }
    }
  }
}

Vous pouvez également appeler ExportAssets pour tout un dossier ou toute une organisation. Pour plus d'informations, consultez la documentation de référence de l'API Cloud Asset.

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 la méthode batchGetAssetsHistory, suivez la procédure ci-dessous.

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

  1. Assurez-vous de pouvoir appeler l'API Cloud Asset en préparant votre environnement.
  2. 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/my_project_id/global/firewalls/default-firewall.
  3. 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.
  4. Sélectionnez une commande qui prend en charge le niveau de détail souhaité pour votre réponse :

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

gcurl -d '{"contentType":"RESOURCE", \
           "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

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

gcurl -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

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

gcurl -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

L'historique sera renvoyé au format suivant :

{
  "assets": [
    {
      "window": {
        "startTime": 
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation relative à Resource Manager