Utiliser le SDK Google Cloud

Cette page explique comment exporter des métadonnées d'éléments et obtenir l'historique d'éléments à l'aide des commandes gcloud asset du SDK Cloud.

Le SDK Cloud fournit l'outil de ligne de commande gcloud pour interagir avec Cloud Asset Inventory et d'autres services Google Cloud Platform.

Avant de commencer

  • L'outil gcloud utilise l'API Cloud Asset pour accéder à Google Cloud Platform. Vous devez activer l'API avant de pouvoir utiliser l'outil gcloud pour accéder à Cloud Asset Inventory. Notez que l'API n'a besoin d'être activée que sur le projet à partir duquel vous exécuterez les commandes de l'API Cloud Asset.
    Activer l'API Cloud Asset Inventory
  • Installez le SDK Cloud sur votre client local.

Débuter avec l'outil de ligne de commande gcloud

Pour débuter avec l'outil gcloud, consultez la documentation du SDK Cloud. Vous pouvez obtenir de l'aide au sujet de l'outil, des ressources et des commandes via l'indicateur --help :

gcloud asset --help

L'aide affichée à l'aide de l'indicateur --help est également disponible dans la documentation de référence du SDK Cloud sur gcloud asset.

Configurer un compte

Pour appeler l'API Cloud Asset, vous avez besoin d'un compte utilisateur ou d'un compte de service configuré.

Configurer un compte utilisateur

  1. Connectez-vous à votre compte utilisateur à l'aide de la commande suivante.

    gcloud auth login USER_ACCOUNT_EMAIL
    

  2. Facultatif. Si le projet cible pour lequel vous souhaitez appeler l'API Cloud Asset ne correspond pas à celui qui est compatible avec Cloud Asset Inventory, spécifiez votre projet à l'aide de la commande suivante.

    gcloud config set billing/quota_project PROJECT_ID
    

  3. Accordez à votre compte utilisateur le rôle Cloud IAM cloudasset.viewer pour le projet dont vous souhaitez exporter les métadonnées. Ce projet peut être le même que celui qui est compatible avec l'API Cloud Asset.

    gcloud projects add-iam-policy-binding EXPORT_TARGET_PROJECT_ID \
           --member user:USER_ACCOUNT_EMAIL \
           --role roles/cloudasset.viewer
    

Configurer un compte de service

Ce compte de service doit être créé pour le projet à partir duquel vous exécutez les commandes de l'API Cloud Asset.

  1. Si vous ne possédez pas déjà de compte de service, créez un compte de service dans le projet pour lequel l'API Cloud Asset est activée à l'aide de la commande suivante.

    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \
           --display-name "SERVICE_ACCOUNT_DISPLAY_NAME"
    

  2. Créez une clé privée pour le compte de service :

    gcloud iam service-accounts keys create YOUR_FILE_PATH/key.json \
           --iam-account SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
    

  3. Activez votre compte de service pour l'utiliser avec l'outil gcloud à l'aide de la commande suivante.

    gcloud auth activate-service-account SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
           --key-file=YOUR_FILE_PATH/key.json
    

  4. Accordez le rôle Cloud IAM cloudasset.viewer à votre nouveau compte de service pour un projet dont vous souhaitez exporter les métadonnées. Ce projet peut être le même projet que celui compatible avec l'API Cloud Asset.

    gcloud projects add-iam-policy-binding EXPORT_TARGET_PROJECT_ID \
           --member serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
           --role roles/cloudasset.viewer
    

Appeler l'élément gcloud

Vous trouverez ci-dessous quelques exemples d'appels de l'API Cloud Asset gcloud sur des projets. Les appels de l'API Cloud Asset fonctionnent également sur les dossiers et les organisations.

ExportAssets

Exportez toutes les métadonnées d'éléments à un horodatage donné dans un fichier Cloud Storage. Le bucket Cloud Storage que vous utilisez pour stocker les métadonnées exportées doit se trouver dans le projet compatible avec l'API Cloud Asset depuis lequel vous exécutez l'exportation. Cette méthode peut également être utilisée pour exporter des éléments pour l'ensemble d'une organisation ou d'un dossier.

L'exemple suivant exporte des métadonnées d'éléments dans un projet.

gcloud asset export \
   --content-type resource \
   --project PROJECT_ID \
   --output-path "gs://YOUR_BUCKET/NEW_FILE"

Notez que PROJECT_ID est l'ID du projet dont les métadonnées sont exportées. Ce projet peut être le projet compatible avec l'API Cloud Asset à partir duquel vous exécutez l'exportation, ou un autre projet.

GetOperation

Vérifiez le statut d'une exportation. La commande suivante et le OPERATION_NUMBER sont affichés dans l'outil gcloud immédiatement après l'exécution d'une commande d'exportation.

gcloud asset operations describe projects/PROJECT_ID/operations/ExportAssets/CONTENT_TYPE/OPERATION_NUMBER

BatchGetAssetsHistory

Obtenez l'historique de plusieurs éléments pour une période donnée. Cela vous permet de voir tous les événements de création, de suppression et de mise à jour des éléments spécifiés au fil du temps. Cette méthode peut être utilisée pour obtenir l'historique d'éléments au sein d'un projet ou d'une organisation.

L'exemple suivant permet d'obtenir l'historique des éléments d'un projet.

gcloud asset get-history --asset-names="//storage.googleapis.com/BUCKET_NAME","otherAssetNames" \
   --content-type resource \
   --start-time '2018-10-03T00:00:00Z' \
   --project PROJECT_ID

Notez que le dernier start-time possible d'une période est 2018-10-03T00:00:00Z.

Étape suivante

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation relative à Resource Manager