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 la section 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 de requête 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 sur searchAllResources.
Toutes les ressources ne peuvent pas faire l'objet d'une recherche. Consultez la section Types de ressources pour connaître les noms de ressources et vérifier s'ils sont disponibles pour les API de recherche.
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 une 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 la section Syntaxe des requêtes de recherche.
Pour faciliter la création de requêtes, vous pouvez cliquer sur le champ Filtrer pour afficher et ajouter les champs disponibles à votre requête.
Après avoir effectué une recherche, les ressources correspondant à la requête sont répertoriées dans le tableau Résultats. Double-cliquez sur votre requête pour la modifier ou utilisez le volet Filtrer les résultats pour affiner 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
est le numéro du projet contenant les éléments que vous souhaitez rechercher.Trouver un numéro de projet Google Cloud
Google Cloud console
Pour trouver un numéro de projet Google Cloud , procédez comme suit:
-
Accédez à la page Bienvenue dans la console Google Cloud .
- Cliquez sur la liste déroulante Basculateur dans la barre de menu.
-
Sélectionnez votre organisation dans la 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 peuvent être affichées. Si le projet que vous recherchez ne s'affiche pas, accédez à la page Gérer les ressources et filtrez la liste en utilisant le nom de ce projet.
CLI gcloud
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
, oùFOLDER_ID
est l'ID du dossier contenant les éléments que vous souhaitez rechercher.Trouver l'ID d'un dossier Google Cloud
Google Cloud console
Pour trouver l'ID d'un dossier Google Cloud , procédez comme suit:
-
Accédez à la console Google Cloud .
- Cliquez sur la liste déroulante Basculateur dans la barre de menu.
- Sélectionnez votre organisation dans la 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 correspond à une correspondance partielle ou complète de la chaîne pour le nom du dossier. Supprimez l'indicateur
--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 niveau supérieur:
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
Google Cloud console
Pour trouver l'ID d'une organisation Google Cloud , procédez comme suit:
-
Accédez à la console Google Cloud .
- Cliquez sur la liste déroulante Basculateur dans la barre de menu.
- Sélectionnez votre organisation dans la 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 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 la section Syntaxe des requêtes de recherche. ASSET_TYPE_#
: facultatif. Liste des 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. Consultez la documentation de référence pour connaître les champs pouvant être triés. READ_MASK
: facultatif. Liste de champs séparés par une virgule indiquant les champs à renvoyer dans les résultats. Consultez la page pour connaître les champs renvoyés par défaut et les autres conditions à prendre en compte lors de la spécification d'un masque de lecture.
Vous pouvez utiliser les options --format
et --flatten
pour formater la sortie de gcloud CLI.
Consultez la documentation de référence de la gcloud CLI pour toutes les options.
Exemple
Exécutez la commande suivante pour obtenir la liste de toutes les instances Compute Engine du projet my-project
contenant le mot instance
suivi d'un 1
dans leur nom de ressource complet. Les résultats sont triés par ordre décroissant en fonction du nom, et 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 éléments que vous souhaitez rechercher.Trouver un numéro de projet Google Cloud
Google Cloud console
Pour trouver un numéro de projet Google Cloud , procédez comme suit:
-
Accédez à la page Bienvenue dans la console Google Cloud .
- Cliquez sur la liste déroulante Basculateur dans la barre de menu.
-
Sélectionnez votre organisation dans la 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 peuvent être affichées. Si le projet que vous recherchez ne s'affiche pas, accédez à la page Gérer les ressources et filtrez la liste en utilisant le nom de ce projet.
CLI gcloud
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
, oùFOLDER_ID
est l'ID du dossier contenant les éléments que vous souhaitez rechercher.Trouver l'ID d'un dossier Google Cloud
Google Cloud console
Pour trouver l'ID d'un dossier Google Cloud , procédez comme suit:
-
Accédez à la console Google Cloud .
- Cliquez sur la liste déroulante Basculateur dans la barre de menu.
- Sélectionnez votre organisation dans la 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 correspond à une correspondance partielle ou complète de la chaîne pour le nom du dossier. Supprimez l'indicateur
--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 niveau supérieur:
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
Google Cloud console
Pour trouver l'ID d'une organisation Google Cloud , procédez comme suit:
-
Accédez à la console Google Cloud .
- Cliquez sur la liste déroulante Basculateur dans la barre de menu.
- Sélectionnez votre organisation dans la 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 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 la section 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. Consultez la documentation de référence pour connaître les champs pouvant être triés. -
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. LorsquepageToken
n'est pas spécifié, la première page est renvoyée. Les pages suivantes peuvent être appelées en utilisant l'nextPageToken
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 page pour connaître les champs renvoyés par défaut et les autres conditions à prendre en compte lors de la spécification d'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
contenant le mot instance
suivi d'un 1
dans leur nom de ressource complet. Les résultats sont triés par ordre décroissant par 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.
Exemples de recherches supplémentaires
Les exemples de code suivants présentent 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
avec 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 des instances contenant instance-prod
dans leur nom (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 étiquette
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 associés directement avec un TagKey
.namespacedName
contenant env
.
Pour rechercher des TagKeys efficaces à la place, 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 rechercher des valeurs de balise 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
créées après le 31 décembre 2023.
Pour en savoir plus sur les comparaisons de date et d'heure, consultez la section Comparaison numérique et horodatage.
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 situées aux États-Unis dans le projet my-project
.
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 exécutées 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 règles 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 des instances Compute Engine qui ne sont pas en cours d'exécution, remplacez state=RUNNING
par NOT state:running
.
Ressources associées Google Cloud
Les requêtes de relations nécessitent un 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 contenant instance-group
dans leur nom de ressource complet.
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
.