Google Cloud propose Identity and Access Management (IAM), qui vous permet de définir de manière plus précise l'accès à des ressources spécifiques de Google Cloud et d'empêcher tout accès indésirable à 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) bénéficie de quel type d'accès (rôles) à quelles ressources en définissant des stratégies IAM. Ces stratégies permettent d'attribuer des rôles spécifiques associés à certaines autorisations.
Cette page décrit les autorisations et les rôles IAM que vous pouvez utiliser pour gérer l'accès aux projets. Pour une description détaillée de IAM, veuillez consulter la documentation IAM, et en particulier la page Accorder, modifier et révoquer les accès à des ressources.
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 ressources Google Cloud. Par exemple, l'autorisation resourcemanager.projects.delete
permet à un utilisateur de supprimer un projet.
Vous n'accordez pas directement des autorisations aux utilisateurs, mais vous leur attribuez des rôles auxquels sont associées une ou plusieurs autorisations. Ces rôles sont accordés sur une ressource particulière, mais ils s'appliquent également à tous les descendants de cette ressource dans la hiérarchie des ressources.
Autorisations
Pour gérer des projets, l'appelant doit disposer d'un rôle qui inclut les autorisations suivantes. Le rôle est accordé au niveau de la ressource d'organisation ou du dossier contenant les projets :
Méthode | Autorisation(s) requise(s) |
---|---|
resourcemanager.projects.create |
resourcemanager.projects.create |
resourcemanager.projects.delete |
resourcemanager.projects.delete |
resourcemanager.projects.get |
resourcemanager.projects.get Cette autorisation permet également d'obtenir le nom du compte de facturation associé au projet via la méthode de l'API Billing billing.projects.getBillingInfo . |
resourcemanager.projects.getIamPolicy |
resourcemanager.projects.getIamPolicy |
resourcemanager.projects.list |
resourcemanager.projects.list |
resourcemanager.projects.search |
resourcemanager.projects.get |
resourcemanager.projects.setIamPolicy |
resourcemanager.projects.setIamPolicy |
resourcemanager.projects.testIamPermissions |
Ne nécessite aucune autorisation. |
resourcemanager.projects.undelete |
resourcemanager.projects.undelete |
resourcemanager.projects.patch |
La mise à jour des métadonnées d'un projet requiert l'autorisation resourcemanager.projects.update . Pour mettre à jour le parent d'un projet et le déplacer dans une ressource d'organisation, vous devez disposer de l'autorisation resourcemanager.projects.create sur cette ressource. |
projects.move |
projects.move |
Utiliser des rôles prédéfinis
Les rôles IAM prédéfinis vous permettent de gérer soigneusement l'ensemble des autorisations auxquelles vos utilisateurs ont accès. Pour obtenir la liste complète des rôles pouvant être accordés au niveau du projet, consultez la page Comprendre les rôles.
Le tableau suivant répertorie les rôles prédéfinis que vous pouvez utiliser pour accorder l'accès à un projet. Chaque rôle comprend une description et les autorisations qu'il inclut.
Rôle | Autorisations |
---|---|
Créateur de projet( Permet de créer des projets. Lorsqu'un utilisateur crée un projet, il se voit automatiquement attribuer le rôle de propriétaire de ce projet. Ressources de niveau inférieur auxquelles vous pouvez attribuer ce rôle :
|
|
suppresseur de projets( Permet de supprimer des projets Google Cloud. Ressources de niveau inférieur auxquelles vous pouvez attribuer ce rôle :
|
|
Déplaceur de projets( Permet de mettre à jour et déplacer des projets. Ressources de niveau inférieur auxquelles vous pouvez attribuer ce rôle :
|
|
Administrateur de projet IAM( Fournit les autorisations nécessaires pour administrer les stratégies d'autorisation appliquées à des projets. 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 :
|
|
Rôles de base
Évitez d'utiliser des rôles de base, sauf si cela est absolument nécessaire. Ces rôles sont très très efficace et incluent un grand nombre d'autorisations pour l'ensemble aux services Google Cloud. Pour en savoir plus sur les situations où vous devez utiliser des rôles de base, consultez la section Rôles de base.
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 modification à la plupart des ressources. | Accès permettant de créer et de mettre à jour toutes les ressources |
roles/viewer |
Accès en lecture à la plupart des ressources. | Accès permettant d'obtenir et de répertorier toutes les ressources |
Créer des rôles personnalisés
En plus des rôles prédéfinis décrits dans cette rubrique, vous pouvez également créer rôles personnalisés, qui sont des ensembles de des autorisations adaptées à vos besoins. Lors de la création d'un rôle personnalisé avec Resource Manager, tenez 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 votre rôle personnalisé inclut les éléments
folders.list
etfolders.get
les autorisations, il doit également inclureprojects.list
etprojects.get
. - Sachez que l'autorisation
setIamPolicy
pour l'organisation, le dossier et les ressources de projet permettent à l'utilisateur d'accorder toutes les autres autorisations et doivent donc être attribuées 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, de l'API Cloud Resource Manager et de la Google Cloud CLI. Pour obtenir des instructions, consultez l'article Accorder, modifier et révoquer les accès
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. Ce rôle par défaut peut être modifié normalement dans une stratégie IAM.
VPC Service Controls
VPC Service Controls offre une sécurité supplémentaire lors de l'utilisation du API Cloud Resource Manager. Pour en savoir plus sur VPC Service Controls, consultez la page Présentation de VPC Service Controls.
Pour en savoir plus sur les limites actuelles liées à l'utilisation de Resource Manager avec VPC Service Controls, consultez la page Produits compatibles et limites.