Vous pouvez rechercher des ressources dans un projet, un dossier ou une organisation, et filtrer les résultats renvoyés à l'aide d'une requête.
Avant de commencer
Activez l'API Cloud Asset Inventory dans le projet à partir duquel vous exécutez les commandes inventaire des éléments cloud.
Assurez-vous que votre compte dispose du rôle approprié pour appeler l'API Cloud Asset Inventory. Pour connaître les autorisations individuelles pour chaque type d'appel, consultez Autorisations.
Créer une requête
Avant de créer une requête, il peut être utile de commencer par une requête de recherche qui ne spécifie pas de requête. Utilisez les champs et les valeurs de la réponse complète pour créer une requête à l'aide de la syntaxe des requêtes de recherche, puis affinez-la jusqu'à ce que les résultats souhaités soient renvoyés.
Les champs pouvant être utilisés dans une requête sont détaillés dans la documentation de référence searchAllResources.
Toutes les ressources ne peuvent pas faire l'objet d'une recherche. Consultez Types de ressources pour connaître les noms de ressources et vérifier s'ils sont disponibles pour les API Search.
Rechercher vos ressources
Console
Pour rechercher des métadonnées de ressources, procédez comme suit.
-
Accédez à la page Inventaire des éléments dans la console Google Cloud .
- Accédez au projet, au dossier ou à l'organisation dans lesquels vous souhaitez effectuer la recherche.
- Cliquez sur l'onglet Ressource.
-
Pour rechercher des ressources, saisissez une requête dans le champ Filtre. Pour savoir comment rédiger une requête de recherche, consultez Syntaxe des requêtes de recherche.
Pour faciliter la création de requêtes, vous pouvez cliquer sur le champ Filtre afin d'afficher et d'ajouter les champs de recherche disponibles à votre requête.
Une fois la recherche effectuée, les ressources correspondant à la requête sont listées dans le tableau Résultats. Double-cliquez sur votre requête pour la modifier ou utilisez le volet Filtrer les résultats pour limiter les résultats de recherche en fonction de critères spécifiques.
Pour afficher la requête en tant que commande Google Cloud CLI, cliquez sur Afficher la requête.
Pour exporter les résultats, cliquez sur Télécharger au format CSV.
gcloud
gcloud asset search-all-resources \ --scope=SCOPE_PATH \ --query="QUERY" \ --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \ --order-by="ORDER_BY" \ --read-mask="READ_MASK"
Indiquez les valeurs suivantes :
-
SCOPE_PATH
: utilisez l'une des valeurs suivantes :Les valeurs autorisées sont les suivantes :
-
projects/PROJECT_ID
, oùPROJECT_ID
est l'ID du projet contenant les composants que vous souhaitez rechercher. -
projects/PROJECT_NUMBER
, oùPROJECT_NUMBER
correspond au numéro du projet contenant les composants que vous souhaitez rechercher.Trouver le numéro d'un projet Google Cloud
ConsoleGoogle Cloud
Pour trouver le numéro d'un projet Google Cloud , procédez comme suit :
-
Accédez à la page d'accueil de la console Google Cloud .
- Cliquez sur la zone de liste du sélecteur dans la barre de menu.
-
Sélectionnez votre organisation dans la zone de liste, puis recherchez le nom de votre projet. Le nom, le numéro et l'ID du projet sont affichés près de l'en-tête Bienvenue.
Jusqu'à 4 000 ressources sont affichées. Si vous ne voyez pas le projet que vous recherchez, accédez à la page Gérer les ressources et filtrez la liste à l'aide du nom de ce projet.
CLI gcloud
Vous pouvez récupérer un numéro de projet Google Cloud avec la commande suivante :
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID
, oùFOLDER_ID
est l'ID du dossier contenant les composants que vous souhaitez rechercher.Trouver l'ID d'un dossier Google Cloud
ConsoleGoogle Cloud
Pour trouver l'ID d'un dossier Google Cloud , procédez comme suit :
-
Accédez à la console Google Cloud .
- Cliquez sur la zone de liste du sélecteur dans la barre de menu.
- Sélectionnez votre organisation dans la zone de liste.
- Recherchez le nom de votre dossier. L'ID du dossier s'affiche à côté de son nom.
CLI gcloud
Vous pouvez récupérer l'ID d'un 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 est une correspondance de chaîne partielle ou complète pour le nom du dossier. Supprimez l'option
--format
pour afficher plus d'informations sur les dossiers trouvés.La commande précédente ne renvoie pas les ID des sous-dossiers dans les dossiers. Pour ce faire, exécutez la commande suivante à l'aide de l'ID d'un dossier de premier niveau :
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
, oùORGANIZATION_ID
est l'ID de l'organisation qui possède les composants que vous souhaitez rechercher.Trouver l'ID d'une organisation Google Cloud
ConsoleGoogle Cloud
Pour trouver l'ID d'une organisation Google Cloud , procédez comme suit :
-
Accédez à la console Google Cloud .
- Cliquez sur la zone de liste du sélecteur dans la barre de menu.
- Sélectionnez votre organisation dans la zone de liste.
- Cliquez sur l'onglet Tous. L'ID de l'organisation s'affiche à côté de son nom.
CLI gcloud
Vous pouvez récupérer l'ID d'une organisation Google Cloud à l'aide de la commande suivante :
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
QUERY
: facultatif. Expression de la requête. Si elle n'est pas spécifiée ou vide, toutes les ressources sont recherchées dans le champ d'application spécifié. Pour savoir comment rédiger une requête de recherche, consultez Syntaxe des requêtes de recherche. ASSET_TYPE_#
: facultatif. Liste de types d'éléments pouvant faire l'objet d'une 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. Lorsque--asset-types
n'est pas spécifié, tous les types d'assets sont renvoyés.-
ORDER_BY
: facultatif. Liste de champs séparés par une virgule indiquant l'ordre de tri des résultats. L'ordre par défaut est croissant. AjoutezDESC
après le nom du champ pour indiquer l'ordre décroissant. Pour savoir quels champs peuvent être triés, consultez la documentation de référence. READ_MASK
: facultatif. Liste de champs séparés par une virgule indiquant les champs à renvoyer dans les résultats. Consultez la documentation pour connaître les champs renvoyés par défaut et les autres conditions à prendre en compte lorsque vous spécifiez un masque de lecture.
Vous pouvez utiliser les options --format
et --flatten
pour mettre en forme le résultat de gcloud CLI.
Consultez la documentation de référence de gcloud CLI pour connaître toutes les options.
Exemple
Exécutez la commande suivante pour obtenir la liste de toutes les instances Compute Engine du projet my-project
dont le nom complet de ressource contient le mot instance
suivi d'un 1
. Les résultats sont triés par ordre décroissant sur le nom. En raison du masque de lecture, seuls les champs name
et location
sont renvoyés.
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="name:instance 1" \ --asset-types=compute.googleapis.com/Instance \ --order-by="name DESC" \ --read-mask="name,location"
Exemple de réponse
--- location: us-central1-a name: //compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/instance-2-1 --- location: us-central1-a name: //compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/instance-1
REST
Méthode HTTP et URL :
POST https://cloudasset.googleapis.com/v1/SCOPE_PATH:searchAllResources
Corps JSON de la requête :
{ "query": "QUERY", "assetTypes": [ "ASSET_TYPE_1", "ASSET_TYPE_2", "..." ], "orderBy": "ORDER_BY", "pageSize": "PAGE_SIZE", "pageToken": "PAGE_TOKEN", "readMask": "READ_MASK" }
Indiquez les valeurs suivantes :
-
SCOPE_PATH
: utilisez l'une des valeurs suivantes :Les valeurs autorisées sont les suivantes :
-
projects/PROJECT_ID
, oùPROJECT_ID
est l'ID du projet contenant les composants que vous souhaitez rechercher. -
projects/PROJECT_NUMBER
, oùPROJECT_NUMBER
est le numéro du projet contenant les composants que vous souhaitez rechercher.Trouver le numéro d'un projet Google Cloud
ConsoleGoogle Cloud
Pour trouver le numéro d'un projet Google Cloud , procédez comme suit :
-
Accédez à la page d'accueil de la console Google Cloud .
- Cliquez sur la zone de liste du sélecteur dans la barre de menu.
-
Sélectionnez votre organisation dans la zone de liste, puis recherchez le nom de votre projet. Le nom, le numéro et l'ID du projet sont affichés près de l'en-tête Bienvenue.
Jusqu'à 4 000 ressources sont affichées. Si vous ne voyez pas le projet que vous recherchez, accédez à la page Gérer les ressources et filtrez la liste à l'aide du nom de ce projet.
CLI gcloud
Vous pouvez récupérer un numéro de projet Google Cloud avec la commande suivante :
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
-
folders/FOLDER_ID
, oùFOLDER_ID
est l'ID du dossier contenant les composants que vous souhaitez rechercher.Trouver l'ID d'un dossier Google Cloud
ConsoleGoogle Cloud
Pour trouver l'ID d'un dossier Google Cloud , procédez comme suit :
-
Accédez à la console Google Cloud .
- Cliquez sur la zone de liste du sélecteur dans la barre de menu.
- Sélectionnez votre organisation dans la zone de liste.
- Recherchez le nom de votre dossier. L'ID du dossier s'affiche à côté de son nom.
CLI gcloud
Vous pouvez récupérer l'ID d'un 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 est une correspondance de chaîne partielle ou complète pour le nom du dossier. Supprimez l'option
--format
pour afficher plus d'informations sur les dossiers trouvés.La commande précédente ne renvoie pas les ID des sous-dossiers dans les dossiers. Pour ce faire, exécutez la commande suivante à l'aide de l'ID d'un dossier de premier niveau :
gcloud resource-manager folders list --folder=FOLDER_ID
-
-
organizations/ORGANIZATION_ID
, oùORGANIZATION_ID
est l'ID de l'organisation qui possède les composants que vous souhaitez rechercher.Trouver l'ID d'une organisation Google Cloud
ConsoleGoogle Cloud
Pour trouver l'ID d'une organisation Google Cloud , procédez comme suit :
-
Accédez à la console Google Cloud .
- Cliquez sur la zone de liste du sélecteur dans la barre de menu.
- Sélectionnez votre organisation dans la zone de liste.
- Cliquez sur l'onglet Tous. L'ID de l'organisation s'affiche à côté de son nom.
CLI gcloud
Vous pouvez récupérer l'ID d'une organisation Google Cloud à l'aide de la commande suivante :
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
-
-
QUERY
: facultatif. Expression de la requête. Si elle n'est pas spécifiée ou vide, toutes les ressources sont recherchées dans le champ d'application spécifié. Pour savoir comment rédiger une requête de recherche, consultez Syntaxe des requêtes de recherche. ASSET_TYPE_#
: facultatif. Tableau de types d'éléments pouvant faire l'objet d'une recherche. 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. LorsqueassetTypes
n'est pas spécifié, tous les types d'assets sont renvoyés.-
ORDER_BY
: facultatif. Liste de champs séparés par une virgule indiquant l'ordre de tri des résultats. L'ordre par défaut est croissant. AjoutezDESC
après le nom du champ pour indiquer l'ordre décroissant. Pour savoir quels champs peuvent être triés, consultez la documentation de référence. -
PAGE_SIZE
: facultatif. Nombre de résultats à renvoyer par page. Le maximum est de 500. Si la valeur est définie sur0
ou sur une valeur négative, une valeur par défaut appropriée est sélectionnée. UnnextPageToken
est renvoyé pour récupérer les résultats suivants. -
PAGE_TOKEN
: facultatif. Les réponses aux requêtes longues sont réparties sur plusieurs pages. SipageToken
n'est pas spécifié, la première page est renvoyée. Les pages suivantes peuvent être appelées en utilisant lenextPageToken
de la réponse précédente comme valeurpageToken
. READ_MASK
: facultatif. Liste de champs séparés par une virgule indiquant les champs à renvoyer dans les résultats. Consultez la documentation pour connaître les champs renvoyés par défaut et les autres conditions à prendre en compte lorsque vous spécifiez un masque de lecture.
Consultez la documentation de référence REST pour toutes les options.
Exemples de commandes
Exécutez l'une des commandes suivantes pour obtenir la liste de toutes les instances Compute Engine du projet my-project
dont le nom complet de ressource contient le mot instance
suivi d'un 1
. Les résultats sont triés par ordre décroissant en fonction du nom, et seuls les champs name
et location
sont renvoyés.
curl (Linux, macOS ou Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "query": "name:instance 1", "assetTypes": ["compute.googleapis.com/Instance"], "orderBy": "name DESC", "readMask": "name,location" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "query": "name:instance 1", "assetTypes": ["compute.googleapis.com/Instance"], "orderBy": "name DESC", "readMask": "name,location" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Exemple de réponse
{ "results": [ { "name": "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/instance-2-1", "location": "us-central1-a" }, { "name": "//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/instance-1", "location": "us-central1-a" } ] }
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour inventaire des éléments cloud, consultez la page Bibliothèques clientes Cloud Asset Inventory.
Pour vous authentifier auprès de inventaire des éléments cloud, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour inventaire des éléments cloud, consultez la page Bibliothèques clientes Cloud Asset Inventory.
Pour vous authentifier auprès de inventaire des éléments cloud, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour inventaire des éléments cloud, consultez la page Bibliothèques clientes Cloud Asset Inventory.
Pour vous authentifier auprès de inventaire des éléments cloud, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour inventaire des éléments cloud, consultez la page Bibliothèques clientes Cloud Asset Inventory.
Pour vous authentifier auprès de inventaire des éléments cloud, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour inventaire des éléments cloud, consultez la page Bibliothèques clientes Cloud Asset Inventory.
Pour vous authentifier auprès de inventaire des éléments cloud, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour inventaire des éléments cloud, consultez la page Bibliothèques clientes Cloud Asset Inventory.
Pour vous authentifier auprès de inventaire des éléments cloud, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour savoir comment installer et utiliser la bibliothèque cliente pour inventaire des éléments cloud, consultez la page Bibliothèques clientes Cloud Asset Inventory.
Pour vous authentifier auprès de inventaire des éléments cloud, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Autres exemples de recherches
Les exemples de code suivants montrent des requêtes de recherche spécifiques pour gcloud et REST afin de vous aider à créer vos propres recherches.
Toutes les ressources d'un projet
L'exemple suivant montre comment rechercher toutes les ressources du projet my-project
.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --format="table(assetType.basename(), name.basename(), name.scope(projects).segment(0):label=PROJECT_ID, labels)"
REST
Méthode HTTP et URL :
GET https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Exemples de commandes
curl (Linux, macOS ou Cloud Shell)
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Instances Compute Engine par description
L'exemple suivant montre comment rechercher des instances Compute Engine dans le projet my-project
portant le nom exact instance-prod
.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="description=instance-prod" \ --asset-types=compute.googleapis.com/Instance \ --format="table(name, assetType, location)"
REST
Méthode HTTP et URL :
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Corps JSON de la requête :
{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "description=instance-prod", "readMask": "name,assetType,location" }
Exemples de commandes
curl (Linux, macOS ou Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "description=instance-prod", "readMask": "name,assetType,location" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "description=instance-prod", "readMask": "name,assetType,location" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Pour rechercher les instances dont le nom contient instance-prod
(par exemple, instance-prod-1
et instance-prod-2
) au lieu d'une correspondance exacte, remplacez =instance-prod
par :instance-prod
.
Instances Compute Engine par libellé
L'exemple suivant montre comment rechercher des instances Compute Engine dans le projet my-project
avec un libellé nommé env
.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="labels.env:*" \ --asset-types=compute.googleapis.com/Instance \ --format="table(name, assetType, labels)"
REST
Méthode HTTP et URL :
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Corps JSON de la requête :
{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "labels.env:*", "readMask": "name,assetType,labels" }
Exemples de commandes
curl (Linux, macOS ou Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "labels.env:*", "readMask": "name,assetType,labels" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "labels.env:*", "readMask": "name,assetType,labels" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Instances Compute Engine par TagKey
L'exemple suivant montre comment rechercher des instances Compute Engine dans le projet my-project
qui ont des tags directement associés avec une TagKey
.namespacedName
contenant env
.
Pour effectuer une recherche par TagKeys effectifs, remplacez tagKeys
par effectiveTagKeys
.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="tagKeys:env" \ --asset-types=compute.googleapis.com/Instance \ --format="table(name, assetType, tags)"
REST
Méthode HTTP et URL :
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Corps JSON de la requête :
{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "tagKeys:env", "readMask": "name,assetType,tags" }
Exemples de commandes
curl (Linux, macOS ou Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "tagKeys:env", "readMask": "name,assetType,tags" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "tagKeys:env", "readMask": "name,assetType,tags" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Instances Compute Engine par TagValue
L'exemple suivant montre comment rechercher des instances Compute Engine dans le projet my-project
qui ont des tags directement associés où TagValue
.namespacedName
contient prod
ou sea
, et le nom de l'instance ne contient pas instance1
.
Pour effectuer une recherche par valeurs de tag effectives, remplacez tagValues
par effectiveTagValues
.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="tagValues:(prod OR sea) (NOT name:instance1)" \ --asset-types=compute.googleapis.com/Instance \ --format="table(name, assetType, tags)"
REST
Méthode HTTP et URL :
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Corps JSON de la requête :
{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "tagValues:(prod OR sea) (NOT name:instance1)", "readMask": "name,assetType,tags" }
Exemples de commandes
curl (Linux, macOS ou Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "tagValues:(prod OR sea) (NOT name:instance1)", "readMask": "name,assetType,tags" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "tagValues:(prod OR sea) (NOT name:instance1)", "readMask": "name,assetType,tags" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Instances Compute Engine créées après une heure spécifique
L'exemple suivant montre comment rechercher des instances Compute Engine dans le projet my-project
qui ont été créées après le 31 décembre 2023.
Pour en savoir plus sur les comparaisons de date et heure, consultez Comparaison des valeurs numériques et des codes temporels.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="createTime>2023-31-12" \ --asset-types=compute.googleapis.com/Instance \ --format="table(name, assetType, location)"
REST
Méthode HTTP et URL :
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Corps JSON de la requête :
{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "createTime>2023-31-12", "readMask": "name,assetType,location" }
Exemples de commandes
curl (Linux, macOS ou Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "createTime>2023-31-12", "readMask": "name,assetType,location" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "createTime>2023-31-12", "readMask": "name,assetType,location" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Instances Compute Engine situées aux États-Unis
L'exemple suivant montre comment rechercher des instances Compute Engine dans le projet my-project
situé aux États-Unis.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="location:us-*" \ --asset-types=compute.googleapis.com/Instance \ --format="table(name, assetType, location)"
REST
Méthode HTTP et URL :
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Corps JSON de la requête :
{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "location:us-*", "readMask": "name,assetType,location" }
Exemples de commandes
curl (Linux, macOS ou Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "location:us-*", "readMask": "name,assetType,location" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "location:us-*", "readMask": "name,assetType,location" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Instances Compute Engine en cours d'exécution
L'exemple suivant montre comment rechercher des instances Compute Engine en cours d'exécution dans le projet my-project
.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="state=RUNNING" \ --asset-types=compute.googleapis.com/Instance \ --read-mask="name,assetType,location,versionedResources" \ --format="table(name, assetType, location, versionedResources)"
REST
Méthode HTTP et URL :
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Corps JSON de la requête :
{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "state=RUNNING", "readMask": "name,assetType,location,versionedResources" }
Exemples de commandes
curl (Linux, macOS ou Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "state=RUNNING", "readMask": "name,assetType,location,versionedResources" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "compute.googleapis.com/Instance", "pageSize": 1, "query": "state=RUNNING", "readMask": "name,assetType,location,versionedResources" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Stratégies de refus IAM
L'exemple suivant montre comment rechercher des stratégies de refus IAM dans le projet my-project
.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --asset-types=iam.googleapis.com/PolicyV2 \ --query="name:denypolicies"
REST
Méthode HTTP et URL :
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Corps JSON de la requête :
{ "assetTypes": "iam.googleapis.com/PolicyV2", "pageSize": 1, "query": "name:denypolicies" }
Exemples de commandes
curl (Linux, macOS ou Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "assetTypes": "iam.googleapis.com/PolicyV2", "pageSize": 1, "query": "name:denypolicies" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "assetTypes": "iam.googleapis.com/PolicyV2", "pageSize": 1, "query": "name:denypolicies" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Pour rechercher les instances Compute Engine qui ne sont pas en cours d'exécution, remplacez state=RUNNING
par NOT state:running
.
Ressources Google Cloud associées
Les requêtes sur les relations nécessitent d'avoir accès au niveau Premium ou Enterprise de Security Command Center ou à Gemini Cloud Assist.
L'exemple suivant montre comment rechercher des ressources associées dans le projet my-project
pour les types de relations compatibles. Par exemple, recherchez toutes les instances Compute Engine qui font partie de groupes d'instances dont le nom complet de ressource contient instance-group
.
gcloud
gcloud asset search-all-resources \ --scope=projects/my-project \ --query="relationships:instance-group" \ --format="table(name, assetType, relationships)"
REST
Méthode HTTP et URL :
POST https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
Corps JSON de la requête :
{ "pageSize": 1, "query": "relationships:instance-group", "readMask": "name,assetType,relationships" }
Exemples de commandes
curl (Linux, macOS ou Cloud Shell)
curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d '{ "pageSize": 1, "query": "relationships:instance-group", "readMask": "name,assetType,relationships" }' \ https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources
PowerShell (Windows)
$cred = gcloud auth print-access-token $headers = @{ "X-HTTP-Method-Override" = "GET"; "Authorization" = "Bearer $cred" } $body = @" { "pageSize": 1, "query": "relationships:instance-group", "readMask": "name,assetType,relationships" } "@ Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Body $body ` -Uri "https://cloudasset.googleapis.com/v1/projects/my-project:searchAllResources" | Select-Object -Expand Content
Vous pouvez également spécifier le type de relation que vous souhaitez rechercher. Par exemple, pour rechercher le type de relation INSTANCE_TO_INSTANCEGROUP
, utilisez la requête relationships.INSTANCE_TO_INSTANCEGROUP
. Pour rechercher ce type de relation avec un nom de ressource complet contenant instance-group
, utilisez la requête relationships.INSTANCE_TO_INSTANCEGROUP:instance-group
.