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
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.
Installez la Google Cloud CLI sur votre client local.
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 erreurINVALID_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:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cliquez sur le champ Sélectionner à partir de, puis sélectionnez votre organisation.
- 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)"
Où 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 erreurINVALID_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:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cliquez sur le champ Sélectionner à partir de, puis sélectionnez votre organisation.
- 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 erreurINVALID_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 erreurINVALID_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 dunextPageToken
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:
-
Accédez à la page Tableau de bord dans la console Google Cloud.
- Cliquez sur le sélecteur dans la barre de menu.
- Sélectionnez votre organisation dans la zone Sélectionner à partir de, puis recherchez le nom de votre projet.
- 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:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cliquez sur le champ Sélectionner à partir de, puis sélectionnez votre organisation.
- 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)"
Où 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:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cliquez sur le champ Sélectionner à partir de, puis sélectionnez votre organisation.
- 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:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cliquez sur le champ Sélectionner à partir de, puis sélectionnez votre organisation.
- 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)"
Où 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:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cliquez sur le champ Sélectionner à partir de, puis sélectionnez votre organisation.
- 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 dunextPageToken
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:
-
Accédez à la page Tableau de bord dans la console Google Cloud.
- Cliquez sur le sélecteur dans la barre de menu.
- Sélectionnez votre organisation dans la zone Sélectionner à partir de, puis recherchez le nom de votre projet.
- 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:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cliquez sur le champ Sélectionner à partir de, puis sélectionnez votre organisation.
- 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)"
Où 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:
-
Accédez à Google Cloud Console.
- Cliquez sur le sélecteur dans la barre de menu.
- Cliquez sur le champ Sélectionner à partir de, puis sélectionnez votre organisation.
- 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.