

 **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 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.

# Créer un fournisseur d'identité OIDC IAM pour votre cluster
<a name="enable-iam-roles-for-service-accounts"></a>

Votre cluster a une URL de diffuseur [OpenID Connect](https://openid.net/connect/) (OIDC) qui lui est associée. Pour utiliser les rôles de gestion des AWS identités et des accès (IAM) pour les comptes de service, un fournisseur OIDC IAM doit exister pour l'URL de l'émetteur OIDC de votre cluster.

## Conditions préalables
<a name="_prerequisites"></a>
+ Un cluster Amazon EKS existant. Pour en déployer un, consultez [Mise en route avec Amazon EKS](getting-started.md).
+ Version `2.12.3` ou version ultérieure `1.27.160` ou version ultérieure de l'interface de ligne de AWS commande (AWS CLI) installée et configurée sur votre appareil ou AWS CloudShell. Pour vérifier votre version actuelle, utilisez `aws --version | cut -d / -f2 | cut -d ' ' -f1`. Les gestionnaires de packages tels que `yum``apt-get`,, ou Homebrew pour macOS ont souvent plusieurs versions de la dernière version de la AWS CLI. Pour installer la dernière version, consultez la section [ Installation ](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) et configuration [ rapide avec aws configure ](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config) dans le Guide de l'utilisateur de l'interface de ligne de * AWS commande*. La version de la AWS CLI qui est installée AWS CloudShell peut également contenir plusieurs versions de la dernière version. Pour le mettre à jour, consultez la section [ Installation de la AWS CLI dans votre répertoire personnel ](https://docs.aws.amazon.com/cloudshell/latest/userguide/vm-specs.html#install-cli-software) dans le Guide de * AWS CloudShell l'utilisateur*.
+ L'outil de ligne de commande `kubectl` est installé sur votre appareil ou AWS CloudShell. La version peut correspondre à celle utilisée par votre cluster Kubernetes, ou différer d’au plus une version mineure, qu’elle soit antérieure ou plus récente. Par exemple, si la version de votre cluster est `1.29`, vous pouvez utiliser la version `kubectl` `1.28`, `1.29` ou `1.30`. Pour installer ou mettre à niveau `kubectl`, veuillez consulter [Configurer `kubectl et eksctl` ``](install-kubectl.md).
+ Un fichier existant `kubectl` `config` qui contient la configuration de votre cluster. Pour créer un fichier `kubectl` `config`, consultez [Connexion de kubectl à un cluster EKS en créant un fichier kubeconfig](create-kubeconfig.md).

Vous pouvez créer un fournisseur IAM OIDC pour votre cluster en utilisant `eksctl` ou la Console de gestion AWS.

## Créer un fournisseur OIDC (eksctl)
<a name="_create_oidc_provider_eksctl"></a>

1. Version `0.215.0` ou ultérieure de l'outil de ligne de commande `eksctl` installée sur votre appareil ou AWS CloudShell. Pour installer ou mettre à jour `eksctl`, veuillez consulter [Installation](https://eksctl.io/installation) dans la documentation de `eksctl`.

1. Déterminez l’identifiant de l’émetteur OIDC pour votre cluster.

   Récupérez l’ID émetteur OIDC de votre cluster et stockez-le dans une variable. Remplacez `<my-cluster>` par votre propre valeur.

   ```
   cluster_name=<my-cluster>
   oidc_id=$(aws eks describe-cluster --name $cluster_name --query "cluster.identity.oidc.issuer" --output text | cut -d '/' -f 5)
   echo $oidc_id
   ```

1. Déterminez si un fournisseur IAM OIDC avec l’ID d’émetteur de votre cluster figure déjà dans votre compte.

   ```
   aws iam list-open-id-connect-providers | grep $oidc_id | cut -d "/" -f4
   ```

   Si la sortie est renvoyée, cela signifie que vous disposez déjà d’un fournisseur IAM OIDC pour votre cluster. Vous pouvez donc ignorer l’étape suivante. Si aucune sortie n'est renvoyée, vous devez créer un fournisseur OIDC IAM pour votre cluster.

1. Créez votre fournisseur d'identité OIDC IAM pour votre cluster avec la commande suivante.

   ```
   eksctl utils associate-iam-oidc-provider --cluster $cluster_name --approve
   ```
**Note**  
Si le VPC de votre cluster ne dispose d'aucun accès Internet sortant et que vous n'avez pas configuré d'accès privé au point de terminaison OIDC du cluster, les opérations qui atteignent ce point de terminaison depuis le VPC, telles que la création d'un fournisseur OIDC avec`eksctl`, ne peuvent pas résoudre le nom d'hôte de l'émetteur OIDC. Voici un exemple de message d'erreur :  

   ```
   ** server cant find oidc.eks.<region-code>.amazonaws.com: NXDOMAIN
   ```

   Pour accéder au point de terminaison OIDC du cluster en privé depuis votre VPC, créez un point de terminaison d'interface VPC pour celui-ci (`com.amazonaws.<region-code>.oidc-eks`) avec le DNS privé activé. Pour plus d'informations, voir [ Accéder au point de terminaison OIDC du cluster à l'aide AWS PrivateLink ](https://docs.aws.amazon.com/eks/latest/userguide/vpc-interface-endpoints.html#oidc-vpc-interface-endpoints) de.

Vous pouvez également exécuter la commande en dehors du VPC (par exemple, dans AWS CloudShell) ou créer un résolveur conditionnel à horizon partagé. Pour un exemple, consultez la demande de fonctionnalité [ Amazon EKS ](https://github.com/aws/containers-roadmap/issues/2038) sur GitHub.

## Créez un fournisseur OIDC (AWS Console)
<a name="create_oidc_provider_shared_aws_console"></a>

1. Ouvrez la [console Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters).

1. Dans le volet de gauche, sélectionnez **Clusters**, puis sélectionnez le nom de votre cluster sur la page **Clusters**.

1. Dans la section **Détails** de l'onglet **Présentation**, notez la valeur de l'**URL du fournisseur d'OpenID Connect**.

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

1. Dans le panneau de navigation, sélectionnez **Identity Providers** (Fournisseurs d'identité) sous **Access management** (Gestion des accès). Si un **fournisseur** est répertorié et correspond à l'URL de votre cluster, alors vous avez déjà un fournisseur pour votre cluster. Si aucun fournisseur ne correspond à l’URL de votre cluster, vous devez en créer un.

1. Pour créer un fournisseur, cliquez sur **Ajouter un fournisseur**.

1. Pour le **type de fournisseur**, sélectionnez **OpenID Connect**.

1. Pour **l’URL du fournisseur**, saisissez l’URL du fournisseur OIDC pour votre cluster.

1. Pour **Audience**, saisissez `sts.amazonaws.com`.

1. (Facultatif) Ajoutez des balises, par exemple une balise permettant d’identifier le cluster associé à ce fournisseur.

1. Choisissez **Ajouter un fournisseur**.

Étape suivante : [Attribution de rôles IAM aux comptes de service Kubernetes](associate-service-account-role.md) 