

 **Aidez à améliorer cette page** 

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Rôle IAM de cluster Amazon EKS
<a name="cluster-iam-role"></a>

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](https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/guide/service/annotations/#legacy-cloud-provider) 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 :
+  [EKSClusterPolitique d'Amazon](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEKSClusterPolicy.html) 
+ 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](https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/guide/service/annotations/#legacy-cloud-provider) à 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, [Amazon EKSCluster Policy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEKSClusterPolicy.html) était obligatoire concernant le rôle IAM de chaque cluster.  
Avant le 16 avril 2020, [Amazon EKSService Policy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEKSServicePolicy.html) et [Amazon EKSCluster Policy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEKSClusterPolicy.html) étaient obligatoires et le nom suggéré pour le rôle était`eksServiceRole`. Avec le rôle `AWSServiceRoleForAmazonEKS` lié au service, la [EKSServicepolitique Amazon Policy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEKSServicePolicy.html) n'est plus requise pour les clusters créés le 16 avril 2020 ou après cette date.

## Recherche d'un rôle de cluster existant
<a name="check-service-role"></a>

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 à https://console.aws.amazon.com/iam/ l'adresse.

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

1. 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](#create-service-role) 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.

1. Choisissez **Permissions (Autorisations)**.

1. Assurez-vous que la **EKSClusterpolitique gérée par Amazon** Policy est attachée au rôle. Si la politique est attachée, votre rôle de cluster Amazon EKS est configuré correctement.

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

1. 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
<a name="create-service-role"></a>

Vous pouvez utiliser la AWS Management Console ou la AWS CLI pour créer le rôle de cluster.

 AWS Management Console   

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

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

1. Sous **Type d'entité de confiance**, sélectionnez ** AWS service**.

1. Dans la liste déroulante **Cas d'utilisation d'autres AWS services**, sélectionnez **EKS**.

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

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

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

1. Pour **Description**, saisissez un texte descriptif tel que `Amazon EKS - Cluster role`.

1. Choisissez **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"
       }
     ]
   }
   ```

1. Créez le rôle. Vous pouvez remplacer {{eksClusterRole}} par n'importe quel nom que vous choisissez.

   ```
   aws iam create-role \
     --role-name eksClusterRole \
     --assume-role-policy-document file://"cluster-trust-policy.json"
   ```

1. Attachez la politique IAM requise au rôle.

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