Rôle IAM de cluster Amazon EKS - Amazon EKS

Aidez à améliorer cette page

Pour contribuer à ce guide de l’utilisateur, cliquez sur le lien Modifier cette page sur GitHub qui se trouve dans le volet droit de chaque page.

Rôle IAM de cluster Amazon EKS

Un rôle IAM du cluster Amazon EKS est requis pour chaque cluster. Les clusters Kubernetes gérés par Amazon EKS utilisent ce rôle pour gérer les nœuds, tandis que l’ancien fournisseur de cloud utilise ce rôle pour créer des équilibreurs de charge avec Elastic Load Balancing pour les services.

Avant de pouvoir créer des clusters Amazon EKS, vous devez créer un rôle IAM avec l'une des politiques IAM suivantes :

  • AmazonEKSClusterPolicy

  • Une politique IAM personnalisée. Les autorisations minimales ci-dessous permettent au cluster Kubernetes de gérer les nœuds, mais n’autorisent pas l’ancien fournisseur de cloud à créer des équilibreurs de charge avec Elastic Load Balancing. Votre politique IAM personnalisée doit disposer au moins des autorisations suivantes :

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "ForAnyValue:StringLike": { "aws:TagKeys": "kubernetes.io/cluster/*" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeAvailabilityZones", "ec2:DescribeInstanceTopology", "kms:DescribeKey" ], "Resource": "*" } ] }
Note

Avant le 3 octobre 2023, AmazoneksClusterPolicy était requis pour le rôle IAM de chaque cluster.

Avant le 16 avril 2020, les politiques AmazonEKSServicePolicy et AmazonEKSClusterPolicy étaient nécessaires et le nom suggéré pour le rôle était eksServiceRole. Depuis l’introduction du rôle lié au service AWSServiceRoleForAmazonEKS, la politique AmazonEKSServicePolicy n’est plus requise pour les clusters créés à partir du 16 avril 2020.

Recherche d'un rôle de cluster existant

Vous pouvez utiliser la procédure suivante pour vérifier si votre compte possède déjà le rôle de cluster Amazon EKS.

  1. Ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/.

  2. Dans le volet de navigation de gauche, choisissez Rôles.

  3. Recherchez dans la liste des rôles eksClusterRole. Si un rôle qui inclut eksClusterRole n’existe pas, consultez Création du rôle de cluster Amazon EKS pour créer le rôle. Si un rôle qui inclut eksClusterRole existe, sélectionnez le rôle pour afficher les politiques attachées.

  4. Choisissez Permissions (Autorisations).

  5. Assurez-vous que la politique gérée AmazonEKSClusterPolicy est attachée au rôle. Si la politique est attachée, votre rôle de cluster Amazon EKS est configuré correctement.

  6. Sélectionnez l'onglet Trust relationships (Relations d'approbation), puis Edit trust policy (Modifier la relation d'approbation).

  7. Vérifiez que la relation d'approbation contient la politique suivante. Si la relation d'approbation correspond à la politique ci-dessous, sélectionnez Annuler. Si la relation d’approbation ne correspond pas, copiez la politique dans la fenêtre Modifier la politique d’approbation et sélectionnez Mettre à jour la politique.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Création du rôle de cluster Amazon EKS

Pour créer le rôle de cluster, vous pouvez utiliser la AWS Management Console ou la CLI AWS.

AWS Management Console
  1. Ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/.

  2. Choisissez Roles (Rôles) puis Create role (Créer un rôle).

  3. Sous Type d’entité approuvée, choisissez Service AWS.

  4. Dans la liste déroulante Cas d’utilisation pour d’autres services AWS, choisissez EKS.

  5. Sélectionnez EKS - Cluster pour votre cas d'utilisation, puis Next (Suivant).

  6. Sous l'onglet Add permissions (Ajouter des autorisations), sélectionnez Next (Suivant).

  7. Pour Role name (Nom de rôle), saisissez un nom unique pour votre rôle, par exemple, eksClusterRole.

  8. Pour Description, saisissez un texte descriptif tel que Amazon EKS - Cluster role.

  9. Sélectionnez Créer un rôle.

AWS CLI
  1. Copiez le contenu suivant dans un fichier nommé cluster-trust-policy.json.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Créez le rôle. Vous pouvez remplacer eksClusterRole par tout nom de votre choix.

    aws iam create-role \ --role-name eksClusterRole \ --assume-role-policy-document file://"cluster-trust-policy.json"
  3. Attachez la politique IAM requise au rôle.

    aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy \ --role-name eksClusterRole