Rechercher des stratégies d'autorisation IAM

L'API Cloud Asset vous permet d'utiliser un langage de requête personnalisé pour rechercher des stratégies d'autorisation IAM (Identity and Access Management) dans un projet, un dossier ou une organisation.

Avant de commencer

Rechercher des stratégies d'autorisation

Console

Pour rechercher dans toutes les stratégies d'autorisation IAM, procédez comme suit.

  1. Accédez à la page Inventaire des éléments de la console Google Cloud.

    Accéder à l'inventaire des éléments

  2. Pour définir le champ d'application de votre recherche, ouvrez la liste des projets dans la barre de menu, puis sélectionnez l'organisation, le dossier ou le projet à interroger.

  3. Sélectionnez l'onglet Stratégie IAM.

  4. Pour effectuer une recherche dans les règles d'autorisation, vous pouvez utiliser une requête prédéfinie ou créer la vôtre.

    • Pour utiliser une requête prédéfinie, sélectionnez les options de Préréglages de requête dans le volet Filtrer les résultats. Pour filtrer les résultats, sélectionnez des options dans Filtres.

    • Pour créer votre propre requête, saisissez le texte de la requête dans la barre Filtre. Sélectionnez la zone de texte. Une liste de champs de recherche s'affiche. La recherche de stratégies accepte plusieurs champs. Apprenez-en plus sur la syntaxe des requêtes.

Les règles d'autorisation correspondant à la requête sont répertoriées dans la table Result.

Pour afficher la requête sous la forme d'une commande Google Cloud CLI, sélectionnez Afficher la requête.

Pour exporter les résultats, sélectionnez Télécharger au format CSV.

gcloud

Vous pouvez appeler SearchAllIamPolicies à l'aide de la commande gcloud asset search-all-iam-policies. Vous devez exécuter la Google Cloud CLI version 302.0.0 ou ultérieure. Vous pouvez vérifier votre version à l'aide de la commande gcloud version:

gcloud asset search-all-iam-policies \
    --scope=SCOPE \
    --query="QUERY" \
    --asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
    --order-by=ORDER_BY

Indiquez les valeurs suivantes :

  • SCOPE : valeur obligatoire. Un champ d'application peut être un projet, un dossier ou une organisation. La recherche est limitée aux stratégies d'autorisation IAM de ce champ d'application. L'appelant doit disposer d'un rôle contenant l'autorisation cloudasset.assets.searchAllIamPolicies sur le champ d'application sélectionné. Si aucune valeur n'est spécifiée, la propriété de projet configurée est utilisée.

    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 basculer vers ce projet. Le numéro de projet est indiqué dans 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. Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
      4. Recherchez le nom de votre dossier. L'ID du dossier est indiqué à côté de son nom.

      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. Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
      4. Cliquez sur l'onglet Tous. L'ID de l'organisation est affiché à 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))"

  • QUERY : facultatif. Instruction de requête. Pour en savoir plus, consultez la section Syntaxe des requêtes. Si elle n'est pas spécifiée ou vide, elle recherche toutes les stratégies d'autorisation IAM dans le scope spécifié. Notez que la chaîne de requête est comparée à chaque liaison de stratégie d'autorisation, y compris ses comptes principaux, ses rôles et ses conditions IAM. Les stratégies d'autorisation renvoyées ne contiennent que les liaisons qui correspondent à votre requête. Pour en savoir plus sur la structure des règles d'autorisation, consultez la page Comprendre les règles.

    Exemples :

    • policy:amy@gmail.com pour rechercher les liaisons de stratégie d'autorisation qui spécifient l'utilisateur "amy@gmail.com".

    • policy:roles/compute.admin pour rechercher les liaisons de stratégie d'autorisation qui spécifient le rôle d'administrateur de Compute.

    • policy:comp* pour rechercher les liaisons de stratégie d'autorisation contenant "comp" comme préfixe de n'importe quel mot de la liaison.

    • policy.role.permissions:storage.buckets.update pour rechercher les liaisons de stratégie d'autorisation qui spécifient un rôle contenant l'autorisation "storage.buckets.update". Notez que si l'appelant n'a pas reçu de rôle contenant l'autorisation iam.roles.get sur le rôle souhaité, les liaisons de stratégie qui spécifient ce rôle sont supprimées des résultats de recherche.

    • policy.role.permissions:upd* pour rechercher les liaisons de stratégie d'autorisation qui spécifient un rôle contenant "upd" en tant que préfixe de n'importe quel mot de la liaison. Notez que si l'appelant ne s'est pas vu attribuer un rôle contenant l'autorisation iam.roles.get sur le rôle souhaité, les liaisons de stratégie qui spécifient ce rôle sont supprimées des résultats de recherche.

    • resource:organizations/123456 pour rechercher les liaisons de stratégie d'autorisation définies dans "organizations/123456".

    • resource=//cloudresourcemanager.googleapis.com/projects/myproject pour rechercher les liaisons de stratégie d'autorisation définies sur le projet nommé "myproject".

    • Important pour rechercher les liaisons de stratégie d'autorisation contenant le mot "Important" dans l'un des champs inclus dans l'index de recherche (à l'exception des autorisations incluses).

    • resource:(instance1 OR instance2) policy:amy pour rechercher les liaisons de stratégie d'autorisation définies sur les ressources "instance1" ou "instance2", et qui spécifient également l'utilisateur "amy".

    • roles:roles/compute.admin pour rechercher les liaisons de stratégie d'autorisation qui spécifient le rôle d'administrateur de Compute.

    • memberTypes:user pour rechercher les liaisons de stratégie d'autorisation qui contiennent le type de compte principal "utilisateur".

  • ASSET_TYPE : facultatif. Liste des types d'éléments auxquels les stratégies d'autorisation Identity and Access Management sont associées. Si ce champ est vide, il recherche les stratégies d'autorisation Identity and Access Management associées à tous les 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.

  • ORDER_BY : facultatif. Liste de champs séparés par une virgule spécifiant l'ordre de tri des résultats. L'ordre par défaut est croissant. Ajoutez DESC après le nom du champ pour indiquer l'ordre décroissant. Les espaces vides sont ignorés. Exemple : "assetType DESC, resource". Seuls les champs primitifs singuliers de la réponse peuvent être triés :

    • resource

    • assetType

    • project

    Tous les autres champs, tels que les champs répétés (par exemple, folders) et les champs non primitifs (par exemple, policy), ne sont pas acceptés.

Voici des exemples de commandes gcloud :

  • Recherchez toutes les liaisons de stratégie d'autorisation IAM dans votre organizations/123456 contenant le domaine mycompany.com:

    gcloud asset search-all-iam-policies \
        --scope=organizations/123456 \
        --query="policy:\"domain:mycompany.com\""
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM dans votre organizations/123456, où le rôle de base Propriétaire (roles/owner) a été attribué à myuser@mycompany.com:

    gcloud asset search-all-iam-policies \
        --scope=organizations/123456 \
        --query="policy:(roles/owner myuser@mycompany.com)"
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM dans votre organizations/123456 définies sur projects/12345678:

    gcloud asset search-all-iam-policies \
        --scope=organizations/123456 \
        --query="resource:projects/12345678"
    

REST

Vous pouvez appeler SearchAllIamPolicies à l'aide d'un jeton OAuth valide pour un projet. Pour appeler la méthode SearchAllIamPolicies à partir de Cloud Shell ou de toute console où la commande gcloud est disponible, procédez comme suit :

  1. Si vous n'avez pas configuré l'écran de consentement OAuth de votre projet, vous devez le faire. Vous devez indiquer une adresse e-mail et un nom de produit.

    1. Accédez à l'écran de consentement OAuth de votre projet.

      Configurer l'écran de consentement

    2. Saisissez le nom de l'application que vous souhaitez afficher.

    3. Sous Adresse e-mail d'assistance, sélectionnez l'adresse e-mail que vous souhaitez afficher en tant que contact public. Il doit s'agir de votre adresse e-mail ou d'un groupe Google dont vous êtes propriétaire.

    4. Ajoutez des détails, si nécessaire.

    5. Cliquez sur Enregistrer.

  2. Créez un jeton OAuth pour votre projet. Pour en savoir plus, consultez la page Configurer OAuth 2.0.

    1. Accédez à la page "Créer un ID client OAuth".

      Créer un client OAuth

    2. Sélectionnez le Type d'application en choisissant Application de bureau.

    3. Cliquez sur Créer.

  3. Téléchargez le fichier client_secret.json.

    1. Accédez à la page Identifiants.

    2. À droite de votre nouvel ID client, cliquez sur Télécharger JSON.

    3. Stockez le fichier de manière sécurisée dans un emplacement auquel seule votre application peut accéder.

  4. Connectez-vous à l'aide du fichier JSON avec la commande suivante.

    gcloud auth application-default login --client-id-file=YOUR_JSON_FILE
    

    Cette commande vous invite à ouvrir un lien. Assurez-vous que la page affiche le nom de l'application que vous avez défini dans votre écran de consentement OAuth.

  5. Vous pouvez désormais interroger les stratégies d'autorisation IAM à l'aide des commandes curl.

    curl -X POST \
         -H "X-HTTP-Method-Override: GET" \
         -H "Authorization: Bearer $(gcloud auth print-access-token)" \
         -H "Content-Type: application/json" \
         -d '{
              "assetTypes": [
                "ASSET_TYPE_1",
                "ASSET_TYPE_2",
                "..."
              ],
              "orderBy": "ORDER_BY",
              "pageSize": PAGE_SIZE,
              "query": "QUERY"
             }' \
         https://cloudasset.googleapis.com/v1/SCOPE:searchAllIamPolicies
    

    Fournissez les informations suivantes:

    • ASSET_TYPE : facultatif. Liste des types d'éléments auxquels les stratégies d'autorisation Identity and Access Management sont associées. Si ce champ est vide, il recherche les stratégies d'autorisation Identity and Access Management associées à tous les 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.

    • ORDER_BY : facultatif. Liste de champs séparés par une virgule spécifiant l'ordre de tri des résultats. Par défaut, l'ordre est croissant. Ajoutez DESC après le nom du champ pour indiquer l'ordre décroissant. Les espaces vides sont ignorés. Exemple : "assetType DESC, resource". Seuls les champs primitifs singuliers de la réponse peuvent être triés :

      • resource

      • assetType

      • project

      Tous les autres champs, tels que les champs répétés (par exemple, folders) et les champs non primitifs (par exemple, policy), ne sont pas acceptés.

    • PAGE_SIZE : facultatif. Nombre de résultats à renvoyer par page. Le maximum est de 2 000. Si la valeur est définie sur 0 ou sur une valeur négative, une valeur par défaut appropriée est sélectionnée. Un nextPageToken est renvoyé pour récupérer les résultats suivants.

    • QUERY : facultatif. Instruction de requête. Pour en savoir plus, consultez la section Syntaxe des requêtes. Si elle n'est pas spécifiée ou vide, elle recherche toutes les stratégies d'autorisation IAM dans le scope spécifié. Notez que la chaîne de requête est comparée à chaque liaison de stratégie d'autorisation, y compris à ses comptes principaux, ses rôles et ses conditions IAM. Les stratégies d'autorisation renvoyées ne contiennent que les liaisons qui correspondent à votre requête. Pour en savoir plus sur la structure des règles d'autorisation, consultez la section Comprendre les règles d'autorisation.

      Exemples :

      • policy:amy@gmail.com pour rechercher les liaisons de stratégie d'autorisation qui spécifient l'utilisateur "amy@gmail.com".

      • policy:roles/compute.admin pour rechercher les liaisons de stratégie d'autorisation spécifiant le rôle d'administrateur de Compute.

      • policy:comp* pour rechercher les liaisons de stratégie d'autorisation contenant "comp" comme préfixe de n'importe quel mot dans la liaison.

      • policy.role.permissions:storage.buckets.update pour rechercher les liaisons de stratégie d'autorisation qui spécifient un rôle contenant l'autorisation "storage.buckets.update". Notez que si l'appelant n'a pas reçu de rôle contenant l'autorisation iam.roles.get sur le rôle souhaité, les liaisons de stratégie qui spécifient ce rôle sont supprimées des résultats de recherche.

      • policy.role.permissions:upd* pour rechercher les liaisons de stratégie d'autorisation qui spécifient un rôle contenant "upd" en tant que préfixe de n'importe quel mot de l'autorisation du rôle. Notez que si l'appelant n'a pas reçu de rôle contenant l'autorisation iam.roles.get sur le rôle souhaité, les liaisons de stratégie qui spécifient ce rôle sont supprimées des résultats de recherche.

      • resource:organizations/123456 pour rechercher les liaisons de stratégie d'autorisation définies dans "organizations/123456".

      • resource=//cloudresourcemanager.googleapis.com/projects/myproject pour rechercher les liaisons de stratégie d'autorisation définies sur le projet nommé "myproject".

      • Important pour rechercher les liaisons de stratégie d'autorisation contenant le mot "Important" dans l'un des champs inclus dans l'index de recherche (à l'exception des autorisations incluses).

      • resource:(instance1 OR instance2) policy:amy pour rechercher les liaisons de stratégie d'autorisation définies sur les ressources "instance1" ou "instance2", et spécifier également l'utilisateur "amy".

      • roles:roles/compute.admin pour rechercher les liaisons de stratégie d'autorisation spécifiant le rôle d'administrateur de Compute.

      • memberTypes:user pour rechercher les liaisons de stratégie d'autorisation qui contiennent le type de compte principal "utilisateur".

    • SCOPE: un champ d'application peut être un projet, un dossier ou une organisation. La recherche est limitée aux stratégies d'autorisation IAM de ce champ d'application. L'appelant doit disposer d'un rôle contenant l'autorisation cloudasset.assets.searchAllIamPolicies sur le champ d'application sélectionné. Si aucune valeur n'est spécifiée, la propriété de projet configurée est utilisée.

      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 basculer vers ce projet. Le numéro de projet est indiqué dans 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. Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
        4. Recherchez le nom de votre dossier. L'ID du dossier est indiqué à côté de son nom.

        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. Cochez la case Sélectionner à partir de, puis sélectionnez votre organisation.
        4. Cliquez sur l'onglet Tous. L'ID de l'organisation est affiché à 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))"

Documentation de référence sur la bibliothèque cliente et l'API

Comment construire une requête

Pour en savoir plus sur le langage de requête, consultez la section Syntaxe des requêtes.

Consultez la section Rechercher des exemples de stratégies d'autorisation IAM pour en savoir plus sur les exemples de requêtes pour divers cas d'utilisation réels.

Interroger les stratégies d'autorisation IAM via des informations de liaison

Pour rechercher des stratégies d'autorisation IAM, une expression de requête présente le format suivant:

policy:QUERY

Vous pouvez également rechercher exclusivement les types de comptes principaux ou de rôles aux formats suivants :

  • Mot clé exact:

    • memberTypes=QUERY

    • roles=QUERY

  • Correspondance partielle:

    • memberTypes:QUERY

    • roles:QUERY

Compte principal

Les liaisons de stratégie d'autorisation IAM sont compatibles avec cinq types de comptes principaux:

  1. Comptes Google, tels que user:user@gmail.com

  2. Google Groupes, tels que group:devs@googlegroups.com

  3. Domaines Cloud Identity et G Suite, tels que domain:google.com

  4. Comptes de service, tels que serviceAccount:my-other-app@appspot.gserviceaccount.com

  5. Identifiants spéciaux, tels que allUsers et allAuthenticatedUsers

Vous pouvez limiter votre requête de façon à autoriser les stratégies liées à un utilisateur spécifique à l'aide de la syntaxe suivante:

policy:"user:amy@mycompany.com"

Notez que vous devez saisir user:amy@mycompany.com avec des guillemets doubles, car il contient le caractère spécial :. Vous pouvez omettre le préfixe user: ou group: dans une chaîne de requête, si la valeur de la requête est suffisamment unique ou si vous souhaitez rechercher l'adresse e-mail quel que soit le type de compte principal. Par exemple, la requête suivante ne correspond probablement qu'à un utilisateur:

policy:amy@mycompany.com

Vous pouvez également limiter votre requête aux stratégies liées à un type de compte principal spécifique à l'aide de la syntaxe suivante :

policy:user
memberTypes:user
memberTypes=user

Il est possible que policy:user corresponde à un autre type de compte principal. Par exemple, group:test-user@mycompany.com. Utilisez memberTypes pour limiter la recherche à des types de comptes principaux spécifiques.

Exemples : requête par compte principal
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM qui spécifient l'utilisateur Amy:

    policy:amy
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM qui spécifient le domaine mydomain.com:

    policy:mydomain.com
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM qui spécifient les utilisateurs Amy et John:

    policy:(amy john)
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM qui spécifient l'utilisateur Amy ou John:

    policy:(amy OR john)
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM dans votre organisation contenant amy@mycompany.com:

    policy:amy@mycompany.com
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM de votre organisation qui contiennent le domaine mycompany.com:

    policy:"domain:mycompany.com"
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM qui attribuent des rôles au compte de service mycompany.gserviceaccount.com:

    policy:"serviceAccount:mycompany.gserviceaccount.com"
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM qui attribuent des rôles au groupe admins:

    policy:"group:admins"
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM qui attribuent des rôles à tous les utilisateurs:

    memberTypes:allUsers
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM qui attribuent des rôles à tous les utilisateurs authentifiés:

    memberTypes:allAuthenticatedUsers
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM qui attribuent des rôles à amy@mycompany.com ou au domaine mycompany.com:

    policy:(amy@mycompany.com OR "domain:mycompany.com")
    

Rôle

Les liaisons de stratégie d'autorisation IAM prennent en charge différents types de rôles. Tous les noms de rôle IAM commencent par le préfixe roles/.

  1. Les rôles de base: trois rôles existaient avant l'introduction d'IAM: Propriétaire (roles/owner), Éditeur (roles/editor) et Lecteur (roles/viewer).

  2. Rôles prédéfinis: IAM fournit des rôles prédéfinis supplémentaires qui accordent un accès précis à différentes ressources. Consultez tous les rôles prédéfinis.

  3. Rôles personnalisés : Rôles IAM définis par l'utilisateur contenant une liste organisée d'autorisations.

Vous pouvez limiter votre requête afin d'autoriser les stratégies liées à un rôle spécifique à l'aide de la syntaxe suivante:

policy:roles/role-name
roles:roles/role-name
roles=roles/role-name

Notez que vous pouvez omettre le préfixe roles/ dans une chaîne de requête si la valeur de la requête est suffisamment unique. Par exemple, la requête suivante ne correspond probablement qu'au rôle roles/cloudasset.owner:

policy:cloudasset.owner
roles:cloudasset.owner

Il est possible que policy:cloudasset.owner corresponde à un rôle différent. Par exemple, lorsqu'un rôle est attribué au compte principal user:cloudasset.owner@mycompany.com. Utilisez roles pour limiter la recherche aux rôles.

Exemples : requête par rôle
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM qui spécifient le rôle owner.

    policy:roles/owner
    roles:roles/owner
    roles=roles/owner
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM qui attribuent le rôle de propriétaire à amy@mycompany.com:

    policy:(roles/owner amy@mycompany.com)
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM qui attribuent le rôle compute.admin aux comptes principaux dont l'adresse e-mail contient le mot john:

    policy:(roles/compute.admin john)
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM qui accordent le rôle viewer aux utilisateurs ayant le préfixe "swe" ou "sde".

    policy:(roles/viewer (swe* OR sde*))
    

Conditions IAM

Les liaisons de stratégie d'autorisation IAM peuvent contenir un objet condition, qui vous permet de définir et d'appliquer contrôle des accès conditionnel et basé sur des attributs pour les ressources Google Cloud. Pour en savoir plus, consultez la page Présentation des conditions IAM.

Vous pouvez limiter votre requête aux stratégies liées à une condition spécifique à l'aide de la syntaxe suivante:

policy:condition_information
Exemples : requête par condition
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM qui spécifient une condition, dont le titre/la description contient le mot "myCondition":

    policy:myCondition
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM qui spécifient une condition, dont l'expression contient l'attribut "request.time":

    policy:"request.time"
    

Interroger les stratégies d'autorisation IAM par autorisations incluses

Les rôles d'une stratégie d'autorisation peuvent inclure une liste d'autorisations. Pour en savoir plus, consultez la documentation de référence sur les autorisations IAM. Vous pouvez limiter votre requête aux stratégies contenant une autorisation spécifique. L'expression de requête se présente sous les formats suivants:

  • Mot clé exact: policy.role.permissions=QUERY
  • Correspondance partielle: policy.role.permissions:QUERY
Exemples : requête par autorisations
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM contenant l'autorisation compute.instances.create:

    policy.role.permissions:compute.instances.create
    policy.role.permissions=compute.instances.create
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM contenant les autorisations associées compute.instances:

    policy.role.permissions:compute.instances
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM contenant les autorisations cloudasset.assets.export... (par exemple, cloudasset.assets.exportAssets et cloudasset.assets.exportIamPolicyAnalysis):

    policy.role.permissions:cloudasset.assets.export*
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM qui accordent à un utilisateur l'autorisation de modifier les stratégies d'autorisation IAM:

    policy.role.permissions:setIamPolicy
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM avec un rôle contenant les autorisations compute.instances.create et compute.disks.create:

    policy.role.permissions:(compute.instances.create compute.disks.create)
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM contenant l'autorisation compute.instances.create et spécifiez l'utilisateur amy:

    policy.role.permissions:compute.instances.create policy:amy
    policy.role.permissions=compute.instances.create policy:amy
    

Interroger les stratégies d'autorisation IAM par ressource associée

Lorsque vous effectuez une recherche, vous pouvez spécifier un nom complet de ressource pour rechercher uniquement les règles d'autorisation directement définies sur la ressource. Vous pouvez également spécifier un projet, un dossier ou une organisation pour rechercher uniquement les stratégies d'autorisation définies sur les ressources situées dans le projet/dossier/organisation donné. Une expression de requête se présente sous les formats suivants:

  • Mot clé exact:

    • resource=QUERY

    • project=QUERY

    • folders=QUERY

    • organization=QUERY

  • Correspondance partielle:

    • resource:QUERY

    • project:QUERY

    • folders:QUERY

    • organization:QUERY

Exemples : requête par ressource associée

  • Recherchez toutes les liaisons de stratégie d'autorisation IAM directement définies sur une ressource dont le nom complet de ressource correspond exactement à //cloudresourcemanager.googleapis.com/projects/myproject:

    resource=//cloudresourcemanager.googleapis.com/projects/myproject
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM directement définies sur les ressources dont le nom complet de la ressource contient le mot myproject:

    resource:myproject
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM directement définies sur les ressources dont le nom complet de la ressource contient un mot avec le préfixe myproj donné:

    resource:myproj*
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM directement définies sur les ressources d'un type de service donné:

    resource:cloudresourcemanager
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM définies sur myproject ou myfolder:

    resource:(myproject OR myfolder)
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM définies sur les ressources cloudresourcemanager et attribuez le rôle de propriétaire aux utilisateurs gmail.com:

    resource:cloudresourcemanager policy:(roles/owner gmail.com)
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM définies sur les ressources dont le champ project comporte le numéro 123:

    project:123
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM définies sur les ressources contenues dans folder dont le numéro est 123:

    folders:123
    
  • Recherchez toutes les liaisons de stratégie d'autorisation IAM définies sur les ressources dont le champ organization comporte le numéro 123:

    organization:123
    

Interroger les stratégies d'autorisation IAM par texte libre

Vous pouvez également utiliser une requête en texte libre sans spécifier de champ. La réponse renvoie des règles autorisant tant qu'il existe un champ inclus dans l'index de recherche (par exemple, des champs de liaison de stratégie ou des champs de ressource) correspondant à la requête.

Exemples : requête par texte libre

  • Recherchez dans votre fichier scope toutes les liaisons de stratégie d'autorisation IAM dont les champs de métadonnées (par exemple, autoriser les liaisons de stratégie ou les champs de ressource) contiennent Important en tant que mot:

    Important
    
  • Recherchez dans votre fichier scope toutes les liaisons de stratégie d'autorisation IAM dont les champs de métadonnées (par exemple, autoriser les liaisons de stratégie ou les champs de ressource) contiennent import comme préfixe de n'importe quel mot:

    import*