Identity and Access Management (IAM) vous permet d'accorder un accès précis à des ressources Google Cloud spécifiques et d'empêcher tout accès indésirable à d'autres ressources. Ce modèle vous aide à adopter le principe du moindre privilège, qui vous permet de n'accorder que l'accès nécessaire à vos ressources.
En définissant des stratégies d'autorisation, vous contrôlez qui (utilisateurs) a accès (rôles) à quelles ressources. Pour gérer l'accès aux projets, vous configurez des rôles et des autorisations IAM, ou vous utilisez des stratégies de refus pour empêcher les comptes principaux d'utiliser des autorisations spécifiques. Pour en savoir plus, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Si vous commencez à utiliser Google Cloud, vous pouvez établir votre hiérarchie des ressources et accorder un accès initial dans le cadre du processus de configurationGoogle Cloud .
Autorisations et rôles
Pour contrôler l'accès aux ressources, Google Cloud exige que les comptes qui effectuent des requêtes API disposent des rôles IAM appropriés. Les rôles IAM incluent des autorisations qui permettent aux utilisateurs d'effectuer des actions spécifiques sur les ressourcesGoogle 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. Vous attribuez ces rôles 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 incluant les autorisations suivantes. Le rôle est attribué sur la ressource d'organisation ou le 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.getCette 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 déplacer le projet vers une ressource d'organisation, vous devez disposer de l'autorisation resourcemanager.projects.create sur la ressource d'organisation. |
projects.move |
projects.move |
Utiliser des rôles prédéfinis
Les rôles IAM prédéfinis vous permettent de gérer les autorisations disponibles pour les utilisateurs. Pour obtenir la liste complète des rôles pouvant être attribués au niveau du projet, consultez Comprendre les rôles.
Le tableau suivant liste les rôles prédéfinis que vous pouvez utiliser pour accorder l'accès à un projet. Chaque rôle inclut une description de son objectif et des autorisations qu'il contient.
| 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
N'utilisez les rôles de base que si nécessaire. Ces rôles sont hautement privilégiés et accordent des autorisations étendues sur tous les services Google Cloud . Pour en savoir plus sur les cas d'utilisation des rôles de base, consultez 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 cet article, vous pouvez également créer des rôles personnalisés, qui sont des ensembles d'autorisations que vous adaptez à vos besoins. Lorsque vous créez un rôle personnalisé à utiliser 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 autorisations
folders.listetfolders.get, il doit également inclureprojects.listetprojects.get. - Sachez que l'autorisation
setIamPolicypour les ressources d'organisation, de dossier et de projet permet à l'utilisateur d'accorder toutes les autres autorisations. Elle 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 Google Cloud console, de l'API Cloud Resource Manager et de Google Cloud CLI. Pour obtenir des instructions, consultez la page Accorder, modifier et révoquer les accès.
Rôles par défaut
Lorsque vous créez un projet, vous recevez le rôle roles/owner, qui vous donne un contrôle total sur le projet. Vous pouvez modifier ce rôle par défaut dans une stratégie d'autorisation.
VPC Service Controls
VPC Service Controls peut fournir une sécurité supplémentaire lors de l'utilisation de l'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.