Cette page décrit le processus général d'attribution, de modification et de révocation de l'accès aux ressources compatibles avec les stratégies d'autorisation.
Dans la gestion de l'authentification et des accès (IAM), l'accès est accordé via des stratégies d'autorisation, également appelées stratégies IAM. Une stratégie d'autorisation est associée à une ressource Google Cloud. Chaque stratégie d'autorisation contient un ensemble de liaisons de rôles qui associent un ou plusieurs comptes principaux, tels que des utilisateurs ou des comptes de service, à un rôle IAM. Ces liaisons de rôles accordent les rôles spécifiés aux comptes principaux, à la fois sur la ressource associée à la stratégie d'autorisation et sur tous les descendants de cette ressource. Pour en savoir plus sur les stratégies d'autorisation, consultez la section Comprendre les stratégies d'autorisation.
Cette page explique comment gérer les accès aux ressources à l'aide de la console Google Cloud, de Google Cloud CLI et de l'API REST. Vous pouvez également gérer l'accès à l'aide des bibliothèques clientes Google Cloud.
Avant de commencer
Consultez la liste des types de ressources compatibles avec les stratégies d'autorisation.
Autorisations requises
Pour gérer l'accès à une ressource, vous devez disposer des autorisations nécessaires pour l'obtenir, ainsi que pour obtenir et définir la stratégie d'autorisation de la ressource. Ces autorisations présentent le format suivant, où SERVICE
est le nom du service propriétaire de la ressource et RESOURCE_TYPE
est le nom du type de ressource dont vous souhaitez gérer l'accès :
SERVICE.RESOURCE_TYPE.get
SERVICE.RESOURCE_TYPE.getIamPolicy
SERVICE.RESOURCE_TYPE.setIamPolicy
Par exemple, pour gérer l'accès à une instance Compute Engine, vous devez disposer des autorisations suivantes :
compute.instances.get
compute.instances.getIamPolicy
compute.instances.setIamPolicy
Pour obtenir les autorisations requises, demandez à votre administrateur de vous attribuer un rôle prédéfini ou personnalisé qui inclut ces autorisations. Par exemple, votre administrateur peut vous accorder le rôle "Administrateur de sécurité" (roles/iam.securityAdmin
), qui inclut des autorisations permettant de gérer l'accès à presque toutes les ressources Google Cloud.
Afficher l'accès actuel
La section suivante explique comment utiliser la console Google Cloud, la CLI gcloud et l'API REST pour voir qui a accès à une ressource. Vous pouvez également consulter l'accès à l'aide des bibliothèques clientes Google Cloud pour obtenir la stratégie d'autorisation de la ressource.
Console
Dans la console Google Cloud, accédez à la page qui répertorie la ressource à laquelle vous souhaitez afficher l'accè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 dont vous souhaitez consulter l'accès.
Assurez-vous que le panneau d'informations est visible. S'il n'est pas visible, cliquez sur Afficher le panneau d'informations. L'onglet Autorisations du panneau d'informations fournit la liste de tous les comptes principaux qui ont accès à la ressource.
Si le bouton Afficher les autorisations héritées est activé, la liste inclut les comptes principaux avec des rôles hérités, c'est-à-dire les comptes principaux dont l'accès provient de rôles sur les ressources parentes plutôt que de rôles sur la ressource elle-même. Pour en savoir plus sur l'héritage des stratégies, consultez la section Héritage des stratégies et hiérarchie des ressources.
gcloud
Pour savoir qui a accès à votre ressource, obtenez la stratégie d'autorisation pour la ressource. Pour apprendre à interpréter les stratégies d'autorisation, consultez la page Comprendre les stratégies d'autorisation.
Pour obtenir la stratégie d'autorisation associée à la ressource, exécutez la commande get-iam-policy
correspondante.
Le format de cette commande varie en fonction du type de ressource dont vous gérez l'accès. Pour connaître le format de votre ressource, recherchez la documentation de référence de la commande get-iam-policy
de la ressource dans la documentation de référence de la CLI Google Cloud. Cette documentation est organisée par service, puis par ressource.
Par exemple, pour obtenir la stratégie d'autorisation d'une instance de VM Compute Engine, suivez le format décrit dans la documentation de référence sur gcloud compute instances get-iam-policy
.
Vous pouvez également ajouter les arguments suivants à la commande pour spécifier le format et exporter les résultats :
--format=FORMAT > PATH
Indiquez les valeurs suivantes :
FORMAT
: format souhaité pour la stratégie. Utilisezjson
ouyaml
.PATH
: le chemin d'accès à un nouveau fichier de sortie pour la stratégie.
Lorsque vous exécutez la commande, la stratégie d'autorisation de la ressource est soit affichée sur la console, soit exportée vers le fichier spécifié.
REST
Pour savoir qui a accès à votre ressource, obtenez la stratégie d'autorisation de la ressource. Pour apprendre à interpréter les stratégies d'autorisation, consultez la page Comprendre les stratégies d'autorisation.
Pour obtenir la stratégie d'autorisation de la ressource, utilisez la méthode getIamPolicy
de la ressource.
La méthode HTTP, l'URL et le corps de la requête dépendent de la ressource pour laquelle vous souhaitez visualiser l'accès. Pour obtenir ces détails, recherchez la documentation de référence de l'API du service propriétaire de la ressource, puis recherchez la documentation de référence de la méthode getIamPolicy
de la ressource. Par exemple, la méthode HTTP, l'URL et le corps de la requête d'une instance Compute Engine sont spécifiés dans la documentation de référence sur les instances getIamPolicy
.
La réponse de la méthode getIamPolicy
d'une ressource contient la stratégie d'autorisation de cette ressource.
Attribuer ou révoquer un rôle unique
Vous pouvez utiliser la console Google Cloud et gcloud CLI pour accorder ou révoquer rapidement un rôle unique pour un seul compte principal, sans modifier directement la stratégie d'autorisation de la ressource. Les types de membres courants incluent les comptes principaux Google, les comptes de service, les Google Groupes et les domaines. Pour obtenir la liste de tous les types de comptes principaux, consultez la page Concepts liés à l'identité.
En règle générale, les modifications apportées aux stratégies prennent effet en moins de deux minutes. Toutefois, dans certains cas, la propagation des modifications dans le système peut prendre sept minutes ou plus.
Si vous avez besoin d'identifier les rôles prédéfinis les plus appropriés, consultez la section Choisir des rôles prédéfinis.
Attribuer un rôle unique
Pour attribuer un seul rôle à un compte principal, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page répertoriant la ressource à laquelle vous souhaitez consulter l'accè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 dont vous souhaitez gérer l'accès.
Assurez-vous que le panneau d'informations est visible. S'il n'est pas visible, cliquez sur Afficher le panneau d'informations.
Sélectionnez un compte principal auquel attribuer un rôle :
Pour attribuer un rôle à un compte principal qui dispose déjà d'autres rôles sur la ressource, recherchez la ligne contenant le compte principal, puis cliquez sur
Modifier le compte principal sur cette ligne, puis cliquez sur Ajouter un autre rôle.Pour attribuer un rôle à un compte principal qui ne dispose pas déjà d'autres rôles sur la ressource, cliquez sur
Ajouter un compte principal, puis saisissez un identifiant pour le compte principal (par exemple,my-user@example.com
).
Sélectionnez un rôle à attribuer dans la liste déroulante. Pour respecter les bonnes pratiques de sécurité, choisissez un rôle qui n'inclut que les autorisations dont votre compte principal a besoin.
Facultatif : ajoutez une condition au rôle.
Cliquez sur Enregistrer. Le rôle est attribué au compte principal sur la ressource.
gcloud
Pour attribuer rapidement un rôle à un compte principal, exécutez la commande add-iam-policy-binding
.
Le format de cette commande varie en fonction du type de ressource dont vous gérez l'accès. Pour connaître le format de votre ressource, recherchez la documentation de référence de la commande add-iam-policy-binding
de la ressource dans la documentation de référence de la CLI Google Cloud. Cette documentation est organisée par service, puis par ressource.
Par exemple, pour attribuer à un compte principal un rôle sur une instance Compute Engine, suivez le format décrit dans la documentation de référence de gcloud compute instances add-iam-policy-
binding
.
Révoquer un rôle unique
Pour révoquer un seul rôle d'un compte principal, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page répertoriant la ressource dont vous souhaitez révoquer l'accè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 dont vous souhaitez gérer l'accès.
Assurez-vous que le panneau d'informations est visible. S'il n'est pas visible, cliquez sur Afficher le panneau d'informations.
Recherchez la ligne contenant le compte principal dont vous souhaitez révoquer l'accès. Cliquez ensuite sur
Modifier le compte principal sur cette ligne.Cliquez sur le bouton Supprimer (
) correspondant au rôle que vous souhaitez révoquer, puis cliquez sur Enregistrer.
gcloud
Pour révoquer rapidement un rôle d'un compte principal, exécutez la commande remove-iam-policy-binding
.
Le format de cette commande varie en fonction du type de ressource dont vous gérez l'accès. Pour connaître le format de votre ressource, recherchez la documentation de référence de la commande remove-iam-policy-binding
de la ressource dans la documentation de référence de la CLI Google Cloud. Cette documentation est organisée par service, puis par ressource.
Par exemple, pour attribuer à un compte principal un rôle sur une instance Compute Engine, suivez le format décrit dans la documentation de référence de gcloud compute instances
remove-iam-policy-binding
.
Attribuer ou révoquer plusieurs rôles à l'aide de la console Google Cloud
Vous pouvez attribuer et révoquer plusieurs rôles pour un même compte principal à l'aide de la console Google Cloud :
Dans la console Google Cloud, accédez à la page répertoriant la ressource à laquelle vous souhaitez consulter l'accè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 dont vous souhaitez gérer l'accès.
Si le panneau d'informations n'est pas déjà visible, cliquez sur Afficher le panneau d'informations.
Sélectionnez le compte principal dont vous souhaitez modifier le rôle :
Pour modifier les rôles d'un compte principal disposant déjà de rôles sur la ressource, recherchez la ligne contenant le compte principal, puis cliquez sur
Modifier le compte principal sur cette ligne, puis cliquez sur Ajouter un autre rôle.Pour attribuer des rôles à un compte principal qui ne dispose d'aucun rôle sur la ressource, cliquez sur
Ajouter un compte principal, puis saisissez un identifiant pour le compte principal (par exemple,my-user@example.com
).
Modifiez les rôles du compte principal :
- Pour attribuer un rôle à un compte principal qui ne dispose pas de rôles existants sur la ressource, cliquez sur Sélectionner un rôle, puis sélectionnez un rôle à attribuer dans la liste déroulante.
- Pour attribuer un rôle supplémentaire au compte principal, cliquez sur Ajouter un autre rôle, puis sélectionnez un rôle à attribuer dans la liste déroulante.
- Pour remplacer l'un des rôles du compte principal par un autre rôle, cliquez sur le rôle existant, puis choisissez un autre rôle à attribuer dans la liste déroulante.
- Pour révoquer l'un des rôles du compte principal, cliquez sur le bouton Supprimer pour chaque rôle à révoquer.
Vous pouvez également ajouter une condition à un rôle, modifier la condition d'un rôle ou supprimer la condition d'un rôle.
Cliquez sur Enregistrer.
Attribuer ou révoquer plusieurs rôles de manière automatisée
Pour effectuer des modifications d'accès à grande échelle impliquant l'attribution et la révocation de plusieurs rôles pour plusieurs comptes principaux, utilisez le modèle lecture-modification-écriture pour mettre à jour la stratégie d'autorisation de la ressource :
- Lisez la stratégie d'autorisation actuelle en appelant
getIamPolicy()
. - Modifiez la stratégie d'autorisation, à l’aide d’un éditeur de texte ou de façon automatisée, afin d'ajouter ou de supprimer des comptes principaux ou des liaisons de rôles.
- Écrivez la stratégie d'autorisation mise à jour en appelant
setIamPolicy()
.
Cette section explique comment utiliser gcloud CLI et l'API REST pour mettre à jour la stratégie d'autorisation. Vous pouvez également mettre à jour la stratégie d'autorisation à l'aide des bibliothèques clientes Google Cloud.
En règle générale, les modifications apportées aux stratégies prennent effet en moins de deux minutes. Toutefois, dans certains cas, la propagation des modifications dans le système peut prendre sept minutes ou plus.
Obtenir la stratégie d'autorisation actuelle
gcloud
Pour obtenir la stratégie d'autorisation associée à la ressource, exécutez la commande get-iam-policy
correspondante.
Le format de cette commande varie en fonction du type de ressource dont vous gérez l'accès. Pour connaître le format de votre ressource, recherchez la documentation de référence de la commande get-iam-policy
de la ressource dans la documentation de référence de la CLI Google Cloud. Cette documentation est organisée par service, puis par ressource.
Par exemple, pour obtenir la stratégie d'autorisation d'une instance de VM Compute Engine, suivez le format décrit dans la documentation de référence sur gcloud compute instances get-iam-policy
.
Vous pouvez également ajouter les arguments suivants à la commande pour spécifier le format et exporter les résultats :
--format=FORMAT > PATH
Indiquez les valeurs suivantes :
FORMAT
: format souhaité pour la stratégie d'autorisation. Utilisezjson
ouyaml
.PATH
: le chemin d'accès à un nouveau fichier de sortie pour la stratégie d'autorisation.
Lorsque vous exécutez la commande, la stratégie d'autorisation de la ressource est soit affichée sur la console, soit exportée vers le fichier spécifié.
REST
Pour obtenir la stratégie d'autorisation de la ressource, utilisez la méthode getIamPolicy
de la ressource.
La méthode HTTP, l'URL et le corps de la requête dépendent de la ressource pour laquelle vous souhaitez visualiser l'accès. Pour obtenir ces détails, recherchez la documentation de référence de l'API du service propriétaire de la ressource, puis recherchez la documentation de référence de la méthode getIamPolicy
de la ressource. Par exemple, la méthode HTTP, l'URL et le corps de la requête d'une instance de VM Compute Engine sont spécifiés dans la documentation de référence sur les instances getIamPolicy
.
La réponse de la méthode getIamPolicy
d'une ressource contient la stratégie d'autorisation de cette ressource. Enregistrez la réponse dans un fichier du type approprié (json
ou yaml
).
Modifier la stratégie d'autorisation
De façon automatisée ou à l'aide d'un éditeur de texte, modifiez la copie locale de la stratégie d'autorisation de votre ressource afin de refléter les rôles que vous souhaitez accorder ou révoquer.
Pour vous assurer de ne pas écraser les autres modifications, ne modifiez pas et ne supprimez pas le champ etag
de la stratégie d'autorisation. Le champ etag
identifie l'état actuel de la stratégie d'autorisation. Lorsque vous définissez la stratégie d'autorisation modifiée, Cloud IAM compare la valeur etag
de la requête avec la valeur etag
existante et n'écrit la stratégie d'autorisation que si les valeurs correspondent.
Pour modifier les rôles qu'une stratégie d'autorisation accorde, vous devez modifier les liaisons de rôles dans la stratégie d'autorisation. Les liaisons de rôle ont le format suivant:
{ "role": "ROLE_NAME", "members": [ "PRINCIPAL_1", "PRINCIPAL_2", ... "PRINCIPAL_N" ], "conditions:" { CONDITIONS } }
Les espaces réservés prennent les valeurs suivantes :
ROLE_NAME
: nom du rôle que vous souhaitez attribuer. Utilisez l'un des formats suivants :- Rôles prédéfinis :
roles/SERVICE.IDENTIFIER
- Rôles personnalisés au niveau du projet :
projects/PROJECT_ID/roles/IDENTIFIER
- Rôles personnalisés au niveau de l'organisation :
organizations/ORG_ID/roles/IDENTIFIER
Pour obtenir la liste complète des rôles prédéfinis, consultez la page Comprendre les rôles.
- Rôles prédéfinis :
PRINCIPAL_1
,PRINCIPAL_2
et...PRINCIPAL_N
: identifiants des principaux auxquels vous souhaitez accorder le rôle.Les identifiants principaux se présentent généralement sous la forme suivante :
PRINCIPAL-TYPE:ID
. Exemple :user:my-user@example.com
Pour obtenir la liste complète des valeurs possibles pourPRINCIPAL
, consultez la section Identifiants principaux.Pour le type de compte principal
user
, le nom de domaine indiqué dans l'identifiant doit être un domaine Google Workspace ou Cloud Identity. Pour savoir comment configurer un domaine Cloud Identity, consultez la présentation de Cloud Identity.CONDITIONS
: facultatif. Toutes les conditions qui spécifient quand l'accès sera accordé.
Attribuer un rôle
Pour attribuer des rôles à vos comptes principaux, modifiez les liaisons de rôles dans la stratégie d'autorisation. Pour savoir quels rôles vous pouvez attribuer, consultez la section Comprendre les rôles ou Afficher les rôles pouvant être attribués sur la ressource. Si vous avez besoin d'identifier les rôles prédéfinis les plus appropriés, consultez la section Choisir des rôles prédéfinis.
Vous pouvez éventuellement utiliser des conditions pour n'accorder des rôles que lorsque certaines conditions sont remplies.
Pour accorder un rôle déjà inclus dans la stratégie d'autorisation, ajoutez le compte principal à une liaison de rôle existante :
gcloud
Modifiez la stratégie d'autorisation en ajoutant le compte principal à une liaison de rôle existante. Notez que cette modification de stratégie ne prendra effet que lorsque vous aurez défini la stratégie d'autorisation mise à jour.
Par exemple, imaginons que la stratégie d'autorisation renvoie la liaison de rôle suivante, qui attribue le rôle Administrateur d'instances Compute (roles/compute.instanceAdmin
) à Kai:
{
"role": "roles/compute.instanceAdmin",
"members": [
"user:kai@example.com"
]
}
Pour accorder ce même rôle à Raha, ajoutez l'identifiant principal de Raha à la liaison de rôle existante:
{ "role": "roles/compute.instanceAdmin", "members": [ "user:kai@example.com", "user:raha@example.com" ] }
REST
Modifiez la stratégie d'autorisation en ajoutant le compte principal à une liaison de rôle existante. Notez que cette modification de stratégie ne prendra effet que lorsque vous aurez défini la stratégie d'autorisation mise à jour.
Par exemple, imaginons que la stratégie d'autorisation renvoie la liaison de rôle suivante, qui attribue le rôle Administrateur d'instances Compute (roles/compute.instanceAdmin
) à Kai:
{
"role": "roles/compute.instanceAdmin",
"members": [
"user:kai@example.com"
]
}
Pour accorder ce même rôle à Raha, ajoutez l'identifiant principal de Raha à la liaison de rôle existante:
{ "role": "roles/compute.instanceAdmin", "members": [ "user:kai@example.com", "user:raha@example.com" ] }
Pour accorder un rôle qui n'est pas encore inclus dans la stratégie, d'autorisation ajoutez une liaison de rôle :
gcloud
Modifiez la stratégie d'autorisation en ajoutant une nouvelle liaison de rôle qui accorde le rôle au compte principal. Cette modification ne prendra effet que lorsque vous aurez défini la stratégie d'autorisation mise à jour.
Par exemple, pour accorder le rôle d'administrateur de l'équilibreur de charge Compute (roles/compute.loadBalancerAdmin
) à Raha, ajoutez la liaison de rôle suivante au tableau bindings
de la stratégie d'autorisation:
{
"role": "roles/compute.loadBalancerAdmin",
"members": [
"user:raha@example.com"
]
}
REST
Modifiez la stratégie d'autorisation en ajoutant une nouvelle liaison de rôle qui accorde le rôle au compte principal. Cette modification ne prendra effet que lorsque vous aurez défini la stratégie d'autorisation mise à jour.
Par exemple, pour accorder le rôle d'administrateur de l'équilibreur de charge Compute (roles/compute.loadBalancerAdmin
) à Raha, ajoutez la liaison de rôle suivante au tableau bindings
de la stratégie d'autorisation:
{
"role": "roles/compute.loadBalancerAdmin",
"members": [
"user:raha@example.com"
]
}
Révoquer un rôle
Pour révoquer un rôle, supprimez le compte principal de la liaison de rôle. Si la liaison de rôle ne comporte aucun autre compte principal, supprimez toute la liaison de rôle.
gcloud
Révoquez un rôle en modifiant la stratégie d'autorisation JSON ou YAML renvoyée par la commande get-iam-policy
. Cette modification ne prendra effet que lorsque vous aurez défini la stratégie d'autorisation mise à jour.
Pour révoquer un rôle d'un compte principal, supprimez les comptes principaux ou les liaisons concernés du tableau bindings
de la stratégie d'autorisation.
REST
Révoquez un rôle en modifiant la stratégie d'autorisation JSON ou YAML renvoyée par la commande get-iam-policy
. Cette modification ne prendra effet que lorsque vous aurez défini la stratégie d'autorisation mise à jour.
Pour révoquer un rôle d'un compte principal, supprimez les comptes principaux ou les liaisons concernés du tableau bindings
de la stratégie d'autorisation.
Définir la stratégie d'autorisation
Après avoir modifié la stratégie d'autorisation pour accorder et révoquer les rôles souhaités, appelez setIamPolicy()
pour effectuer les mises à jour.
gcloud
Pour définir la stratégie d'autorisation de la ressource, exécutez la commande set-iam-policy
.
Le format de cette commande varie en fonction du type de ressource dont vous gérez l'accès. Pour connaître le format de votre ressource, recherchez la documentation de référence de la commande set-iam-policy
de la ressource dans la documentation de référence de la CLI Google Cloud. Cette documentation est organisée par service, puis par ressource.
Par exemple, pour obtenir la stratégie d'autorisation d'une instance de VM Compute Engine, suivez le format décrit dans la documentation de référence sur gcloud compute instances set-iam-policy
.
La réponse de la commande set-iam-policy
d'une ressource contient la stratégie d'autorisation mise à jour de la ressource.
REST
Pour définir la stratégie d'autorisation de la ressource, utilisez la méthode setIamPolicy
de la ressource.
La méthode HTTP, l'URL et le corps de la requête dépendent de la ressource pour laquelle vous souhaitez visualiser l'accès. Pour obtenir ces détails, recherchez la documentation de référence de l'API du service propriétaire de la ressource, puis recherchez la documentation de référence de la méthode setIamPolicy
de la ressource. Par exemple, la méthode HTTP, l'URL et le corps de la requête d'une instance de VM Compute Engine sont spécifiés dans la documentation de référence sur les instances setIamPolicy
.
La réponse de la méthode setIamPolicy
d'une ressource contient la stratégie d'autorisation mise à jour de cette ressource.
Étape suivante
- Découvrez comment gérer l'accès aux projets, aux dossiers et aux organisations, ou comment gérer l'accès aux comptes de service.
- Découvrez comment choisir les rôles prédéfinis les plus appropriés.
- Utilisez l'outil Policy Troubleshooter pour comprendre pourquoi un utilisateur est autorisé ou non à accéder à une ressource ou à appeler une API.
- Découvrez comment afficher les rôles que vous pouvez attribuer pour une ressource particulière.
- Découvrez comment rendre l'accès d'un compte principal conditionnel avec des liaisons de rôle conditionnelles.
Faites l'essai
Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
Essai gratuit