Répertorier les éléments

Cette page vous explique comment utiliser le service de liste d'éléments Cloud Asset Inventory. Vous pouvez utiliser l'API Cloud Asset Inventory pour afficher une liste paginée des éléments à un horodatage donné.

Avant de commencer

  1. Activez l'API Cloud Asset avant de pouvoir utiliser la Google Cloud CLI pour accéder à l'inventaire des éléments cloud. Notez que l'API n'a besoin d'être activée que sur le projet à partir duquel vous exécutez les commandes de l'API Cloud Asset.

    Activer l'API Cloud Asset Inventory

  2. Installez la Google Cloud CLI sur votre client local.

  3. Assurez-vous que votre compte dispose de l'un des rôles suivants pour le projet ou l'organisation dont vous allez lister les éléments.

    • roles/cloudasset.viewer

    • roles/cloudasset.owner

Configurer un compte

Pour appeler l'API Cloud Asset, votre compte doit disposer de l'autorisation correspondante sur la ressource racine (parente), qui est un projet ou une organisation contenant les éléments que vous souhaitez répertorier. Voici l'autorisation requise pour chaque ContentType de la requête:

Type de contenu Autorisation
Nom gcloud Nom REST
access-policy ACCESS_POLICY cloudasset.assets.listAccessPolicy
content-type-unspecified CONTENT_TYPE_UNSPECIFIED cloudasset.assets.listResource
iam-policy IAM_POLICY cloudasset.assets.listIamPolicy
org-policy ORG_POLICY cloudasset.assets.listOrgPolicy
os-inventory OS_INVENTORY cloudasset.assets.listOSInventories
relationship RELATIONSHIP cloudasset.assets.listResource
resource RESOURCE cloudasset.assets.listResource

Si votre compte dispose du rôle Lecteur d'éléments Cloud (roles/cloudasset.viewer), du rôle Propriétaire d'éléments Cloud (roles/cloudasset.owner), ou du rôle de base Propriétaire (roles/owner) sur la racine de la ressource, il possède déjà les autorisations suffisantes pour appeler l'API Cloud Asset. Sinon, suivez les étapes de la page Configurer des autorisations.

Répertorier les éléments

Pour répertorier les éléments et leurs relations dans un projet, un dossier ou une organisation à un moment donné à l'aide de l'API Cloud Asset, effectuez l'une des requêtes suivantes.

Lister les assets d'un projet, d'un dossier ou d'une organisation, y compris toutes les métadonnées de ressources

gcloud

Projets

gcloud asset list \
    --project=PROJECT_ID \
    --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
    --content-type=resource \
    --snapshot-time="SNAPSHOT_TIME"

Indiquez les valeurs suivantes :

  • PROJECT_ID: ID du projet dont vous souhaitez répertorier les éléments.

  • ASSET_TYPE : facultatif. Liste de types d'éléments inclus dans l'index de recherche séparés par une virgule. Les expressions régulières compatibles avec RE2 sont acceptées. Si l'expression régulière ne correspond à aucun type d'élément compatible, une erreur INVALID_ARGUMENT est renvoyée.

  • SNAPSHOT_TIME : facultatif. Heure à laquelle vous souhaitez prendre un instantané de vos éléments. La valeur doit correspondre à l'heure actuelle ou à une heure antérieure de 35 jours maximum. Lorsqu'il n'est pas fourni, un instantané est pris à l'heure actuelle. Pour en savoir plus sur les formats d'heure, consultez gcloud topic datetimes.

Supprimez l'option --content-type pour exclure les métadonnées de ressource.

Dossiers

Répertorier les éléments d'un projet, y compris toutes les métadonnées de ressource

gcloud asset list \
    --folder=FOLDER_ID \
    --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
    --content-type=resource \
    --snapshot-time="SNAPSHOT_TIME"

Indiquez les valeurs suivantes :

  • FOLDER_ID: ID du dossier dont vous souhaitez répertorier les éléments.

    Trouver un ID de dossier Google Cloud

    Console

    Pour trouver un ID de dossier Google Cloud, procédez comme suit:

    1. Accédez à Google Cloud Console.

      Accéder à la console Google Cloud

    2. Cliquez sur le sélecteur dans la barre de menu.
    3. Cliquez sur le champ Sélectionner à partir de, puis sélectionnez votre organisation.
    4. Recherchez le nom de votre dossier. L'ID du dossier figure à côté du nom du dossier.

    gcloud CLI

    Vous pouvez récupérer un ID de dossier Google Cloud situé au niveau de l'organisation à l'aide de la commande suivante:

    gcloud resource-manager folders list \
        --organization=$(gcloud organizations describe ORGANIZATION_NAME \
          --format="value(name.segment(1))") \
        --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
        --format="value(ID)"

    TOP_LEVEL_FOLDER_NAME peut être une correspondance de chaîne complète ou partielle. Supprimez l'option --format pour afficher plus d'informations sur les dossiers trouvés.

    Pour obtenir l'ID d'un dossier dans un autre dossier, répertoriez les sous-dossiers:

    gcloud resource-manager folders list --folder=FOLDER_ID

  • ASSET_TYPE : facultatif. Liste de types d'éléments inclus dans l'index de recherche séparés par une virgule. Les expressions régulières sont acceptées. Si l'expression régulière ne correspond à aucun type d'élément compatible, une erreur INVALID_ARGUMENT est renvoyée.

  • SNAPSHOT_TIME : facultatif. Heure à laquelle vous souhaitez prendre un instantané de vos éléments. La valeur doit correspondre à l'heure actuelle ou à une heure antérieure de 35 jours maximum. Lorsqu'il n'est pas fourni, un instantané est pris à l'heure actuelle. Pour en savoir plus sur les formats d'heure, consultez gcloud topic datetimes.

Supprimez l'option --content-type pour exclure les métadonnées de ressource.

Organisations

Répertorier les éléments d'une organisation, y compris toutes les métadonnées de ressource

gcloud asset list \
    --organization=ORGANIZATION_ID \
    --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
    --content-type=resource \
    --snapshot-time="SNAPSHOT_TIME"

Indiquez les valeurs suivantes :

  • ORGANIZATION_ID: ID de l'organisation dont vous souhaitez répertorier les éléments.

    Trouver un ID d'organisation Google Cloud

    Console

    Pour trouver un ID d'organisation Google Cloud, procédez comme suit:

    1. Accédez à Google Cloud Console.

      Accéder à la console Google Cloud

    2. Cliquez sur le sélecteur dans la barre de menu.
    3. Cliquez sur le champ Sélectionner à partir de, puis sélectionnez votre organisation.
    4. Cliquez sur l'onglet Tous. L'ID de l'organisation s'affiche à côté de son nom.

    gcloud CLI

    Vous pouvez récupérer un ID d'organisation Google Cloud à l'aide de la commande suivante:

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • ASSET_TYPE : facultatif. Liste de types d'éléments inclus dans l'index de recherche séparés par une virgule. Les expressions régulières sont acceptées. Si l'expression régulière ne correspond à aucun type d'élément compatible, une erreur INVALID_ARGUMENT est renvoyée.

  • SNAPSHOT_TIME : facultatif. Heure à laquelle vous souhaitez prendre un instantané de vos éléments. La valeur doit correspondre à l'heure actuelle ou à une heure antérieure de 35 jours maximum. Lorsqu'il n'est pas fourni, un instantané est pris à l'heure actuelle. Pour en savoir plus sur les formats d'heure, consultez gcloud topic datetimes.

Supprimez l'option --content-type pour exclure les métadonnées de ressource.

REST

curl -X POST \
     -H "X-HTTP-Method-Override: GET" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "contentType": "RESOURCE",
          "assetTypes": [
            "ASSET_TYPE_1",
            "ASSET_TYPE_2",
            "..."
          ],
          "readTime": "SNAPSHOT_TIME",
          "pageToken": "PAGE_TOKEN"
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE/assets

Indiquez les valeurs suivantes :

  • ASSET_TYPE : facultatif. Tableau de types d'éléments inclus dans l'index de recherche. Les expressions régulières sont acceptées. Si l'expression régulière ne correspond à aucun type d'élément compatible, une erreur INVALID_ARGUMENT est renvoyée.

  • SNAPSHOT_TIME : facultatif. Heure à laquelle vous souhaitez prendre un instantané de vos éléments, au format RFC 3339. La valeur doit correspondre à l'heure actuelle ou à une heure antérieure de 35 jours maximum. Lorsqu'il n'est pas fourni, un instantané est pris à l'heure actuelle.

  • PAGE_TOKEN : facultatif. Les réponses aux requêtes longues sont séparées sur plusieurs pages. Cette paire clé/valeur n'est pas requise pour la première page, mais les pages suivantes peuvent être appelées ici à l'aide du nextPageToken de la réponse précédente.

  • SCOPE: un champ d'application peut être un projet, un dossier ou une organisation.

    Les valeurs autorisées sont les suivantes :

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      Trouver un numéro de projet Google Cloud

      Console

      Pour trouver un numéro de projet Google Cloud, procédez comme suit:

      1. Accédez à la page Tableau de bord dans la console Google Cloud.

        Accéder à Google Dashboard

      2. Cliquez sur le sélecteur dans la barre de menu.
      3. Sélectionnez votre organisation dans la zone Sélectionner à partir de, puis recherchez le nom de votre projet.
      4. Cliquez sur le nom du projet pour passer à celui-ci. Le numéro du projet est indiqué sur la fiche Informations sur le projet.

      gcloud CLI

      Vous pouvez récupérer un numéro de projet Google Cloud à l'aide de la commande suivante:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      Trouver un ID de dossier Google Cloud

      Console

      Pour trouver un ID de dossier Google Cloud, procédez comme suit:

      1. Accédez à Google Cloud Console.

        Accéder à la console Google Cloud

      2. Cliquez sur le sélecteur dans la barre de menu.
      3. Cliquez sur le champ Sélectionner à partir de, puis sélectionnez votre organisation.
      4. Recherchez le nom de votre dossier. L'ID du dossier figure à côté du nom du dossier.

      gcloud CLI

      Vous pouvez récupérer un ID de dossier Google Cloud situé au niveau de l'organisation à l'aide de la commande suivante:

      gcloud resource-manager folders list \
          --organization=$(gcloud organizations describe ORGANIZATION_NAME \
            --format="value(name.segment(1))") \
          --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
          --format="value(ID)"

      TOP_LEVEL_FOLDER_NAME peut être une correspondance de chaîne complète ou partielle. Supprimez l'option --format pour afficher plus d'informations sur les dossiers trouvés.

      Pour obtenir l'ID d'un dossier dans un autre dossier, répertoriez les sous-dossiers:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Trouver un ID d'organisation Google Cloud

      Console

      Pour trouver un ID d'organisation Google Cloud, procédez comme suit:

      1. Accédez à Google Cloud Console.

        Accéder à la console Google Cloud

      2. Cliquez sur le sélecteur dans la barre de menu.
      3. Cliquez sur le champ Sélectionner à partir de, puis sélectionnez votre organisation.
      4. Cliquez sur l'onglet Tous. L'ID de l'organisation s'affiche à côté de son nom.

      gcloud CLI

      Vous pouvez récupérer un ID d'organisation Google Cloud à l'aide de la commande suivante:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

Supprimez la paire clé/valeur contentType pour exclure les métadonnées de ressource.

Lister des relations spécifiques dans un projet, un dossier ou une organisation

gcloud

Projets

gcloud asset list \
    --project=PROJECT_ID \
    --content-type=relationship \
    --relationship-types=INSTANCE_TO_INSTANCEGROUP \
    --snapshot-time="SNAPSHOT_TIME"

Indiquez les valeurs suivantes :

  • PROJECT_ID: ID du projet dont vous souhaitez répertorier les éléments.

  • SNAPSHOT_TIME : facultatif. Heure à laquelle vous souhaitez prendre un instantané de vos éléments. La valeur doit correspondre à l'heure actuelle ou à une heure antérieure de 35 jours maximum. Lorsqu'il n'est pas fourni, un instantané est pris à l'heure actuelle. Pour en savoir plus sur les formats d'heure, consultez gcloud topic datetimes.

Supprimez l'option --relationship-types pour répertorier toutes les relations d'un projet.

Dossiers

gcloud asset list \
    --folder=FOLDER_ID \
    --content-type=relationship \
    --relationship-types=INSTANCE_TO_INSTANCEGROUP \
    --snapshot-time="SNAPSHOT_TIME"

Indiquez les valeurs suivantes :

  • FOLDER_ID: ID du dossier dont vous souhaitez répertorier les éléments.

    Trouver un ID de dossier Google Cloud

    Console

    Pour trouver un ID de dossier Google Cloud, procédez comme suit:

    1. Accédez à Google Cloud Console.

      Accéder à la console Google Cloud

    2. Cliquez sur le sélecteur dans la barre de menu.
    3. Cliquez sur le champ Sélectionner à partir de, puis sélectionnez votre organisation.
    4. Recherchez le nom de votre dossier. L'ID du dossier figure à côté du nom du dossier.

    gcloud CLI

    Vous pouvez récupérer un ID de dossier Google Cloud situé au niveau de l'organisation à l'aide de la commande suivante:

    gcloud resource-manager folders list \
        --organization=$(gcloud organizations describe ORGANIZATION_NAME \
          --format="value(name.segment(1))") \
        --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
        --format="value(ID)"

    TOP_LEVEL_FOLDER_NAME peut être une correspondance de chaîne complète ou partielle. Supprimez l'option --format pour afficher plus d'informations sur les dossiers trouvés.

    Pour obtenir l'ID d'un dossier dans un autre dossier, répertoriez les sous-dossiers:

    gcloud resource-manager folders list --folder=FOLDER_ID

  • SNAPSHOT_TIME : facultatif. Heure à laquelle vous souhaitez prendre un instantané de vos éléments. La valeur doit correspondre à l'heure actuelle ou à une heure antérieure de 35 jours maximum. Lorsqu'il n'est pas fourni, un instantané est pris à l'heure actuelle. Pour en savoir plus sur les formats d'heure, consultez gcloud topic datetimes.

Supprimez l'option --relationship-types pour répertorier toutes les relations d'un dossier.

Organisations

gcloud asset list \
    --organization=ORGANIZATION_ID \
    --content-type=relationship \
    --relationship-types=INSTANCE_TO_INSTANCEGROUP \
    --snapshot-time="SNAPSHOT_TIME"

Indiquez les valeurs suivantes :

  • ORGANIZATION_ID: ID de l'organisation dont vous souhaitez répertorier les éléments.

    Trouver un ID d'organisation Google Cloud

    Console

    Pour trouver un ID d'organisation Google Cloud, procédez comme suit:

    1. Accédez à Google Cloud Console.

      Accéder à la console Google Cloud

    2. Cliquez sur le sélecteur dans la barre de menu.
    3. Cliquez sur le champ Sélectionner à partir de, puis sélectionnez votre organisation.
    4. Cliquez sur l'onglet Tous. L'ID de l'organisation s'affiche à côté de son nom.

    gcloud CLI

    Vous pouvez récupérer un ID d'organisation Google Cloud à l'aide de la commande suivante:

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • SNAPSHOT_TIME : facultatif. Heure à laquelle vous souhaitez prendre un instantané de vos éléments. La valeur doit correspondre à l'heure actuelle ou à une heure antérieure de 35 jours maximum. Lorsqu'il n'est pas fourni, un instantané est pris à l'heure actuelle. Pour en savoir plus sur les formats d'heure, consultez gcloud topic datetimes.

Supprimez l'option --relationship-types pour répertorier toutes les relations d'une organisation.

REST

curl -X POST \
     -H "X-HTTP-Method-Override: GET" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "contentType": "RELATIONSHIP",
          "relationshipTypes": "INSTANCE_TO_INSTANCEGROUP",
          "readTime": "SNAPSHOT_TIME",
          "pageToken": "PAGE_TOKEN"
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE/assets

Indiquez les valeurs suivantes :

  • SNAPSHOT_TIME : facultatif. Heure à laquelle vous souhaitez prendre un instantané de vos éléments, au format RFC 3339. La valeur doit correspondre à l'heure actuelle ou à une heure antérieure de 35 jours maximum. Lorsqu'il n'est pas fourni, un instantané est pris à l'heure actuelle.

  • PAGE_TOKEN : facultatif. Les réponses aux requêtes longues sont séparées sur plusieurs pages. Cette paire clé/valeur n'est pas requise pour la première page, mais les pages suivantes peuvent être appelées ici à l'aide du nextPageToken de la réponse précédente.

  • SCOPE: un champ d'application peut être un projet, un dossier ou une organisation.

    Les valeurs autorisées sont les suivantes :

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      Trouver un numéro de projet Google Cloud

      Console

      Pour trouver un numéro de projet Google Cloud, procédez comme suit:

      1. Accédez à la page Tableau de bord dans la console Google Cloud.

        Accéder à Google Dashboard

      2. Cliquez sur le sélecteur dans la barre de menu.
      3. Sélectionnez votre organisation dans la zone Sélectionner à partir de, puis recherchez le nom de votre projet.
      4. Cliquez sur le nom du projet pour passer à celui-ci. Le numéro du projet est indiqué sur la fiche Informations sur le projet.

      gcloud CLI

      Vous pouvez récupérer un numéro de projet Google Cloud à l'aide de la commande suivante:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      Trouver un ID de dossier Google Cloud

      Console

      Pour trouver un ID de dossier Google Cloud, procédez comme suit:

      1. Accédez à Google Cloud Console.

        Accéder à la console Google Cloud

      2. Cliquez sur le sélecteur dans la barre de menu.
      3. Cliquez sur le champ Sélectionner à partir de, puis sélectionnez votre organisation.
      4. Recherchez le nom de votre dossier. L'ID du dossier figure à côté du nom du dossier.

      gcloud CLI

      Vous pouvez récupérer un ID de dossier Google Cloud situé au niveau de l'organisation à l'aide de la commande suivante:

      gcloud resource-manager folders list \
          --organization=$(gcloud organizations describe ORGANIZATION_NAME \
            --format="value(name.segment(1))") \
          --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
          --format="value(ID)"

      TOP_LEVEL_FOLDER_NAME peut être une correspondance de chaîne complète ou partielle. Supprimez l'option --format pour afficher plus d'informations sur les dossiers trouvés.

      Pour obtenir l'ID d'un dossier dans un autre dossier, répertoriez les sous-dossiers:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Trouver un ID d'organisation Google Cloud

      Console

      Pour trouver un ID d'organisation Google Cloud, procédez comme suit:

      1. Accédez à Google Cloud Console.

        Accéder à la console Google Cloud

      2. Cliquez sur le sélecteur dans la barre de menu.
      3. Cliquez sur le champ Sélectionner à partir de, puis sélectionnez votre organisation.
      4. Cliquez sur l'onglet Tous. L'ID de l'organisation s'affiche à côté de son nom.

      gcloud CLI

      Vous pouvez récupérer un ID d'organisation Google Cloud à l'aide de la commande suivante:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

Supprimez la paire clé/valeur relationshipTypes pour répertorier toutes les relations d'un projet.