La plupart des ressources Google Cloud exposent la méthode testIamPermissions()
, qui permet de vérifier de manière automatisée si l'appelant actuellement authentifié s'est vu accorder une ou plusieurs autorisations IAM spécifiques sur la ressource. La méthode testIamPermissions()
prend comme paramètres d'entrée un identifiant de ressource et un ensemble d'autorisations, et renvoie l'ensemble d'autorisations dont dispose l'auteur de l'appel.
La méthode testIamPermissions()
permet de déterminer si un utilisateur doit disposer de l'accès à un outil administratif dans une application Web. Par exemple, cette méthode peut vous permettre de décider, en fonction des autorisations de l'utilisateur, d'afficher ou non des informations détaillées sur une ressource Google Cloud.
Par exemple, pour déterminer si l'utilisateur actuellement authentifié est autorisé à supprimer un projet, appelez la méthode projects.testIamPermissions()
en fournissant l'ID de projet (tel que foo-project
) et l'autorisation resourcemanager.projects.delete
en tant que paramètres d'entrée. Si l'auteur de l'appel a obtenu l'autorisation resourcemanager.projects.delete
, il est répertorié dans le corps de la réponse. Si l'auteur de l'appel ne dispose pas de cette autorisation, le corps de la réponse ne liste aucune autorisation.
La méthode testIamPermissions()
est destinée aux interfaces utilisateurs graphiques tierces qui doivent afficher les ressources Google Cloud en fonction de ce que l'utilisateur authentifié est autorisé à voir. Par exemple, la console Google Cloud utilise en interne la méthode testIamPermissions()
pour déterminer quelles ressources et fonctionnalités sont visibles pour vous après votre authentification. Différents utilisateurs bénéficient généralement de permissions différentes, et la console Google Cloud masque ou affiche les éléments en conséquence.
Avant de commencer
-
Enable the Resource Manager API.
Rôles requis
Aucun rôle IAM n'est requis pour tester les autorisations.
Comment tester les autorisations
Cet exemple montre comment tester les autorisations resourcemanager.projects.get
et resourcemanager.projects.delete
pour un projet Google Cloud. Pour tester les autorisations des autres ressources Google Cloud, utilisez la méthode testIamPermissions()
exposée par chaque ressource. Par exemple, vous pouvez tester les autorisations IAM pour un bucket Cloud Storage.
REST
Dans cet exemple, l'utilisateur dispose d'un rôle IAM lui permettant d'obtenir des informations sur un projet, mais pas de supprimer des projets.
La méthode projects.testIamPermissions
de l'API Resource Manager accepte une liste d'autorisations et teste celles dont dispose un compte principal.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_ID
: ID de votre projet Google Cloud. Les ID de projet sont des chaînes alphanumériques, telles quemy-project
.
Méthode HTTP et URL :
POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:testIamPermissions
Corps JSON de la requête :
{ "permissions": [ "resourcemanager.projects.get", "resourcemanager.projects.delete" ] }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "permissions": [ "resourcemanager.projects.get" ] }
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 en savoir plus, consultez la page Configurer l'authentification pour un environnement de développement local.
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 en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Cloud IAM teste les autorisations du compte de service que vous utilisez pour générer des identifiants.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 en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Cloud IAM teste les autorisations du compte de service que vous utilisez pour générer des identifiants.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 en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Cloud IAM teste les autorisations du compte de service que vous utilisez pour générer des identifiants.Étapes suivantes
Découvrez comment attribuer, modifier et révoquer les accès des comptes principaux.