Créer un fournisseur d'identité OIDC IAM pour votre cluster - Amazon EKS

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.

Créer un fournisseur d'identité OIDC IAM pour votre cluster

Une URL d'émetteur OpenID Connect (OIDC) est associée à votre cluster. Pour utiliser les rôles AWS Identity and Access Management (IAM) pour les comptes de service, un fournisseur IAM OIDC doit exister pour l'URL de l'émetteur OIDC de votre cluster.

  • Un cluster Amazon EKS existant. Pour en déployer un, consultez Mise en route avec Amazon EKS.

  • 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 Homebrew pour macOS ont souvent plusieurs versions de retard sur la dernière version de la AWS CLI. apt-get Pour installer la dernière version, consultez la section Installation et configuration rapide avec aws configure dans le Guide de l'utilisateur de l'interface de ligne de AWS commande. La version de la AWS CLI 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 de la AWS CLI dans votre répertoire de base 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 ou supérieure à une version mineure antérieure ou ultérieure à la version Kubernetes de votre cluster. 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 Configurez kubectl et eksctl.

  • Un fichier existant kubectl config qui contient la configuration de votre cluster. Pour créer un fichier kubectl config, consultez Connect kubectl à un cluster EKS en créant un fichier kubeconfig.

Vous pouvez créer un fournisseur IAM OIDC pour votre cluster à l'aide eksctl du. AWS Management Console

Créer un fournisseur OIDC (eksctl)

  1. Version 0.204.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.

  2. Déterminez l'identifiant de l'émetteur OIDC pour votre cluster.

    Récupérez l'ID d'é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 une sortie est renvoyée, cela signifie que vous disposez déjà d'un fournisseur IAM OIDC pour votre cluster et que vous pouvez ignorer l'étape suivante. Si aucune sortie n'est renvoyée, vous devez créer un fournisseur OIDC IAM pour votre cluster.

  2. 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 avez activé le point de terminaison du VPC EKS, le point de terminaison du service EKS OIDC n'est 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 cant 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. Vous pouvez également créer un résolveur conditionnel à horizon partagé dans le VPC, tel que Route 53 Resolver, pour utiliser un résolveur différent pour l'URL de l'émetteur OIDC et ne pas utiliser le DNS du VPC pour celle-ci. Pour un exemple de transfert conditionnel dans CoreDNS, consultez la demande de fonctionnalité Amazon EKS sur. GitHub

Créer un fournisseur OIDC (AWS console)

  1. Ouvrez la console Amazon EKS.

  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 correspondant à l'URL de votre cluster n'est répertorié, vous devez en créer un.

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

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

  8. Pour URL du fournisseur, entrez l'URL du fournisseur OIDC de votre cluster.

  9. Dans Audience, entrezsts.amazonaws.com.

  10. (Facultatif) Ajoutez des balises, par exemple une balise pour identifier le cluster destiné à ce fournisseur.

  11. Choisissez Ajouter un fournisseur.

Étape suivante : Attribuer des rôles IAM aux comptes de service Kubernetes