Identity and Access Management (IAM) est une solution proposée parGoogle Cloud qui vous permet d'attribuer un accès précis à des ressources Google Cloud spécifiques et empêche tout accès non souhaité à d'autres ressources. IAM vous permet d'adopter le principe de sécurité du moindre privilège afin de n'accorder que l'accès nécessaire à vos ressources.
Grâce à IAM, vous pouvez contrôler qui (utilisateurs) a accès (rôles) à quelles ressources en définissant des stratégies d'autorisation. Les stratégies d'autorisation attribuent des rôles spécifiques à un utilisateur pour lui accorder certaines autorisations.
Cette page décrit les rôles IAM disponibles sur la ressource d'organisation et explique comment créer et gérer des stratégies d'autorisation pour les ressources d'organisation à l'aide de l'API Cloud Resource Manager. Pour en savoir plus, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Autorisations et rôles
Pour contrôler l'accès aux ressources, Google Cloud exige que les comptes effectuant des requêtes API disposent de rôles IAM appropriés. Les rôles IAM incluent des autorisations permettant aux utilisateurs d'effectuer des actions spécifiques sur les ressourcesGoogle Cloud . Par exemple, l'autorisation resourcemanager.organizations.get permet à un utilisateur d'obtenir des détails sur la ressource de son organisation.
Vous n'accordez pas directement des autorisations aux utilisateurs, mais vous leur attribuez des rôles auxquels sont associées une ou plusieurs autorisations.
Vous pouvez attribuer un ou plusieurs rôles sur la même ressource.
Utiliser des rôles prédéfinis
Le tableau suivant répertorie les rôles que vous pouvez attribuer pour accéder aux propriétés d'une ressource d'organisation, la description de ces rôles et les autorisations qu'ils procurent.
| Rôle | Autorisations |
|---|---|
Administrateur de l'organisation( Accorde un accès permettant de gérer les stratégies IAM et d'afficher les règles d'administration des organisations, des dossiers et des projets. Ressources de niveau inférieur auxquelles vous pouvez attribuer ce rôle :
|
|
Lecteur de l'organisation( Permet d'afficher une organisation. Ressources de niveau inférieur auxquelles vous pouvez attribuer ce rôle :
|
|
Administrateur des règles d'administration( Fournit un accès permettant de définir les restrictions qu'une organisation souhaite appliquer à la configuration des ressources cloud en définissant des règles d'administration. Ressources de niveau inférieur auxquelles vous pouvez attribuer ce rôle :
|
|
Navigateur( Accès en lecture pour parcourir la hiérarchie d'un projet, y compris le dossier, l'organisation et la stratégie d'autorisation. Ce rôle ne donne pas l'autorisation d'afficher les ressources du projet. Ressources de niveau inférieur auxquelles vous pouvez attribuer ce rôle :
|
|
Créer des rôles personnalisés
En plus des rôles prédéfinis décrits dans cette rubrique, vous pouvez créer des rôles personnalisés regroupant des autorisations adaptées à vos besoins. Lorsque vous créez un rôle personnalisé à utiliser avec Resource Manager, vous devez tenir compte des points suivants :- Les autorisations de type obtenir/répertorier, telles que
resourcemanager.projects.get/list, doivent toujours être accordées en tant que paire. - Lorsque le rôle personnalisé inclut les autorisations
folders.listetfolders.get, il doit également inclureprojects.listetprojects.get. - Notez que l'autorisation
setIamPolicypour les ressources d'organisation, de dossier et de projet permet à l'utilisateur d'accorder toutes les autres autorisations, et doit donc être attribuée avec précaution.
Afficher les accès existants pour une ressource d'organisation
Vous pouvez afficher les rôles attribués à un utilisateur pour une ressource d'organisation en obtenant la stratégie d'autorisation de cette ressource. Vous pouvez afficher la stratégie d'autorisation pour une ressource d'organisation à l'aide de la console Google Cloud , de la Google Cloud CLI ou de la méthode getIamPolicy().
Console
Pour afficher les rôles attribués au niveau de la ressource Organisation à l'aide de la console Google Cloud :
Accédez à la page Gérer les ressources dans la console Google Cloud :
Dans le menu déroulant Organisation, sélectionnez votre ressource Organisation.
Cochez la case correspondant à la ressource Organisation.
Dans le panneau d'informations, sous Autorisations, cliquez sur Développer pour afficher tous les membres qui disposent de ce rôle.
gcloud
Obtenez la stratégie d'autorisation pour la ressource Organisation à l'aide de la commande get-iam-policy :
gcloud alpha organizations get-iam-policy <var>ORGANIZATION_ID</var> --format json >
<var>FILENAME.JSON</var>
La commande génère la stratégie d'autorisation, qui ressemble à ce qui suit :
bindings:
- members:
- user:testuser1@gcp-test.com
role: roles/editor
- members:
- user:admin@gcp-test.com
role:roles/resourcemanager.organizationAdmin
- members:
- user:testuser2@gcp-test.com
role: roles/resourcemanager.projectCreator
etag": "BwU1aRxWk30="
API
L'extrait de code suivant renvoie la stratégie d'autorisation pour la ressource d'organisation https://cloudresourcemanager.googleapis.com/v3/organizations/12345.
Requête :
POST
https://cloudresourcemanager.googleapis.com/v3/organizations/12345:getIamPolicy
Réponse :
{
"bindings": [
{
"role": "roles/resourcemanager.organizationAdmin",
"members": [
"user:email1@gmail.com"
]
},
{
"role": "roles/resourcemanager.projectCreator",
"members": [
"user:email2@gmail.com",
"user:email3@gmail.com",
"serviceAccount:my-other-app@appspot.gserviceaccount.com"
]
}
]
"etag": "BwUjHYKHHiQ="
}
Python
La méthode getIamPolicy() vous permet d'obtenir une stratégie d'autorisation précédemment définie.
crm = discovery.build(
'cloudresourcemanager', 'v3', http=creds.authorize(httplib2.Http()))
policy = crm.organizations().getIamPolicy(
resource=flags.organizationId, body={}).execute()
print json.dumps(policy, indent=2)
Accorder l'accès à une ressource d'organisation
Les administrateurs d'organisation peuvent attribuer des rôles IAM aux membres de l'équipe pour leur permettre d'accéder aux ressources et aux API de cette organisation. Vous pouvez attribuer des rôles à l'adresse e-mail d'un compte utilisateur, à un groupe Google, à un compte de service ou à un domaine G Suite. Vous pouvez attribuer des rôles à l'aide de la console Google Cloud , de la gcloud CLI ou de la méthode setIamPolicy().
Console
Pour définir le contrôle des accès au niveau de la ressource d'organisation à l'aide de la console Google Cloud :
Accédez à la page Gérer les ressources dans la console Google Cloud :
Dans le menu déroulant Organisation, sélectionnez votre ressource Organisation.
Cochez la case correspondant à la ressource Organisation. Si vous n'avez pas de ressource Dossier, la ressource Organisation n'est pas visible. Pour continuer, consultez les instructions pour l'attribution de rôles sur la page IAM.
Si le panneau d'informations de droite est masqué, cliquez sur Afficher le panneau d'informations en haut à droite.
Dans le panneau d'informations, accédez à l'onglet Autorisations, puis cliquez sur Ajouter un membre.
Dans le champ Nouveaux membres, saisissez les membres de l'équipe que vous souhaitez ajouter. Vous pouvez indiquer l'adresse e-mail d'un compte utilisateur, un groupe Google, un compte de service ou un domaine G Suite.
Dans le menu déroulant Sélectionner un rôle, sélectionnez le rôle que vous souhaitez attribuer aux membres de l'équipe.
Cliquez sur Ajouter.
gcloud
Pour définir la stratégie d'autorisation d'une ressource Organisation à l'aide de la commande gcloud :
Obtenez la règle d'autorisation pour la ressource d'organisation à l'aide de la commande
get-iam-policyet exportez-la dans un fichier JSON :gcloud alpha organizations get-iam-policy <var>ORGANIZATION_ID</var> --format json > <var>FILENAME.JSON</var>Le fichier JSON affiche un contenu similaire au texte ci-dessous :
{
"bindings": [
{
"members": [
"user:testuser1@gcp-test.com"
],
"role": "roles/editor"
},
{
"members":