Analyser les stratégies IAM

Cette page explique comment utiliser Policy Analyzer pour identifier les comptes principaux (utilisateurs, comptes de service, groupes et domaines) disposent de quel accès aux ressources Google Cloud.

Les exemples de cette page montrent comment exécuter une requête d'analyse des stratégies et immédiatement les résultats. Si vous souhaitez exporter les résultats analyse, vous pouvez utiliser AnalyzeIamPolicyLongrunning pour écrire les résultats de requête dans BigQuery Cloud Storage.

Avant de commencer

Rôles et autorisations requis

Les rôles et autorisations suivants sont requis pour analyser les stratégies d'autorisation.

Rôles IAM requis

Pour obtenir les autorisations dont vous avez besoin pour analyser une stratégie d'autorisation, demandez à votre administrateur de vous accorder le les rôles IAM suivants sur le projet, le dossier ou l'organisation auxquels vous souhaitez appliquer le champ d'application votre requête pour:

Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

Ces rôles prédéfinis contiennent les autorisations requises pour analyser une stratégie d'autorisation. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour analyser une stratégie d'autorisation:

  • cloudasset.assets.analyzeIamPolicy
  • cloudasset.assets.searchAllResources
  • cloudasset.assets.searchAllIamPolicies
  • Pour analyser les stratégies avec des rôles IAM personnalisés: iam.roles.get
  • Pour analyser les stratégies à l'aide de la Google Cloud CLI, procédez comme suit: serviceusage.services.use

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Autorisations Google Workspace requises

Si vous souhaitez développer les groupes dans les résultats de la requête pour voir si un compte principal dispose de certains rôles ou autorisations du fait de son appartenance à un groupe Google Workspace, vous devez disposer de l'autorisation Google Workspace groups.read. Cette autorisation est incluse dans le rôle Administrateur de lecteur de groupes des rôles puissants, tels que les rôles d'administrateur ou de super-administrateur des groupes. Pour savoir comment attribuer ces rôles, consultez Attribuer des rôles d'administrateur spécifiques.

Déterminer quels comptes principaux peuvent accéder à une ressource

Cet outil vous permet de vérifier quels comptes principaux sont associés à certains rôles ou autorisations sur une ressource spécifique de votre projet, dossier ou organisation. Pour obtenir ces informations, créez une requête sur un compte principal qui inclut la ressource pour laquelle vous souhaitez analyser l'accès, ainsi qu'un ou plusieurs rôles ou autorisations à vérifier.

Console

  1. Dans la console Google Cloud, accédez à la page Analyseur de règles.

    Accéder à la page "Analyse des stratégies"

  2. Dans la section Analyser les règles, recherchez le volet intitulé Requête personnalisée. puis cliquez sur Créer une requête personnalisée dans ce volet.

  3. Dans le champ Sélectionner le champ d'application de la requête, sélectionnez le projet, le dossier ou l'organisation auquel vous souhaitez appliquer la requête. Policy  Analyzer analyse l'accès pour ce projet, ce dossier ou cette organisation, ainsi que toutes les ressources de ce projet, ce dossier ou cette organisation.

  4. Choisissez la ressource à vérifier, ainsi que le rôle ou l'autorisation à vérifier :

    1. Dans le champ Paramètre  1, sélectionnez Ressource dans le menu déroulant.
    2. Dans le champ Ressource, saisissez le nom complet de la ressource pour laquelle vous souhaitez analyser l'accès. Si vous ne connaissez pas le nom complet de la ressource, commencez à saisir le nom à afficher de la ressource, puis sélectionnez-la dans la liste des ressources fournies.
    3. Cliquez sur Ajouter un sélecteur.
    4. Dans le champ Paramètre 2, sélectionnez Rôle ou Autorisation.
    5. Dans le champ Sélectionner un rôle ou Sélectionner une autorisation, sélectionnez le rôle ou l'autorisation que vous souhaitez vérifier.
    6. Facultatif : Pour vérifier les rôles et autorisations supplémentaires, continuez à ajouter des sélecteurs Rôle et Autorisation jusqu'à ce que tous les rôles et autorisations que vous souhaitez vérifier soient répertoriés.
  5. Facultatif: cliquez sur Continuer, puis sélectionnez les options avancées de votre choix. à activer pour cette requête.

  6. Dans le volet Requête personnalisée, cliquez sur Analyser > Exécuter la requête. La page du rapport affiche les paramètres de requête que vous avez saisis et un tableau de résultats de tous les comptes principaux disposant des rôles ou autorisations spécifiés pour ressource.

    Les requêtes d'analyse des règles dans la console Google Cloud s'exécutent pendant une minute au maximum. Après pendant une minute, la console Google Cloud arrête la requête et affiche tous les résultats disponibles. Si le requête n'a pas abouti dans le délai imparti, la console Google Cloud affiche une bannière indiquant que les résultats sont incomplets. Pour obtenir plus de résultats pour ces requêtes, exporter le les résultats dans BigQuery.

gcloud

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • RESOURCE_TYPE: type de la ressource à laquelle vous souhaitez limiter votre recherche. Stratégies d'autorisation IAM uniquement associés à cette ressource et à ses descendants sont analysés. Utiliser la valeur project, folder ou organization.
  • RESOURCE_ID: ID du Projet, dossier ou organisation Google Cloud auxquels vous souhaitez limiter votre recherche. Uniquement Les stratégies d'autorisation IAM associées à cette ressource et à ses descendants seront analysées. Les ID de projet sont des chaînes alphanumériques, telles que my-project. Les ID de dossier et d'organisation sont numériques, tels que 123456789012.
  • FULL_RESOURCE_NAME: Nom complet de la ressource pour laquelle vous souhaitez analyser l'accès. Pour obtenir une liste complète formats de nom de ressource, consultez la section Nom de la ressource de sortie.
  • PERMISSIONS: A séparées par une virgule des autorisations à vérifier, par exemple compute.instances.get,compute.instances.start Si vous indiquez plusieurs d'autorisations, Policy Analyzer recherche toutes les autorisations listées.

Exécutez la gcloud asset analyze-iam-policy :

Linux, macOS ou Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --full-resource-name=FULL_RESOURCE_NAME \
    --permissions='PERMISSIONS'

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --full-resource-name=FULL_RESOURCE_NAME `
    --permissions='PERMISSIONS'

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --full-resource-name=FULL_RESOURCE_NAME ^
    --permissions='PERMISSIONS'

Vous recevez une réponse YAML avec les résultats de l'analyse. Chaque résultat d'analyse répertorie un ensemble les accès, les identités et les ressources pertinents pour votre requête, suivis la liaison de rôle IAM associée. Si la liaison de rôle est conditionnelle, le résultat de l'analyse inclut également le résultat de l'évaluation de la condition. Si la condition n'a pas pu être évaluée, le le résultat est CONDITIONAL.

Les comptes principaux disposant de l'une des autorisations spécifiées sur la ressource spécifiée sont répertoriés dans les champs identities dans la réponse. L'exemple suivant montre une seule analyse résultat avec le champ identities en surbrillance.

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

Si la requête expire avant qu'elle ne soit terminée, un message DEADLINE_EXCEEDED erreur. Pour obtenir plus de résultats pour ces requêtes, écrivez les résultats vers BigQuery ou Cloud Storage à l'aide de la version de longue durée sur analyze-iam-policy. Pour savoir comment procéder, consultez Écrire l'analyse des stratégies dans BigQuery ou Écrire l'analyse des stratégies dans Cloud Storage.

REST

Pour déterminer quels comptes principaux disposent de certaines autorisations sur ressource, utilisez l'API Cloud Asset Inventory analyzeIamPolicy .

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • RESOURCE_TYPE: type de la ressource à laquelle vous souhaitez limiter votre recherche. Stratégies d'autorisation IAM uniquement associés à cette ressource et à ses descendants sont analysés. Utiliser la valeur projects, folders ou organizations.
  • RESOURCE_ID: ID du Projet, dossier ou organisation Google Cloud auxquels vous souhaitez limiter votre recherche. Uniquement Les stratégies d'autorisation IAM associées à cette ressource et à ses descendants seront analysées. Les ID de projet sont des chaînes alphanumériques, telles que my-project. Les ID de dossier et d'organisation sont numériques, tels que 123456789012.
  • FULL_RESOURCE_NAME: Nom complet de la ressource pour laquelle vous souhaitez analyser l'accès. Pour obtenir une liste complète formats de nom de ressource, consultez la section Nom de la ressource de sortie.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: autorisations accordées que vous souhaitez vérifier, par exemple compute.instances.get. Si vous indiquez plusieurs autorisations, Policy Analyzer recherche toutes les autorisations listées.

Méthode HTTP et URL :

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

Corps JSON de la requête :

{
  "analysisQuery": {
    "resourceSelector": {
      "fullResourceName": "FULL_RESOURCE_NAME"
    },
    "accessSelector": {
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    }
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous recevez une réponse JSON contenant les résultats de l'analyse. Chaque résultat d'analyse décrit une la liaison de rôle IAM, puis répertorie la ressource, les accès et les comptes principaux dans cette liaison. Si la liaison de rôle est conditionnelle, le résultat de l'analyse inclut également le résultat de l'évaluation de la condition. Si la condition n'a pas pu être évaluée, le résultat est listé comme suit : CONDITIONAL

Les comptes principaux disposant de l'une des autorisations spécifiées sur la ressource spécifiée sont répertoriés dans les champs identities dans la réponse. L'exemple suivant montre une seule analyse résultat avec le champ identities en surbrillance.

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "permission": "compute.instances.start"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Si la requête expire avant qu'elle ne soit terminée, un message DEADLINE_EXCEEDED erreur. Pour obtenir plus de résultats pour ces requêtes, écrivez les résultats vers BigQuery ou Cloud Storage à l'aide de la version de longue durée sur analyzeIamPolicy. Pour savoir comment procéder, consultez Écrire l'analyse des stratégies dans BigQuery ou Écrire l'analyse des stratégies dans Cloud Storage.

Déterminer les comptes principaux disposant de certains rôles ou autorisations

Cet outil vous permet de vérifier quels comptes principaux sont associés à des rôles ou des autorisations spécifiques sur une ressource Google Cloud de votre organisation. Pour obtenir ces informations, créez une requête qui inclut un ou plusieurs rôles ou autorisations à vérifier, mais ne spécifiez pas de ressource.

Console

  1. Dans la console Google Cloud, accédez à la page Analyseur de règles.

    Accéder à la page "Analyse des stratégies"

  2. Dans la section Analyser les règles, recherchez le volet intitulé Requête personnalisée. puis cliquez sur Créer une requête personnalisée dans ce volet.

  3. Dans le champ Sélectionner le champ d'application de la requête, sélectionnez le projet, le dossier ou l'organisation auquel vous souhaitez appliquer la requête. Policy  Analyzer analyse l'accès pour ce projet, ce dossier ou cette organisation, ainsi que toutes les ressources de ce projet, ce dossier ou cette organisation.

  4. Dans le champ Paramètre 1, sélectionnez Rôle ou Autorisation.

  5. Dans le champ Sélectionner un rôle ou Sélectionner une autorisation, sélectionnez l'autorisation ou le rôle que vous souhaitez vérifier.

  6. Facultatif : pour rechercher des rôles et des autorisations supplémentaires, procédez comme suit :

    1. Cliquez sur Ajouter un sélecteur.
    2. Dans le champ Paramètre 2, sélectionnez Rôle ou Autorisation.
    3. Dans le champ Sélectionner un rôle ou Sélectionner une autorisation, sélectionnez le rôle ou l'autorisation que vous souhaitez vérifier.
    4. Continuez à ajouter des sélecteurs Rôle et Autorisation jusqu'à ce que tous les rôles et autorisations que vous souhaitez vérifier soient répertoriés.
  7. Facultatif: cliquez sur Continuer, puis sélectionnez les options avancées de votre choix. à activer pour cette requête.

  8. Dans le volet Requête personnalisée, cliquez sur Analyser > Exécuter la requête. La page du rapport affiche les paramètres de requête que vous avez saisis et un tableau de résultats de tous les comptes principaux disposant des rôles ou autorisations spécifiés sur les ressource.

    Les requêtes d'analyse des règles dans la console Google Cloud s'exécutent pendant une minute au maximum. Après pendant une minute, la console Google Cloud arrête la requête et affiche tous les résultats disponibles. Si le requête n'a pas abouti dans le délai imparti, la console Google Cloud affiche une bannière indiquant que les résultats sont incomplets. Pour obtenir plus de résultats pour ces requêtes, exporter le les résultats dans BigQuery.

gcloud

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • RESOURCE_TYPE: type de la ressource à laquelle vous souhaitez limiter votre recherche. Stratégies d'autorisation IAM uniquement associés à cette ressource et à ses descendants sont analysés. Utiliser la valeur project, folder ou organization.
  • RESOURCE_ID: ID du Projet, dossier ou organisation Google Cloud auxquels vous souhaitez limiter votre recherche. Uniquement Les stratégies d'autorisation IAM associées à cette ressource et à ses descendants seront analysées. Les ID de projet sont des chaînes alphanumériques, telles que my-project. Les ID de dossier et d'organisation sont numériques, tels que 123456789012.
  • ROLES: liste d'éléments séparés par une virgule des rôles que vous voulez vérifier, par exemple roles/compute.admin,roles/compute.imageUser Si vous indiquez plusieurs rôles, L'analyseur vérifie si les rôles listés sont présents.
  • PERMISSIONS: A séparées par une virgule des autorisations à vérifier, par exemple compute.instances.get,compute.instances.start Si vous indiquez plusieurs autorisations, Policy Analyzer recherche toutes les autorisations listées.

Exécutez la gcloud asset analyze-iam-policy :

Linux, macOS ou Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --roles='ROLES' \
    --permissions='PERMISSIONS'

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --roles='ROLES' `
    --permissions='PERMISSIONS'

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --roles='ROLES' ^
    --permissions='PERMISSIONS'

Vous recevez une réponse JSON contenant les résultats de l'analyse. Chaque résultat d'analyse décrit une la liaison de rôle IAM, puis répertorie la ressource, les accès et les comptes principaux dans cette liaison. Si la liaison de rôle est conditionnelle, le résultat de l'analyse inclut également le résultat de l'évaluation de la condition. Si la condition n'a pas pu être évaluée, le résultat est listé comme suit : CONDITIONAL

Les comptes principaux disposant de l'un des rôles ou des autorisations spécifiés sont répertoriés dans le identities dans la réponse. L'exemple suivant montre une seule analyse résultat avec le champ identities en surbrillance.

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  - role: roles/compute.admin
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

Si la requête expire avant qu'elle ne soit terminée, un message DEADLINE_EXCEEDED erreur. Pour obtenir plus de résultats pour ces requêtes, écrivez les résultats vers BigQuery ou Cloud Storage à l'aide de la version de longue durée sur analyze-iam-policy. Pour savoir comment procéder, consultez Écrire l'analyse des stratégies dans BigQuery ou Écrire l'analyse des stratégies dans Cloud Storage.

REST

Pour déterminer quels comptes principaux possèdent des rôles ou des autorisations spécifiques, utilisez l'API Cloud Asset Inventory analyzeIamPolicy .

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • RESOURCE_TYPE: type de la ressource à laquelle vous souhaitez limiter votre recherche. Stratégies d'autorisation IAM uniquement associés à cette ressource et à ses descendants sont analysés. Utiliser la valeur projects, folders ou organizations.
  • RESOURCE_ID: ID du Projet, dossier ou organisation Google Cloud auxquels vous souhaitez limiter votre recherche. Uniquement Les stratégies d'autorisation IAM associées à cette ressource et à ses descendants seront analysées. Les ID de projet sont des chaînes alphanumériques, telles que my-project. Les ID de dossier et d'organisation sont numériques, tels que 123456789012.
  • ROLE_1, ROLE_2... ROLE_N: rôles que vous souhaitez vérifier, par exemple roles/compute.admin. Si vous indiquez plusieurs Policy Analyzer vérifie les rôles listés.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: autorisations accordées que vous souhaitez vérifier, par exemple compute.instances.get. Si vous indiquez plusieurs autorisations, Policy Analyzer recherche toutes les autorisations listées.

Méthode HTTP et URL :

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

Corps JSON de la requête :

{
  "analysisQuery": {
    "accessSelector": {
      "roles": [
        "ROLE_1",
        "ROLE_2",
        "ROLE_N"
      ],
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    }
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous recevez une réponse JSON contenant les résultats de l'analyse. Chaque résultat d'analyse décrit une la liaison de rôle IAM, puis répertorie la ressource, les accès et les comptes principaux dans cette liaison. Si la liaison de rôle est conditionnelle, le résultat de l'analyse inclut également le résultat de l'évaluation de la condition. Si la condition n'a pas pu être évaluée, le résultat est listé comme suit : CONDITIONAL

Les comptes principaux disposant de l'un des rôles ou des autorisations spécifiés sont répertoriés dans le identities dans la réponse. L'exemple suivant montre une seule analyse résultat avec le champ identities en surbrillance.

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "role": "roles/compute.admin"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Si la requête expire avant qu'elle ne soit terminée, un message DEADLINE_EXCEEDED erreur. Pour obtenir plus de résultats pour ces requêtes, écrivez les résultats vers BigQuery ou Cloud Storage à l'aide de la version de longue durée sur analyzeIamPolicy. Pour savoir comment procéder, consultez Écrire l'analyse des stratégies dans BigQuery ou Écrire l'analyse des stratégies dans Cloud Storage.

Déterminer l'accès d'un compte principal à une ressource

Vous pouvez utiliser Policy Analyzer pour vérifier les rôles ou les autorisations dont dispose un compte principal sur une ressource de votre organisation. Pour obtenir ces informations, créez une requête sur un accès qui inclut le compte principal dont vous souhaitez analyser l'accès, ainsi que la ressource pour laquelle vous souhaitez analyser l'accès.

Console

  1. Dans la console Google Cloud, accédez à la page Analyseur de règles.

    Accéder à la page "Analyse des stratégies"

  2. Dans la section Analyser les règles, recherchez le volet intitulé Requête personnalisée. puis cliquez sur Créer une requête personnalisée dans ce volet.

  3. Dans le champ Sélectionner le champ d'application de la requête, sélectionnez le projet, le dossier ou l'organisation auquel vous souhaitez appliquer la requête. Policy  Analyzer analyse l'accès pour ce projet, ce dossier ou cette organisation, ainsi que toutes les ressources de ce projet, ce dossier ou cette organisation.

  4. Choisissez la ressource et le compte principal à vérifier :

    1. Dans le champ Paramètre  1, sélectionnez Ressource dans le menu déroulant.
    2. Dans le champ Ressource, saisissez le nom complet de la ressource pour laquelle vous souhaitez analyser l'accès. Si vous ne connaissez pas le nom complet de la ressource, commencez à saisir le nom à afficher de la ressource, puis sélectionnez-la dans la liste des ressources fournies.
    3. Cliquez sur Ajouter un sélecteur.
    4. Dans le champ Paramètre 2, sélectionnez Principal dans le menu déroulant.
    5. Dans le champ Principal, commencez à saisir le nom d'un utilisateur, d'un compte de service ou d'un groupe. Ensuite, sélectionnez l'utilisateur, le compte de service ou le groupe dont vous souhaitez analyser l'accès dans la liste des comptes principaux fournis.
  5. Facultatif: cliquez sur Continuer, puis sélectionnez les options avancées de votre choix. à activer pour cette requête.

  6. Dans le volet Requête personnalisée, cliquez sur Analyser > Exécuter la requête. La page du rapport affiche les paramètres de requête que vous avez saisis et un tableau de résultats de tous les rôles du compte principal spécifié sur la ressource indiquée.

    Les requêtes d'analyse des règles dans la console Google Cloud s'exécutent pendant une minute au maximum. Après pendant une minute, la console Google Cloud arrête la requête et affiche tous les résultats disponibles. Si le requête n'a pas abouti dans le délai imparti, la console Google Cloud affiche une bannière indiquant que les résultats sont incomplets. Pour obtenir plus de résultats pour ces requêtes, exporter le les résultats dans BigQuery.

gcloud

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • RESOURCE_TYPE: type de la ressource à laquelle vous souhaitez limiter votre recherche. Stratégies d'autorisation IAM uniquement associés à cette ressource et à ses descendants sont analysés. Utiliser la valeur project, folder ou organization.
  • RESOURCE_ID: ID du Projet, dossier ou organisation Google Cloud auxquels vous souhaitez limiter votre recherche. Uniquement Les stratégies d'autorisation IAM associées à cette ressource et à ses descendants seront analysées. Les ID de projet sont des chaînes alphanumériques, telles que my-project. Les ID de dossier et d'organisation sont numériques, tels que 123456789012.
  • FULL_RESOURCE_NAME: Nom complet de la ressource pour laquelle vous souhaitez analyser l'accès. Pour obtenir une liste complète formats de nom de ressource, consultez la section Nom de la ressource de sortie.
  • PRINCIPAL: compte principal dont l'accès à analyser, sous la forme PRINCIPAL_TYPE:ID, par exemple user:my-user@example.com Pour obtenir la liste complète des types de comptes principaux, consultez Identifiants principaux.

Exécutez la gcloud asset analyze-iam-policy :

Linux, macOS ou Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --full-resource-name=FULL_RESOURCE_NAME \
    --identity=PRINCIPAL

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --full-resource-name=FULL_RESOURCE_NAME `
    --identity=PRINCIPAL

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --full-resource-name=FULL_RESOURCE_NAME ^
    --identity=PRINCIPAL

Vous recevez une réponse YAML avec les résultats de l'analyse. Chaque résultat d'analyse répertorie un ensemble les accès, les identités et les ressources pertinents pour votre requête, suivis la liaison de rôle IAM associée. Si la liaison de rôle est conditionnelle, le résultat de l'analyse inclut également le résultat de l'évaluation de la condition. Si la condition n'a pas pu être évaluée, le le résultat est CONDITIONAL.

Les rôles du compte principal sur la ressource spécifiée sont listés dans accesses dans la réponse. L'exemple suivant montre une seule analyse résultat avec le champ accesses en surbrillance.

...
---
ACLs:
- accesses:
  - roles/iam.serviceAccountUser
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    members:
    - user: my-user@example.com
    role: roles/iam.serviceAccountUser
---
...

Si la requête expire avant qu'elle ne soit terminée, un message DEADLINE_EXCEEDED erreur. Pour obtenir plus de résultats pour ces requêtes, écrivez les résultats vers BigQuery ou Cloud Storage à l'aide de la version de longue durée sur analyze-iam-policy. Pour savoir comment procéder, consultez Écrire l'analyse des stratégies dans BigQuery ou Écrire l'analyse des stratégies dans Cloud Storage.

REST

Pour déterminer l'accès d'un compte principal à une ressource, utilisez l'API Cloud Asset Inventory analyzeIamPolicy .

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • RESOURCE_TYPE: type de la ressource à laquelle vous souhaitez limiter votre recherche. Stratégies d'autorisation IAM uniquement associés à cette ressource et à ses descendants sont analysés. Utiliser la valeur projects, folders ou organizations.
  • RESOURCE_ID: ID du Projet, dossier ou organisation Google Cloud auxquels vous souhaitez limiter votre recherche. Uniquement Les stratégies d'autorisation IAM associées à cette ressource et à ses descendants seront analysées. Les ID de projet sont des chaînes alphanumériques, telles que my-project. Les ID de dossier et d'organisation sont numériques, tels que 123456789012.
  • FULL_RESOURCE_NAME: Nom complet de la ressource pour laquelle vous souhaitez analyser l'accès. Pour obtenir une liste complète formats de nom de ressource, consultez la section Nom de la ressource de sortie.
  • PRINCIPAL: compte principal dont l'accès à analyser, sous la forme PRINCIPAL_TYPE:ID, par exemple user:my-user@example.com Pour obtenir la liste complète des types de comptes principaux, consultez Identifiants principaux.

Méthode HTTP et URL :

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

Corps JSON de la requête :

{
  "analysisQuery": {
    "resourceSelector": {
      "fullResourceName": "FULL_RESOURCE_NAME"
    },
    "identitySelector": {
      "identity": "PRINCIPAL"
    }
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous recevez une réponse JSON contenant les résultats de l'analyse. Chaque résultat d'analyse décrit une la liaison de rôle IAM, puis répertorie la ressource, les accès et les comptes principaux dans cette liaison. Si la liaison de rôle est conditionnelle, le résultat de l'analyse inclut également le résultat de l'évaluation de la condition. Si la condition n'a pas pu être évaluée, le résultat est listé comme suit : CONDITIONAL

Les rôles du compte principal sur la ressource spécifiée sont listés dans accesses dans la réponse. L'exemple suivant montre une seule analyse résultat avec le champ accesses en surbrillance.

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/iam.serviceAccountUser",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "roles": "iam.serviceAccountUser"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Si la requête expire avant qu'elle ne soit terminée, un message DEADLINE_EXCEEDED erreur. Pour obtenir plus de résultats pour ces requêtes, écrivez les résultats vers BigQuery ou Cloud Storage à l'aide de la version de longue durée sur analyzeIamPolicy. Pour savoir comment procéder, consultez Écrire l'analyse des stratégies dans BigQuery ou Écrire l'analyse des stratégies dans Cloud Storage.

Déterminer les ressources auxquelles un compte principal peut accéder

Vous pouvez utiliser Policy Analyzer pour vérifier quelles ressources de votre organisation disposent de rôles ou d'autorisations spécifiques. Pour obtenir ces informations, créez une requête sur une ressource qui inclut le compte principal dont vous souhaitez analyser l'accès, et un ou plusieurs rôles ou autorisations à vérifier.

Console

  1. Dans la console Google Cloud, accédez à la page Analyseur de règles.

    Accéder à la page "Analyse des stratégies"

  2. Dans la section Analyser les règles, recherchez le volet intitulé Requête personnalisée. puis cliquez sur Créer une requête personnalisée dans ce volet.

  3. Dans le champ Sélectionner le champ d'application de la requête, sélectionnez le projet, le dossier ou l'organisation auquel vous souhaitez appliquer la requête. Policy  Analyzer analyse l'accès pour ce projet, ce dossier ou cette organisation, ainsi que toutes les ressources de ce projet, ce dossier ou cette organisation.

  4. Choisissez le compte principal à vérifier, ainsi que le rôle ou l'autorisation à vérifier :

    1. Dans le champ Paramètre 1, sélectionnez Principal dans le menu déroulant.
    2. Dans le champ Principal, commencez à saisir le nom d'un utilisateur, d'un compte de service ou d'un groupe. Ensuite, sélectionnez l'utilisateur, le compte de service ou le groupe dont vous souhaitez analyser l'accès dans la liste des comptes principaux fournis.
    3. Cliquez sur Ajouter un sélecteur.
    4. Dans le champ Paramètre 2, sélectionnez Rôle ou Autorisation.
    5. Dans le champ Sélectionner un rôle ou Sélectionner une autorisation, sélectionnez le rôle ou l'autorisation que vous souhaitez vérifier.
    6. Facultatif : Pour vérifier les rôles et autorisations supplémentaires, continuez à ajouter des sélecteurs Rôle et Autorisation jusqu'à ce que tous les rôles et autorisations que vous souhaitez vérifier soient répertoriés.
  5. Facultatif: cliquez sur Continuer, puis sélectionnez les options avancées de votre choix. à activer pour cette requête.

  6. Dans le volet Requête personnalisée, cliquez sur Analyser > Exécuter la requête. La page du rapport affiche les paramètres de requête que vous avez saisis et un tableau de résultats de toutes les ressources sur lesquelles le compte principal spécifié dispose des rôles spécifiés ou autorisations.

    Les requêtes d'analyse des règles dans la console Google Cloud s'exécutent pendant une minute au maximum. Après pendant une minute, la console Google Cloud arrête la requête et affiche tous les résultats disponibles. Si le requête n'a pas abouti dans le délai imparti, la console Google Cloud affiche une bannière indiquant que les résultats sont incomplets. Pour obtenir plus de résultats pour ces requêtes, exporter le les résultats dans BigQuery.

gcloud

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • RESOURCE_TYPE: type de la ressource à laquelle vous souhaitez limiter votre recherche. Stratégies d'autorisation IAM uniquement associés à cette ressource et à ses descendants sont analysés. Utiliser la valeur project, folder ou organization.
  • RESOURCE_ID: ID du Projet, dossier ou organisation Google Cloud auxquels vous souhaitez limiter votre recherche. Uniquement Les stratégies d'autorisation IAM associées à cette ressource et à ses descendants seront analysées. Les ID de projet sont des chaînes alphanumériques, telles que my-project. Les ID de dossier et d'organisation sont numériques, tels que 123456789012.
  • PRINCIPAL: compte principal dont l'accès à analyser, sous la forme PRINCIPAL_TYPE:ID, par exemple user:my-user@example.com Pour obtenir la liste complète des types de comptes principaux, consultez Identifiants principaux.
  • PERMISSIONS: A séparées par une virgule des autorisations à vérifier, par exemple compute.instances.get,compute.instances.start Si vous indiquez plusieurs autorisations, Policy Analyzer recherche toutes les autorisations listées.

Exécutez la gcloud asset analyze-iam-policy :

Linux, macOS ou Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --identity=PRINCIPAL \
    --permissions='PERMISSIONS'

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --identity=PRINCIPAL `
    --permissions='PERMISSIONS'

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --identity=PRINCIPAL ^
    --permissions='PERMISSIONS'

Vous recevez une réponse YAML avec les résultats de l'analyse. Chaque résultat d'analyse répertorie un ensemble les accès, les identités et les ressources pertinents pour votre requête, suivis la liaison de rôle IAM associée. Si la liaison de rôle est conditionnelle, le résultat de l'analyse inclut également le résultat de l'évaluation de la condition. Si la condition n'a pas pu être évaluée, le le résultat est CONDITIONAL.

Les ressources sur lesquelles le compte principal spécifié dispose de l'une des autorisations spécifiées sont répertoriées dans les champs resources dans la réponse. L'exemple suivant montre une seule analyse résultat avec le champ resources en surbrillance.

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //compute.googleapis.com/projects/my-project/global/images/my-image
policy:
  attachedResource: //compute.googleapis.com/projects/my-project/global/images/my-image
  binding:
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

Si la requête expire avant qu'elle ne soit terminée, un message DEADLINE_EXCEEDED erreur. Pour obtenir plus de résultats pour ces requêtes, écrivez les résultats vers BigQuery ou Cloud Storage à l'aide de la version de longue durée sur analyze-iam-policy. Pour savoir comment procéder, consultez Écrire l'analyse des stratégies dans BigQuery ou Écrire l'analyse des stratégies dans Cloud Storage.

REST

Pour déterminer les ressources auxquelles un compte principal peut accéder, utilisez l'API Cloud Asset Inventory analyzeIamPolicy .

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • RESOURCE_TYPE: type de la ressource à laquelle vous souhaitez limiter votre recherche. Stratégies d'autorisation IAM uniquement associés à cette ressource et à ses descendants sont analysés. Utiliser la valeur projects, folders ou organizations.
  • RESOURCE_ID: ID du Projet, dossier ou organisation Google Cloud auxquels vous souhaitez limiter votre recherche. Uniquement Les stratégies d'autorisation IAM associées à cette ressource et à ses descendants seront analysées. Les ID de projet sont des chaînes alphanumériques, telles que my-project. Les ID de dossier et d'organisation sont numériques, tels que 123456789012.
  • PRINCIPAL: compte principal dont l'accès à analyser, sous la forme PRINCIPAL_TYPE:ID, par exemple user:my-user@example.com Pour obtenir la liste complète des types de comptes principaux, consultez Identifiants principaux.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: autorisations accordées que vous souhaitez vérifier, par exemple compute.instances.get. Si vous indiquez plusieurs autorisations, Policy Analyzer recherche toutes les autorisations listées.

Méthode HTTP et URL :

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

Corps JSON de la requête :

{
  "analysisQuery": {
    "identitySelector": {
      "identity": "PRINCIPAL"
    },
    "accessSelector": {
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    }
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous recevez une réponse JSON contenant les résultats de l'analyse. Chaque résultat d'analyse décrit une la liaison de rôle IAM, puis répertorie la ressource, les accès et les comptes principaux dans cette liaison. Si la liaison de rôle est conditionnelle, le résultat de l'analyse inclut également le résultat de l'évaluation de la condition. Si la condition n'a pas pu être évaluée, le résultat est listé comme suit : CONDITIONAL

Les ressources sur lesquelles le compte principal spécifié dispose de l'une des autorisations spécifiées sont répertoriées dans les champs resources dans la réponse. L'exemple suivant montre une seule analyse résultat avec le champ resources en surbrillance.

...
{
  "attachedResourceFullName": "//compute.googleapis.com/projects/my-project/global/images/my-image",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ]
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//compute.googleapis.com/projects/my-project/global/images/my-image"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "permission": "compute.instances.start"
        }
      ]
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Si la requête expire avant qu'elle ne soit terminée, un message DEADLINE_EXCEEDED erreur. Pour obtenir plus de résultats pour ces requêtes, écrivez les résultats vers BigQuery ou Cloud Storage à l'aide de la version de longue durée sur analyzeIamPolicy. Pour savoir comment procéder, consultez Écrire l'analyse des stratégies dans BigQuery ou Écrire l'analyse des stratégies dans Cloud Storage.

Déterminer l'accès à un moment précis

S'il fournit suffisamment de contexte, Policy Analyzer peut analyser IAM de liaisons de rôles conditionnelles qui n'accordent l'accès qu'à des niveaux fois. Ces conditions sont appelées conditions de date/heure. Pour que Policy Analyzer puisse analyser précisément les liaisons de rôle avec date/heure vous devez définir le temps d'accès dans la requête.

Policy Analyzer peut aussi analyser les ressources conditions d'utilisation sans entrée utilisateur supplémentaire. Pour pour en savoir plus sur le fonctionnement de Policy Analyzer avec les conditions, consultez Accès conditionnel.

gcloud

Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

  • RESOURCE_TYPE: type de la ressource à laquelle vous souhaitez limiter votre recherche. Stratégies d'autorisation IAM uniquement associés à cette ressource et à ses descendants sont analysés. Utiliser la valeur project, folder ou organization.
  • RESOURCE_ID: ID du Projet, dossier ou organisation Google Cloud auxquels vous souhaitez limiter votre recherche. Uniquement Les stratégies d'autorisation IAM associées à cette ressource et à ses descendants seront analysées. Les ID de projet sont des chaînes alphanumériques, telles que my-project. Les ID de dossier et d'organisation sont numériques, tels que 123456789012.
  • PERMISSIONS : Facultatif. Une liste des autorisations que vous souhaitez vérifier, séparées par une virgule, par exemple compute.instances.get,compute.instances.start Si vous indiquez plusieurs autorisations, Policy Analyzer recherche toutes les autorisations listées.
  • FULL_RESOURCE_NAME : facultatif. Le nom complet de la ressource pour lesquels vous souhaitez analyser l'accès. Pour obtenir la liste des formats de nom de ressource complet, consultez Format du nom de ressource.
  • PERMISSIONS : Facultatif. Une liste des autorisations que vous souhaitez vérifier, séparées par une virgule, par exemple compute.instances.get,compute.instances.start Si vous indiquez plusieurs autorisations, Policy Analyzer recherche toutes les autorisations listées.
  • ACCESS_TIME: l'heure souhaitée pour vérifier. Cette heure doit être située dans le futur. Utiliser un code temporel dans RFC 3339, pour Exemple : 2099-02-01T00:00:00Z.

Exécutez la gcloud asset analyze-iam-policy :

Linux, macOS ou Cloud Shell

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID \
    --identity=PRINCIPAL \
    --full-resource-name=FULL_RESOURCE_NAME \
    --permissions='PERMISSIONS' \
    --access-time=ACCESS_TIME

Windows (PowerShell)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID `
    --identity=PRINCIPAL `
    --full-resource-name=FULL_RESOURCE_NAME `
    --permissions='PERMISSIONS' `
    --access-time=ACCESS_TIME

Windows (cmd.exe)

gcloud asset analyze-iam-policy --RESOURCE_TYPE=RESOURCE_ID ^
    --identity=PRINCIPAL ^
    --full-resource-name=FULL_RESOURCE_NAME ^
    --permissions='PERMISSIONS' ^
    --access-time=ACCESS_TIME

Vous recevez une réponse YAML avec les résultats de l'analyse. Chaque résultat d'analyse répertorie un ensemble les accès, les identités et les ressources pertinents pour votre requête, suivis la liaison de rôle IAM associée. Si la liaison de rôle est conditionnelle, le résultat de l'analyse inclut également le résultat de l'évaluation de la condition. Si la condition n'a pas pu être évaluée, le le résultat est CONDITIONAL.

Lorsque vous incluez l'heure d'accès dans la requête, Policy Analyzer peut évaluer la date/l'heure conditions. Si la condition renvoie la valeur "false", ce rôle n'est pas inclus dans la réponse. Si le a la valeur "true", le résultat de l'évaluation de la condition est listé comme suit : TRUE

...
---
ACLs:
- accesses:
  - permission: compute.instances.get
  - permission: compute.instances.start
  conditionEvaluationValue: 'TRUE'
  identities:
  - name: user:my-user@example.com
  resources:
  - fullResourceName: //cloudresourcemanager.googleapis.com/projects/my-project
policy:
  attachedResource: //cloudresourcemanager.googleapis.com/projects/my-project
  binding:
    condition:
      expression: request.time.getHours("America/Los_Angeles") >= 5
      title: No access before 5am PST
    members:
    - user: my-user@example.com
    role: roles/compute.admin
---
...

Si la requête expire avant qu'elle ne soit terminée, un message DEADLINE_EXCEEDED erreur. Pour obtenir plus de résultats pour ces requêtes, écrivez les résultats vers BigQuery ou Cloud Storage à l'aide de la version de longue durée sur analyze-iam-policy. Pour savoir comment procéder, consultez Écrire l'analyse des stratégies dans BigQuery ou Écrire l'analyse des stratégies dans Cloud Storage.

REST

Pour déterminer quels comptes principaux disposeront de certaines autorisations sur une ressource située à l'adresse à une heure précise, utilisez l'API Cloud Asset Inventory analyzeIamPolicy .

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :

  • RESOURCE_TYPE: type de la ressource à laquelle vous souhaitez limiter votre recherche. Stratégies d'autorisation IAM uniquement associés à cette ressource et à ses descendants sont analysés. Utiliser la valeur projects, folders ou organizations.
  • RESOURCE_ID: ID du Projet, dossier ou organisation Google Cloud auxquels vous souhaitez limiter votre recherche. Uniquement Les stratégies d'autorisation IAM associées à cette ressource et à ses descendants seront analysées. Les ID de projet sont des chaînes alphanumériques, telles que my-project. Les ID de dossier et d'organisation sont numériques, tels que 123456789012.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: facultatif. La les autorisations que vous souhaitez vérifier, par exemple compute.instances.get. Si vous plusieurs autorisations, Policy Analyzer recherche celles listées.
  • FULL_RESOURCE_NAME : facultatif. Le nom complet de la ressource pour lesquels vous souhaitez analyser l'accès. Pour obtenir la liste des formats de nom de ressource complet, consultez Format du nom de ressource.
  • PERMISSION_1, PERMISSION_2... PERMISSION_N: facultatif. La les autorisations que vous souhaitez vérifier, par exemple compute.instances.get. Si vous plusieurs autorisations, Policy Analyzer recherche celles listées.
  • ACCESS_TIME: l'heure à laquelle vous souhaitez pour vérifier. Cette heure doit être située dans le futur. Utiliser un code temporel dans RFC 3339, pour Exemple : 2099-02-01T00:00:00Z.

Méthode HTTP et URL :

POST https://cloudasset.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID:analyzeIamPolicy

Corps JSON de la requête :

{
  "analysisQuery": {
    "identitySelector": {
      "identity": "PRINCIPAL"
    },
    "resourceSelector": {
      "fullResourceName": "FULL_RESOURCE_NAME"
    },
    "accessSelector": {
      "permissions": [
        "PERMISSION_1",
        "PERMISSION_2",
        "PERMISSION_N"
      ]
    },
    "conditionContext": {
      "accessTime": "ACCESS_TIME"
    }
  }
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous recevez une réponse JSON contenant les résultats de l'analyse. Chaque résultat d'analyse décrit une la liaison de rôle IAM, puis répertorie la ressource, les accès et les comptes principaux dans cette liaison. Si la liaison de rôle est conditionnelle, le résultat de l'analyse inclut également le résultat de l'évaluation de la condition. Si la condition n'a pas pu être évaluée, le résultat est listé comme suit : CONDITIONAL

Lorsque vous incluez l'heure d'accès dans la requête, Policy Analyzer peut évaluer la date/l'heure conditions. Si la condition renvoie la valeur "false", ce rôle n'est pas inclus dans la réponse. Si le condition a la valeur true, la valeur d'évaluation de la condition dans la réponse de l'analyse est TRUE

...
{
  "attachedResourceFullName": "//cloudresourcemanager.googleapis.com/projects/my-project",
  "iamBinding": {
    "role": "roles/compute.admin",
    "members": [
      "user:my-user@example.com"
    ],
    "condition": {
      "expression": "request.time.getHours(\"America/Los_Angeles\") \u003e= 5",
      "title": "No access before 5am PST"
    }
  },
  "accessControlLists": [
    {
      "resources": [
        {
          "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
        }
      ],
      "accesses": [
        {
          "permission": "compute.instances.get"
        },
        {
          "permission": "compute.instances.start"
        }
      ],
      "conditionEvaluation": {
        "evaluationValue": "TRUE"
      }
    }
  ],
  "identityList": {
    "identities": [
      {
        "name": "user:my-user@example.com"
      }
    ]
  },
  "fullyExplored": true
},
...

Si la requête expire avant qu'elle ne soit terminée, un message DEADLINE_EXCEEDED erreur. Pour obtenir plus de résultats pour ces requêtes, écrivez les résultats vers BigQuery ou Cloud Storage à l'aide de la version de longue durée sur analyzeIamPolicy. Pour savoir comment procéder, consultez Écrire l'analyse des stratégies dans BigQuery ou Écrire l'analyse des stratégies dans Cloud Storage.

Activer les options

Vous pouvez activer les options suivantes pour recevoir des résultats de requête plus détaillés.

Console

Option Description
Lister les ressources au sein des ressources correspondant à votre requête Si vous activez cette option, la liste des résultats de la requête 1 000 descendants pertinents ressources pour toutes les ressources parentes (projets, dossiers et organisations) dans les résultats de la requête.
Lister les utilisateurs individuels dans les groupes

Si vous activez cette option, tous les groupes présents dans les résultats de la requête sont développés dans membres individuels. Si vous disposez d'autorisations suffisantes, les groupes imbriqués également être développés. Cette extension est limitée à 1 000 membres par groupe.

Cette option n'est disponible que si vous ne spécifiez pas de compte principal dans votre requête.

Lister les autorisations dans les rôles

Si vous activez cette option, les résultats de la requête listent toutes les autorisations contenues dans chaque en plus du rôle lui-même.

Cette option n'est disponible que si vous ne spécifiez aucune autorisation dans votre requête.

gcloud

Cette section décrit plusieurs indicateurs courants que vous pouvez ajouter lorsque vous utilisez la classe gcloud CLI pour analyser les règles d'autorisation. Pour obtenir la liste complète des options, consultez Indicateurs facultatifs.

Option Description
--analyze-service-account-impersonation

Si cette option est activée, Policy Analyzer effectue une analyse supplémentaire pour déterminer qui peut emprunter l'identité des comptes de service dispose de l'accès spécifié aux ressources spécifiées. Policy Analyzer exécute une requête pour chaque compte de service dans les résultats de la requête. Ces les requêtes analysent qui dispose de l'une des autorisations suivantes compte de service:

  • iam.serviceAccounts.actAs
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.getOpenIdToken
  • iam.serviceAccounts.implicitDelegation
  • iam.serviceAccounts.signBlob
  • iam.serviceAccounts.signJwt

Cette opération est très coûteuse, car elle s'exécute automatiquement de nombreuses requêtes. Nous vous recommandons vivement exporter dans BigQuery ou exporter vers Cloud Storage en utilisant analyze-iam-policy-longrunning au lieu d'utiliser analyze-iam-policy.

--expand-groups

Si vous activez cette option, tous les groupes présents dans les résultats de la requête sont développés dans membres individuels. Si vous disposez d'autorisations suffisantes, les groupes imbriqués également être développés. Cette extension est limitée à 1 000 membres par groupe.

Cette option n'est efficace que si vous n'indiquez aucun compte principal dans votre requête.

--expand-resources Si vous activez cette option, la liste des résultats de la requête 1 000 descendants pertinents ressources pour toutes les ressources parentes (projets, dossiers et organisations) dans les résultats de la requête.
--expand-roles

Si vous activez cette option, les résultats de la requête listent toutes les autorisations contenues dans chaque en plus du rôle lui-même.

Cette option n'est disponible que si vous ne spécifiez aucune autorisation dans votre requête.

--output-group-edges Si vous activez cette option, les résultats de la requête génèrent l'appartenance appropriée les relations entre les groupes.
--output-resource-edges Si vous activez cette option, les résultats de la requête renvoient l'élément parent/enfant approprié les relations entre les ressources.

REST

Pour activer des options, commencez par ajouter un champ options à votre analyse requête. Exemple :

{
  "analysisQuery": {
    "resourceSelector": {
      "fullResourceName": "//cloudresourcemanager.googleapis.com/projects/my-project"
    },
    "accessSelector": {
      "permissions": [
        "iam.roles.get",
        "iam.roles.list"
      ]
   },
   "options": {
     OPTIONS
   }
  }
}

Remplacez OPTIONS par les options de votre choix. au format "OPTION": true. Le tableau suivant décrit les options disponibles:

Option Description
analyzeServiceAccountImpersonation

Si cette option est activée, Policy Analyzer effectue une analyse supplémentaire pour déterminer qui peut emprunter l'identité des comptes de service dispose de l'accès spécifié aux ressources spécifiées. Policy Analyzer exécute une requête pour chaque compte de service dans les résultats de la requête. Ces les requêtes analysent qui dispose de l'une des autorisations suivantes compte de service:

  • iam.serviceAccounts.actAs
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.getOpenIdToken
  • iam.serviceAccounts.implicitDelegation
  • iam.serviceAccounts.signBlob
  • iam.serviceAccounts.signJwt

Cette opération est très coûteuse, car elle s'exécute automatiquement de nombreuses requêtes. Nous vous recommandons vivement exporter dans BigQuery ou exporter vers Cloud Storage en utilisant AnalyzeIamPolicyLongrunning au lieu d'utiliser AnalyzeIamPolicy.

expandGroups

Si vous activez cette option, tous les groupes présents dans les résultats de la requête sont développés dans membres individuels. Si vous disposez d'autorisations suffisantes, les groupes imbriqués également être développés. Cette extension est limitée à 1 000 membres par groupe.

Cette option n'est efficace que si vous n'indiquez aucun compte principal dans votre requête.

expandResources Si vous activez cette option, la liste des résultats de la requête 1 000 descendants pertinents ressources pour toutes les ressources parentes (projets, dossiers et organisations) dans les résultats de la requête.
expandRoles

Si vous activez cette option, les résultats de la requête listent toutes les autorisations contenues dans chaque en plus du rôle lui-même.

Cette option n'est disponible que si vous ne spécifiez aucune autorisation dans votre requête.

outputGroupEdges Si vous activez cette option, les résultats de la requête génèrent l'appartenance appropriée les relations entre les groupes.
outputResourceEdges Si vous activez cette option, les résultats de la requête renvoient l'élément parent/enfant approprié les relations entre les ressources.

Étape suivante