Options de contrôle des accès

Par défaut, tous les projets de la console Google Cloud Platform ne possèdent qu'un seul utilisateur : le créateur du projet d'origine. Personne d'autre n'a accès au projet (et donc aux ressources de Google Cloud Platform) avant qu'un autre utilisateur n'ait été ajouté comme membre de l'équipe du projet. Cette page décrit les différentes façons d'ajouter de nouveaux utilisateurs à votre projet.

Elle explique également la façon dont Deployment Manager s'authentifie sur les autres API Cloud Platform en votre nom pour créer des ressources.

Avant de commencer

Contrôle des accès pour les utilisateurs

Pour permettre à vos utilisateurs d'accéder à votre projet et de créer des configurations et des déploiements, ajoutez-les en tant que membres de l'équipe du projet et accordez-leur les rôles IAM appropriés. Le service IAM accepte deux types de rôles : les rôles prédéfinis et les rôles primitifs.

Pour découvrir comment ajouter des membres à l'équipe, veuillez consulter la documentation relative à l'ajout de membres à l'équipe.

Rôles prédéfinis

Les rôles prédéfinis offrent un ensemble d'autorisations connexes. Le tableau suivant décrit les rôles prédéfinis disponibles dans Deployment Manager.

Rôle Autorisation(s) associée(s) Type de ressource concerné
roles/deploymentmanager.viewer deploymentmanager.deployments.get Déploiement
deploymentmanager.manifests.get Fichier manifeste
deploymentmanager.manifests.list Projet
deploymentmanager.resources.get Ressource
deploymentmanager.resources.list Projet
deploymentmanager.types.list Projet
deploymentmanager.operations.get Opérations
deploymentmanager.operations.list Projet
roles/deploymentmanager.editor Toutes les autorisations de deploymentmanager.viewer, plus :
deploymentmanager.deployments.cancelPreview Déploiements
deploymentmanager.deployments.create Projet
deploymentmanager.deployments.delete Déploiements
deploymentmanager.deployments.stop Déploiements
deploymentmanager.deployments.update Déploiements
roles/deploymentmanager.typeViewer deploymentmanager.types.list Projet
deploymentmanager.typeProviders.get Fournisseur de types
deploymentmanager.typeProviders.list Projet
deploymentmanager.compositeTypes.get Type composite
deploymentmanager.compositeTypes.list Projet
roles/deploymentmanager.typeEditor Toutes les autorisations de deploymentmanager.typeViewer, plus :
deploymentmanager.typeProviders.create Projet
deploymentmanager.typeProviders.delete Fournisseur de types
deploymentmanager.typeProviders.update Fournisseur de types
deploymentmanager.compositeTypes.create Projet
deploymentmanager.compositeTypes.delete Type composite
deploymentmanager.compositeTypes.update Type composite

Chaque méthode API nécessite une autorisation spécifique pour pouvoir être appelée. Le tableau ci-dessous vous permet de déterminer les autorisations nécessaires pour la méthode API souhaitée.

Méthode Autorisation(s) requise(s) Rôles vous permettant d'appeler cette méthode
deployments.cancelPreview deploymentmanager.deployments.cancelPreview
  • roles/deploymentmanager.editor
  • roles/owner
  • roles/editor
deployments.delete deploymentmanager.deployments.delete
  • roles/deploymentmanager.editor
  • roles/owner
  • roles/editor
deployments.get deploymentmanager.deployments.get
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/owner
  • roles/editor
  • roles/viewer
deployments.insert deploymentmanager.deployments.create
  • roles/deploymentmanager.editor
  • roles/owner
  • roles/editor
deployments.list deploymentmanager.deployments.list
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/owner
  • roles/editor
  • roles/viewer
deployments.patch deploymentmanager.deployments.update
  • roles/deploymentmanager.editor
  • roles/owner
  • roles/editor
deployments.stop deploymentmanager.deployments.stop
  • roles/deploymentmanager.editor
  • roles/owner
  • roles/editor
deployments.update deploymentmanager.deployments.update
  • roles/deploymentmanager.editor
  • roles/owner
  • roles/editor
manifests.get deploymentmanager.manifests.get
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/owner
  • roles/editor
  • roles/viewer
manifests.list deploymentmanager.manifests.list
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/owner
  • roles/editor
  • roles/viewer
resources.get deploymentmanager.resources.get
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/owner
  • roles/editor
  • roles/viewer
resources.list deploymentmanager.resources.list
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/owner
  • roles/editor
  • roles/viewer
types.list deploymentmanager.types.list
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/deploymentmanager.typeEditor
  • roles/deploymentmanager.typeViewer
  • roles/owner
  • roles/editor
  • roles/viewer
compositeTypes.delete deploymentmanager.compositeTypes.delete
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/owner
  • roles/editor
compositeTypes.get deploymentmanager.compositeTypes.get
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/deploymentmanager.typeEditor
  • roles/deploymentmanager.typeViewer
  • roles/owner
  • roles/editor
  • roles/viewer
compositeTypes.insert deploymentmanager.compositeTypes.create
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/owner
  • roles/editor
compositeTypes.list deploymentmanager.compositeTypes.list
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/deploymentmanager.typeEditor
  • roles/deploymentmanager.typeViewer
  • roles/owner
  • roles/editor
  • roles/viewer
compositeTypes.patch deploymentmanager.compositeTypes.patch
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/owner
  • roles/editor
compositeTypes.list deploymentmanager.compositeTypes.update
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/owner
  • roles/editor
typeProviders.delete deploymentmanager.typeProviders.delete
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/owner
  • roles/editor
typeProviders.get deploymentmanager.typeProviders.get
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/deploymentmanager.typeEditor
  • roles/deploymentmanager.typeViewer
  • roles/owner
  • roles/editor
  • roles/viewer
typeProviders.insert deploymentmanager.typeProviders.create
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/owner
  • roles/editor
typeProviders.list deploymentmanager.typeProviders.list
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.viewer
  • roles/deploymentmanager.typeEditor
  • roles/deploymentmanager.typeViewer
  • roles/owner
  • roles/editor
  • roles/viewer
typeProviders.patch deploymentmanager.typeProviders.patch
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/owner
  • roles/editor
typeProviders.update deploymentmanager.typeProviders.update
  • roles/deploymentmanager.editor
  • roles/deploymentmanager.typeEditor
  • roles/deploymentmanager.typeViewer
  • roles/owner
  • roles/editor
  • roles/viewer

Rôles primitifs

Les rôles IAM primitifs sont directement mappés aux rôles de propriétaire, d'éditeur et de lecteur des anciens projets. Ces rôles fournissent un accès aux services bien plus étendu que les rôles prédéfinis. Nous vous recommandons d'utiliser des rôles prédéfinis autant que possible. Dans certains cas néanmoins, lorsque le service IAM n'est pas encore disponible, il est possible que vous deviez attribuer les autorisations appropriées à l'aide d'un rôle primitif.

Pour en savoir plus sur ces rôles, consultez la documentation relative aux rôles primitifs.

Contrôle des accès pour Deployment Manager

Pour créer d'autres ressources Google Cloud Platform, Deployment Manager s'authentifie auprès d'autres API à l'aide des identifiants du compte de service des API Google. Ce compte est spécialement conçu pour exécuter des processus Google internes en votre nom. Il peut être identifié à l'aide de l'adresse e-mail :

[PROJECT_NUMBER]@cloudservices.gserviceaccount.com

Le compte de service des API Google est automatiquement autorisé à modifier le projet. Il est répertorié dans la section IAM de la console Google Cloud Platform. Le compte de service existe indéfiniment avec le projet et n'est supprimé que lorsque celui-ci l'est aussi. Étant donné que Deployment Manager et d'autres services tels que les groupes d'instances gérés s'appuient sur ce compte de service pour créer, supprimer et gérer des ressources, il est déconseillé de modifier les autorisations de ce compte.

Étapes suivantes