Avant d'accorder un rôle de gestion de l'authentification et des accès (IAM) à un utilisateur pour une ressource, il est préférable de connaître les rôles disponibles pour une ressource particulière.
Avant de commencer
Enable the IAM API.
Configurez l'authentification.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
C#
Pour utiliser les exemples .NET de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local dans la documentation sur l'authentification Google Cloud.
C++
Pour utiliser les exemples C++ de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local dans la documentation sur l'authentification Google Cloud.
Go
Pour utiliser les exemples Go de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local dans la documentation sur l'authentification Google Cloud.
Java
Pour utiliser les exemples Java de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local dans la documentation sur l'authentification Google Cloud.
Python
Pour utiliser les exemples Python de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local dans la documentation sur l'authentification Google Cloud.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
Rôles requis
Pour obtenir les autorisations dont vous avez besoin pour lister les rôles pouvant être attribués, demandez à votre administrateur de vous attribuer le rôle IAM Examinateur de sécurité (
Ce rôle contient les autorisationsroles/iam.securityReviewer
) sur la ressource pour laquelle vous souhaitez lister les rôles attribuables. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.getIamPolicy
pour tous les types de ressources. Pour lister les rôles pouvant être attribués, vous devez disposer de l'autorisationgetIamPolicy
pour la ressource pour laquelle vous souhaitez lister les rôles attribuables. Par exemple, pour lister les rôles attribuables pour un projet, vous devez disposer de l'autorisationresourcemanager.projects.getIamPolicy
.Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Comprendre quels rôles sont attribuables
Un rôle peut être octroyé au niveau d'une ressource ou au niveau supérieur s'il possède des autorisations pour ce type de ressource. Par exemple, le rôle
storage.admin
accorde des autorisations aux APIstorage.buckets.get
etstorage.objects.get
. Il peut donc être attribué aux types de ressources buckets de stockage et objets de stockage.Les rôles peuvent également être octroyés "au-dessus" des types de ressources pour lesquels leurs autorisations sont définies. Autrement dit, vous pouvez attribuer des rôles pour des ressources de niveau inférieur sur une ressource située plus haut dans la hiérarchie des ressources Google Cloud. Par exemple, le rôle
storage.admin
peut également être attribué au niveau du projet ou de l'organisation, en plus des buckets de stockage.Les autorisations accordées par un rôle n'affectent que les ressources du niveau spécifié ou de niveau inférieur. Elles n'affectent pas les ressources de niveau supérieur ou homologue. De plus, quand un rôle est accordé sur une ressource, seules les autorisations applicables à la ressource en question sont accordées, indépendamment du nom, de la description et des autres autorisations du rôle. Par exemple, l'attribution du rôle
resourcemanager.organizationAdmin
(qui accorde l'autorisationresourcemanager.projects.list
) à un utilisateur au niveau du projet n'accorde les autorisations que pour ce projet. Cela ne permet pas d'afficher, ni de gérer tous les projets de l'organisation. De la même manière, lorsque vous attribuez le rôlecompute.admin
sur une instance Compute Engine spécifique, vous n'accordez des autorisations que pour cette instance et pas pour les autres instances du projet.Afficher les rôles attribuables
Vous pouvez répertorier les rôles à attribuer à l'aide de la console Google Cloud, de Google Cloud CLI, de l'API IAM ou des bibliothèques clientes IAM.
La console Google Cloud répertorie toujours tous les rôles pouvant être attribués pour la ressource que vous consultez. Google Cloud CLI, l'API IAM et les bibliothèques clientes ne répertorient que les rôles pouvant être attribués pour les API activées.
Console
Pour afficher les rôles pouvant être attribués pour un projet, un dossier ou une organisation, procédez comme suit :
Dans la console Google Cloud, accédez à la page IAM.
Cliquez sur Sélectionnez un projet en haut de la page.
Sélectionnez le projet, le dossier ou l'organisation dont vous souhaitez afficher les rôles pouvant être attribués.
Cliquez sur
Accorder l'accès.Cliquez sur Select a role (Sélectionner un rôle). Ce menu affiche tous les rôles, y compris tous les rôles personnalisés, que vous pouvez attribuer sur cette ressource.
Pour afficher les rôles pouvant être attribués pour d'autres types de ressources, procédez comme suit :
Dans la console Google Cloud, accédez à la page répertoriant la ressource pour laquelle vous souhaitez afficher les rôles pouvant être attribués.
Par exemple, pour gérer l'accès à une instance Compute Engine, accédez à la page Instances de VM.
Cochez la case située à côté de la ressource pour laquelle vous souhaitez afficher les rôles pouvant être attribués.
Assurez-vous que le panneau d'informations est visible. S'il n'est pas visible, cliquez sur Afficher le panneau d'informations.
Cliquez sur
Ajouter un compte principal.Cliquez sur Select a role (Sélectionner un rôle). Ce menu affiche tous les rôles, y compris tous les rôles personnalisés, que vous pouvez attribuer sur cette ressource.
gcloud
Exécutez la commande
gcloud iam list-grantable-roles
pour renvoyer la liste de tous les rôles pouvant être appliqués à une ressource donnée.gcloud iam list-grantable-roles full-resource-name
En fonction de la ressource de votre choix, un grand nombre de rôles peut être renvoyé. Pour limiter les résultats, vous pouvez spécifier une expression de filtre.
La sortie sera semblable à ce qui suit :
description: Full control of all Compute Engine resources. name: roles/compute.admin title: Compute Admin --- description: Full control of Compute Engine instance resources. name: roles/compute.instanceAdmin title: Compute Instance Admin # Additional results here...
C++
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM C++.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
C#
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM C#.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Go.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Java.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour IAM, consultez la page Bibliothèques clientes IAM. Pour en savoir plus, consultez la documentation de référence de l'API Cloud IAM Python.
Pour vous authentifier auprès d'IAM, configurez le service Identifiants par défaut de l'application. Pour plus d'informations, consultez la section Avant de commencer.
REST
La méthode
roles.queryGrantableRoles
renvoie une liste de tous les rôles pouvant être attribués à une ressource donnée.Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
FULL_RESOURCE_NAME
: URI composé du nom du service et du chemin d'accès à la ressource. Pour obtenir des exemples, consultez la page Noms de ressources complets.
Méthode HTTP et URL :
POST https://iam.googleapis.com/v1/roles:queryGrantableRoles
Corps JSON de la requête :
{ "fullResourceName": "FULL_RESOURCE_NAME" }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "roles": [ { "name": "roles/compute.admin", "title": "Compute Admin", "description": "Full control of all Compute Engine resources." }, { "name": "roles/compute.instanceAdmin", "title": "Compute Instance Admin (beta)", "description": "Full control of Compute Engine instance resources." } ] }
Dans les exemples ci-dessus, le nom complet de la ressource est un URI sans schéma comprenant un nom de service d'API et un chemin d'accès à la ressource compatibles avec DNS.
Par exemple, pour renvoyer tous les rôles pouvant être attribués à un projet, utilisez :
//cloudresourcemanager.googleapis.com/projects/project-id
Les ressources de niveau inférieur ont un nom complet plus détaillé. Par exemple, utilisez la commande suivante pour renvoyer tous les rôles attribuables sur une instance Compute Engine :
//compute.googleapis.com/projects/project-id/zones/zone-name/instances/instance-id
Étape suivante
- Apprenez-en plus sur les rôles IAM.
- Découvrez comment choisir les rôles prédéfinis les plus appropriés.
- Découvrez comment attribuer, modifier et révoquer les accès d'un compte principal.
- Consultez des exemples de noms de ressources pour différents types de ressources.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/12/22 (UTC).