La gestion de l'authentification et des accès (IAM) fournit plusieurs rôles prédéfinis pour la plupart des services Google Cloud. Chaque rôle prédéfini contient les autorisations nécessaires pour effectuer une tâche ou un groupe de tâches connexes.
Pour les tâches simples, il est souvent facile de trouver un rôle prédéfini approprié. Par exemple, si un compte principal doit afficher des objets dans un bucket Cloud Storage, le rôle "Lecteur des objets de l'espace de stockage" (roles/storage.objectViewer
) est probablement adapté.
Cependant, il existe des centaines de rôles prédéfinis, ce qui peut compliquer l'identification des rôles les plus appropriés à attribuer à vos comptes principaux. Il peut également être difficile de trouver des rôles permettant d'appliquer le principe du moindre privilège, qui stipule que les comptes principaux ne doivent pas disposer d'autorisations au-delà de celles strictement nécessaires.
Cette page vous guide à travers le processus de sélection des rôles prédéfinis les plus appropriés :
- Identifiez les autorisations nécessaires.
- Rechercher les rôles contenant les autorisations.
- Choisissez les rôles les plus appropriés.
- Décidez où attribuer les rôles.
- Accordez les rôles à un compte principal.
Identifier les autorisations nécessaires
Pour identifier les autorisations nécessaires à un compte principal, commencez par répertorier les tâches que le compte doit effectuer et les services Google Cloud qu'il utilisera pour réaliser ces tâches. Par exemple, un compte principal peut avoir besoin d'utiliser Compute Engine pour créer des instances de machines virtuelles.
Après avoir identifié les tâches et les services, vous pouvez utiliser certaines stratégies pour identifier les autorisations nécessaires pour chaque tâche :
Consultez la documentation des services Google Cloud.
Pour certains services, les guides d'utilisation axés sur les tâches répertorient les rôles ou les autorisations dont vous avez besoin pour chaque tâche, soit dans une section "Avant de commencer", soit avec les instructions correspondant à chaque tâche. Pour voir un exemple, consultez la page conditions préalables à l'importation et à l'exportation d'images de VM Compute Engine.
Certains autres services identifient les rôles et les autorisations requis sur une page concernant le contrôle des accès. Par exemple, consultez les autorisations requises pour les tâches de la console Google Cloud de Spanner.
Identifiez les méthodes d'API REST ou RPC que vous utiliseriez pour effectuer les tâches, puis consultez la documentation de référence de l'API pour connaître les autorisations IAM requises.
Pour certains services, la documentation sur les API REST et RPC répertorie les autorisations requises pour chaque méthode. Pour voir un exemple, consultez la documentation Compute Engine de la méthode
instances.get
.Consultez la liste des autorisations pour chaque service et faites preuve de discernement pour trouver les autorisations appropriées.
Dans la plupart des cas, le nom de chaque autorisation décrit également ce que l'autorisation vous permet de faire. Par exemple, l'autorisation permettant de créer une instance de VM Compute Engine est nommée
compute.instances.create
.Pour vous aider à comprendre les noms d'autorisation, n'oubliez pas qu'ils utilisent le format
SERVICE.RESOURCE_TYPE.ACTION
.
En général, il n'est pas nécessaire d'identifier toutes les autorisations requises pour chaque tâche. Concentrez-vous plutôt sur l'identification des autorisations les plus pertinentes pour chaque tâche. Si un rôle prédéfini contient cette autorisation, il est probable qu'il contienne également des autorisations associées.
Dans le cadre de ce processus, vous devez également essayer d'identifier les autorisations requises les plus importantes. En général, les autorisations plus importantes sont incluses dans un nombre plus restreint de rôles prédéfinis. Par conséquent, en vous concentrant sur ces autorisations, vous obtenez une liste plus restreinte de rôles potentiels.
Par exemple, les types d'autorisations suivants sont particulièrement puissants :
- Autorisations de créer et supprimer des ressources
- Autorisations d'accès à des données sensibles, telles que les clés de chiffrement ou les informations permettant d'identifier personnellement l'utilisateur (PII)
- Autorisations de définir la règle d'autorisation ou de refus d'une ressource
- Autorisations de mettre à jour des organisations, des dossiers et des projets, ce qui peut empêcher d'autres ressources d'hériter des mises à jour
En revanche, les types d'autorisations suivants sont moins puissants :
- Autorisations de répertorier les ressources
- Autorisations d'accès à des données non sensibles
- Autorisations permettant de mettre à jour les paramètres présentant un risque limité, tels que la configuration minimale de la plate-forme du processeur pour les instances de machine virtuelle Compute Engine
Rechercher les rôles contenant les autorisations
Une fois que vous avez identifié les autorisations requises, vous pouvez rechercher les rôles prédéfinis qui contiennent ces autorisations et créer une liste de rôles qui peuvent vous être utiles. Le moyen le plus simple de trouver ces rôles consiste à faire une recherche dans la documentation de référence sur les autorisations, qui répertorie toutes les autorisations IAM et les rôles qui les contiennent.
Pour respecter le principe du moindre privilège, vous devrez peut-être identifier plusieurs rôles prédéfinis à accorder, en particulier si les autorisations requises appartiennent à plusieurs services Google Cloud. Par exemple, si un compte principal doit afficher des objets Cloud Storage et administrer des bases de données Cloud SQL, il est peu probable qu'un rôle prédéfini unique contienne les autorisations appropriées pour les deux services. Si un tel rôle existe, il peut également inclure un grand nombre d'autorisations non liées dont le compte principal n'a pas besoin. Pour réduire les risques, recherchez un rôle comportant les autorisations requises pour Cloud Storage et un autre rôle disposant des autorisations requises pour Cloud SQL.
Choisissez les rôles les plus appropriés.
Maintenant que vous disposez d'une liste de rôles prédéfinis qui peuvent vous convenir, vous pouvez choisir les rôles les plus appropriés dans cette liste.
Commencez par éliminer les types de rôles suivants :
Pour les environnements de production : rôles de base, y compris les rôles Propriétaire (
roles/owner
), Éditeur (roles/editor
) et Lecteur (roles/viewer
)Les rôles de base incluent des milliers d'autorisations pour tous les services Google Cloud. Dans les environnements de production, n'accordez pas de rôles de base, sauf s'il n'existe pas d'autre solution. Accordez plutôt les rôles prédéfinis ou les rôles personnalisés les plus limités qui répondent à vos besoins.
Les rôles d'agent de service dont le titre se termine généralement par "Service Agent" et dont le nom se termine par
serviceAgent
.Ces rôles sont destinés aux agents de service, un type spécial de compte de service qui permet à un service Google Cloud d'accéder à vos ressources. Les rôles d'agent de service contiennent généralement des autorisations pour plusieurs services, qui peuvent inclure des services auxquels votre compte principal n'a pas besoin d'accéder.
Utilisez ensuite la documentation de référence sur les rôles prédéfinis ou la page Rôles de la console Google Cloud pour répertorier les autorisations contenues dans chaque rôle. Pour chaque rôle, vérifiez les autorisations que vous ne souhaitez pas attribuer au compte principal, puis supprimez tous les rôles qui contiennent des autorisations que vous ne souhaitez pas.
Si ce processus élimine tous les rôles prédéfinis, envisagez de créer un rôle personnalisé adapté à votre cas d'utilisation. Sinon, choisissez le ou les rôles qui contiennent le moins d'autorisations tout en répondant à vos besoins.
Décidez où attribuer les rôles.
Lorsque vous attribuez un rôle, vous l'attribuez toujours à une ressource Google Cloud spécifique, qui appartient à une hiérarchie des ressources. Les ressources de niveau inférieur, telles que les instances de VM Compute Engine, héritent des rôles attribués aux ressources de niveau supérieur, telles que les projets, les dossiers et les organisations.
Choisissez où attribuer les rôles prédéfinis que vous avez identifiés :
- Si le compte principal a besoin d'accéder à des ressources de niveau inférieur spécifiques, accordez-lui des rôles sur ces ressources.
Si le compte principal a besoin d'accéder à de nombreuses ressources dans un projet, un dossier ou une organisation, attribuez-lui des rôles sur le projet, le dossier ou l'organisation. Choisissez la ressource de niveau inférieur qui répond aux besoins du compte principal.
Vous pouvez également envisager d'utiliser des conditions IAM pour accorder des rôles uniquement sur des ressources spécifiques au sein du projet, du dossier ou de l'organisation.
Si vous avez identifié plusieurs rôles prédéfinis, déterminez si vous devez les attribuer à différents niveaux de la hiérarchie des ressources. Par exemple, si un compte principal a besoin d'accéder à une seule base de données Cloud SQL, mais à de nombreuses instances de VM Compute Engine différentes, vous pouvez attribuer le rôle Cloud SQL sur la base de données et le rôle Compute Engine sur le projet.
Accordez les rôles à un compte principal.
Vous êtes maintenant prêt à attribuer les rôles à votre compte principal. Pour savoir comment attribuer des rôles, consultez les ressources suivantes :
- Gérer l'accès aux projets, aux dossiers et aux organisations
- Gérer l'accès aux comptes de service
- Gérer l'accès aux autres ressources
Une fois les rôles attribués, vous pouvez utiliser Policy Analyzer et Policy Troubleshooter pour vérifier les ressources auxquelles le compte principal peut accéder et résoudre les problèmes d'accès.
Si le compte principal dispose des autorisations prévues sur les ressources appropriées mais qu'il ne parvient pas à effectuer ses tâches, il est possible que vous ayez omis une autorisation dont il a besoin. Repartez de votre tentative précédente en ajoutant les autorisations requises à la liste, recherchez des rôles contenant ces autorisations et choisissez les rôles les plus appropriés.
Si vous attribuez accidentellement un rôle avec trop d'autorisations, une recommandation de rôle peut suggérer un rôle moins permissif qui répond aux besoins du compte principal. Certaines liaisons de rôle ne permettent pas d'obtenir des recommandations de rôle.
Étape suivante
- Découvrez comment Policy Simulator peut vous aider à tester les modifications apportées aux rôles d'un compte principal.
- Découvrez comment Policy Analyzer peut vous indiquer le niveau d'accès dont dispose un compte principal pour une ressource.
- Obtenez des informations sur la résolution des problèmes d'accès.