Créez un OIDC fournisseur IAM pour votre cluster - Amazon EKS

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éez un OIDC fournisseur IAM pour votre cluster

Votre cluster possède une URL de diffuseur OpenID Connect (OIDC) qui lui est associée. Pour utiliser des rôles AWS Identity and Access Management (IAM) pour les comptes de service, un OIDC fournisseur IAM doit exister pour l'URL de l'OIDCémetteur de votre cluster.

Prérequis
  • Un cluster Amazon EKS existant. Pour en déployer un, consultez Démarrer avec Amazon EKS.

  • Version 2.12.3 ou ultérieure ou version 1.27.160 ou ultérieure du AWS Command Line Interface (AWS CLI) installé et configuré sur votre appareil ou AWS CloudShell. Pour vérifier votre version actuelle, utilisez aws --version | cut -d / -f2 | cut -d ' ' -f1. Les gestionnaires de package, par exemple yum, apt-get, Homebrew ou macOS, sont souvent antérieurs de plusieurs versions à la AWS CLI. Pour installer la dernière version, consultez Installation, mise à jour et désinstallation de l’ AWS CLI et Configuration rapide avec aws configure dans le Guide de l’utilisateur AWS Command Line Interface . La AWS CLI version installée AWS CloudShell peut également avoir plusieurs versions de retard par rapport à la dernière version. Pour le mettre à jour, consultez la section Installation AWS CLI dans votre répertoire personnel 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 être identique à la version Kubernetes de votre cluster ou être maximum une version mineure antérieure ou ultérieure. Par exemple, si la version de votre cluster est 1.28, vous pouvez utiliser la version kubectl 1.27, 1.28 ou 1.29. Pour installer ou mettre à niveau kubectl, veuillez consulter Installation ou mise à jour de kubectl.

  • Un fichier existant kubectl config qui contient la configuration de votre cluster. Pour créer un fichier kubectl config, consultez Création ou mise à jour d'un fichier kubeconfig pour un cluster Amazon EKS.

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

eksctl
Prérequis

Version 0.175.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 dans la documentation de eksctl.

Pour créer un fournisseur d'identité OIDC IAM pour votre cluster avec eksctl
  1. Déterminez l'identifiant de l'émetteur OIDC pour votre cluster.

    Récupérez l'identifiant de l'é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
  2. Déterminez si un fournisseur OIDC IAM avec l'identifiant de l'émetteur de votre cluster est déjà présent sur 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 OIDC IAM 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.

  3. 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 vous activez le point de terminaison VPC EKS, le point de terminaison du service OIDC EKS ne sera pas accessible depuis ce VPC. Par conséquent, les opérations telles que la création d'un fournisseur OIDC avec eksctl dans le VPC n'aboutiront pas et entraîneront une expiration lors de la tentative de demande de https://oidc.eks.region.amazonaws.com. Voici un exemple de message d'erreur :

    ** server can't find oidc.eks.region.amazonaws.com: NXDOMAIN

    Pour terminer cette étape, vous pouvez exécuter la commande en dehors du VPC, par exemple dans AWS CloudShell ou sur un ordinateur connecté à Internet.

AWS Management Console
Pour créer un fournisseur d'OIDCidentité IAM pour votre cluster à l'aide du AWS Management Console
  1. Ouvrez la console Amazon EKS à l'adresse https://console.aws.amazon.com/eks/home#/clusters.

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

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

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

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

  6. Pour créer un fournisseur, cliquez sur Ajouter un fournisseur.

  7. Pour Provider type (Type de fournisseur), sélectionnez OpenID Connect.

  8. Pour l'URL du fournisseur, entrez l'URL du fournisseur OIDC pour votre cluster, puis choisissez Obtenir une empreinte.

  9. Pour le Audience (Public ciblé), saisissez sts.amazonaws.com et choisissez Add provider (Ajouter un fournisseur).

Étape suivante

Configurer un compte Kubernetes de service pour qu'il assume un rôle IAM