Rôles IAM Compute Engine

Compute Engine est doté d'un ensemble spécifique de rôles Cloud Identity and Access Management (Cloud IAM). Chaque rôle prédéfini contient un ensemble d'autorisations.

Lorsque vous ajoutez un nouveau membre à votre projet, vous pouvez utiliser une stratégie IAM pour lui attribuer un ou plusieurs rôles IAM. Chaque rôle IAM contient des autorisations qui accordent au membre l'accès à des ressources spécifiques.

Pour savoir comment définir des stratégies au niveau d'un projet, consultez la page Accorder, modifier et révoquer les accès à des ressources dans la documentation IAM. Pour apprendre à définir des stratégies sur les ressources Compute Engine, consultez la page Accorder un accès à des ressources Compute Engine. Pour en savoir plus sur l'attribution de rôles à un compte de service Compute Engine, consultez la documentation Créer et activer des comptes de service pour les instances. Pour apprendre à créer des rôles personnalisés contenant un sous-ensemble d'autorisations, consultez la page Créer et gérer les rôles personnalisés.

Avant de commencer

Qu'est-ce qu'IAM ?

Google Cloud Platform offre Identity and Access Management (IAM), qui vous permet de définir de manière 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. 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.

Avec IAM, vous pouvez contrôler qui (identité) dispose de quelles autorisations d'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 membre du projet, afin d'accorder à cette identité certaines autorisations. Par exemple, pour une ressource donnée, telle qu'un projet, vous pouvez attribuer le rôle roles/compute.networkAdmin à un compte Google. Ce dernier peut contrôler les ressources réseau du projet, mais il ne peut pas gérer d'autres ressources, telles que les instances et les disques. IAM permet également de gérer les anciens rôles de la console GCP accordés aux membres de l'équipe du projet.

Rôles IAM prédéfinis Compute Engine

Avec IAM, toutes les méthodes d'API de Compute Engine requièrent que l'identité effectuant la requête API dispose des autorisations appropriées pour utiliser la ressource. Pour accorder des autorisations, vous devez définir des stratégies qui attribuent des rôles à un membre (utilisateur, groupe ou compte de service) du projet.

En plus des anciens rôles (lecteur, éditeur et propriétaire) et des rôles personnalisés, vous pouvez attribuer les rôles prédéfinis Compute Engine suivants aux membres du projet.

Vous avez la possibilité d'accorder plusieurs rôles à un membre du projet sur la même ressource. Par exemple, si votre équipe de mise en réseau gère également les règles de pare-feu, vous pouvez accorder à la fois roles/compute.networkAdmin et roles/compute.securityAdmin au groupe Google de l'équipe de mise en réseau.

Les tableaux suivants décrivent les rôles IAM prédéfinis Compute Engine, ainsi que les autorisations qu'ils contiennent. Chaque rôle comporte un ensemble d'autorisations adaptées à une tâche spécifique. Par exemple, les deux premiers rôles accordent des autorisations permettant de gérer les instances, les rôles réseau contiennent des autorisations permettant de gérer les ressources liées au réseau et les rôles de sécurité attribuent des autorisations permettant de gérer les ressources liées à la sécurité, telles que les pare-feu et les certificats SSL.

Rôle serviceAccountUser

Lorsqu'il est accordé avec roles/compute.instanceAdmin.v1, le rôle roles/iam.serviceAccountUser permet aux membres de créer et de gérer des instances qui utilisent un compte de service. Plus particulièrement, les membres auxquels les rôles roles/iam.serviceAccountUser et roles/compute.instanceAdmin.v1 ont été accordés peuvent :

  • créer une instance qui s'exécute en tant que compte de service ;
  • associer un disque persistant à une instance qui s'exécute en tant que compte de service ;
  • définir des métadonnées sur une instance qui s'exécute en tant que compte de service ;
  • se connecter via SSH à une instance qui s'exécute en tant que compte de service ;
  • reconfigurer une instance à exécuter en tant que compte de service.

Vous pouvez accorder le rôle roles/iam.serviceAccountUser de deux manières :

  • [Recommandé] Accordez le rôle à un membre sur un compte de service spécifique. Cela lui permet d'accéder au compte de service pour lequel il est iam.serviceAccountUser, mais l'empêche d'accéder à d'autres comptes de service pour lesquels il n'est pas iam.serviceAccountUser.

  • Accordez le rôle à un membre au niveau du projet. Le membre a accès à tous les comptes de service du projet, y compris à ceux créés par la suite.

Si ce concept ne vous est pas familier, apprenez-en plus sur les comptes de service.

Se connecter à une instance en tant qu'instanceAdmin

Une fois que vous avez accordé le rôle roles/compute.instanceAdmin.v1 à un membre du projet, il peut se connecter à des instances de machine virtuelle à l'aide des outils Google Cloud Platform standards, tels que l'outil gcloud ou SSH depuis le navigateur.

Lorsqu'un membre utilise l'outil de ligne de commande gcloud ou SSH depuis le navigateur, ces outils génèrent automatiquement une paire de clés publique/privée et ajoutent la clé publique aux métadonnées du projet. Si le membre n'est pas autorisé à modifier les métadonnées du projet, l'outil ajoute la clé publique du membre aux métadonnées de l'instance.

Si le membre souhaite utiliser une paire de clés existante, il peut ajouter manuellement sa clé publique aux métadonnées de l'instance. En savoir plus sur l'ajout et la suppression de clés SSH d'une instance

IAM avec des comptes de service

Créez des comptes de service personnalisés, puis accordez-leur des rôles IAM pour limiter l'accès de vos instances. Utilisez les rôles IAM avec des comptes de service personnalisés pour :

  • limiter l'accès de vos instances aux API Cloud Platform à l'aide de rôles IAM précis ;
  • attribuer à chaque instance ou ensemble d'instances une identité unique ;
  • limiter l'accès à votre compte de service par défaut.

En savoir plus sur les comptes de service

Groupes d'instances gérés et IAM

Les groupes d'instances gérés, en particulier lorsqu'ils sont configurés pour l'autoscaling, sont des ressources qui effectuent des actions au nom de l'utilisateur, sans qu'il n'ait à intervenir directement. Les groupes d'instances gérés créent, suppriment et gèrent des instances dans le groupe d'instances à l'aide d'une identité de compte de service. Pour plus d'informations, lisez la documentation sur les groupes d'instances gérés et IAM.

Opérations non acceptées

Vous ne pouvez pas accorder d'accès pour effectuer des mises à jour progressives sur des groupes d'instances à l'aide des rôles IAM.

Pour autoriser un utilisateur à effectuer ces opérations, servez-vous des rôles de propriétaire, de collaborateur ou de lecteur qui sont plus généraux.

Étapes suivantes

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

Envoyer des commentaires concernant…

Documentation Compute Engine