Contrôle des accès aux projets avec l'IAM

Google Cloud Platform offre la gestion de l'authentification et des accès (IAM), qui vous permet de définir de manière plus précise l'accès à des ressources spécifiques de Google Cloud Platform et d'empêcher tout accès indésirable à d'autres ressources. L'IAM vous permet d’adopter le principe de sécurité du moindre privilège afin de n'accorder l'accès qu'aux ressources nécessaires.

Grâce à l'IAM, vous pouvez contrôler qui (utilisateurs) a accès (rôles) à quelles ressources en définissant des stratégies IAM. Ces stratégies permettent d'attribuer un ou plusieurs rôles spécifiques à un utilisateur afin de lui accorder certaines autorisations.

Vous trouverez sur cette page des informations sur les rôles IAM (gestion de l'authentification et des accès) disponibles au niveau du projet. Pour une description détaillée de Cloud IAM, consultez la documentation IAM, en particulier la section Attribuer, modifier et révoquer les accès.

Autorisations et rôles

Pour pouvoir utiliser toutes les méthodes Google Cloud Platform avec Cloud IAM, le compte effectuant la requête d'API doit disposer d'autorisations appropriées pour accéder à la ressource. Les autorisations permettent aux utilisateurs de réaliser des opérations spécifiques sur les ressources cloud. Par exemple, l'autorisation resourcemanager.projects.list permet à un utilisateur de répertorier ses projets, tandis que resourcemanager.projects.delete lui permet de supprimer un projet.

Le tableau suivant répertorie les autorisations dont l'appelant doit disposer pour appeler une API de projet :

Méthode Autorisation(s) requise(s)
resourcemanager.projects.create() resourcemanager.projects.create
resourcemanager.projects.delete() resourcemanager.projects.delete
resourcemanager.projects.get() resourcemanager.projects.get
resourcemanager.projects.getIamPolicy() resourcemanager.projects.getIamPolicy
resourcemanager.projects.list() Ne nécessite aucune autorisation. La méthode répertorie les projets pour lesquels l'appelant dispose de l'autorisation resourcemanager.projects.get. Si vous fournissez un filtre en appelant list(), par exemple byParent, la méthode répertorie les projets pour lesquels vous disposez de l'autorisation resourcemanager.projects.get et qui remplissent la condition de filtre.
resourcemanager.projects.setIamPolicy() resourcemanager.projects.setIamPolicy
resourcemanager.projects.testIamPermissions() Does not require any permission.
resourcemanager.projects.undelete() resourcemanager.projects.undelete
resourcemanager.projects.update() Pour mettre à jour les métadonnées d'un projet, l'autorisation resourcemanager.projects.update est requise. Pour mettre à jour le parent d'un projet et déplacer celui-ci dans une organisation, l'autorisation resourcemanager.projects.create est requise sur l'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 le même projet. Lorsque vous appelez la méthode resourcemanager.projects.getIamPolicy() pour afficher les autorisations, seules les autorisations affectées au projet lui-même s'affichent, et non les autorisations héritées.

Utiliser des rôles prédéfinis

Le tableau suivant répertorie les rôles que vous pouvez attribuer pour accéder à un projet, la description de chaque rôle et les autorisations associées à chacun d'entre eux.

Rôle Description Autorisations
roles/owner Accès complet à toutes les ressources Permet d'accéder à toutes les autorisations pour toutes les ressources.
roles/editor Accès en écriture à toutes les ressources Permet de créer et de mettre à jour l'accès pour toutes les ressources.
roles/viewer Accès en lecture à toutes les ressources Permet d'obtenir et de répertorier l'accès pour toutes les ressources.
roles/browserBeta Accès permettant de parcourir les ressources dans le projet
  • resourcemanager.organizations.get
  • resourcemanager.projects.get
  • resourcemanager.projects.getIamPolicy
  • resourcemanager.projects.list
  • resourcemanager.projectInvites.get

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 Cloud 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.list et folders.get, il doit également inclure projects.list et projects.get.
  • Notez que l'autorisation setIamPolicy pour les organisations, les dossiers et les projets permet à l'utilisateur d'accorder toutes les autres autorisations, et doit donc être attribuée avec précaution.

Contrôle des accès au niveau du projet

Vous pouvez attribuer des rôles aux utilisateurs au niveau du projet à l'aide de la console Google Cloud Platform, de l'API Resource Manager et de l'outil de ligne de commande gcloud. Pour obtenir des instructions, consultez la page Attribuer, modifier et révoquer les accès des membres du projet.

Rôles par défaut

Lorsque vous créez un projet, le rôle roles/owner du projet vous est attribué pour vous procurer un contrôle total en tant que créateur. Les autorisations associées à ce rôle sont décrites ci-dessus. Vous pouvez modifier ce rôle par défaut en appliquant la procédure usuelle via une stratégie Cloud IAM.

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation relative à Resource Manager