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.
Créer un fournisseur d'identité OIDC IAM pour votre cluster
Votre cluster a une URL de diffuseur OpenID Connect
-
Un cluster Amazon EKS existant. Pour en déployer un, consultez Mise en route avec Amazon EKS.
-
Version
2.12.3ou ultérieure ou version1.27.160ou ultérieure de l’interface de la ligne de commande AWS (AWS CLI) installée et configurée sur votre appareil ou dans AWS CloudShell. Pour vérifier votre version actuelle, utilisezaws --version | cut -d / -f2 | cut -d ' ' -f1. Les gestionnaires de package tels queyum,apt-getou Homebrew pour macOS ont souvent plusieurs versions de retard par rapport à la dernière version de l’AWS CLI. Pour installer la dernière version, consultez les sections Installation et Configuration rapide avec aws configure du Guide de l’utilisateur de l’interface de la ligne de commande AWS. La version de l’AWS CLI installée dans AWS CloudShell peut également être plusieurs versions derrière la dernière version. Pour la mettre à jour, consultez la section Installation de l’AWS CLI dans votre répertoire personnel dans le Guide de l’utilisateur AWS CloudShell. -
L’outil de ligne de commande
kubectlest installé sur votre appareil ou dans 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 est1.29, vous pouvez utiliser la versionkubectl1.28,1.29ou1.30. Pour installer ou mettre à niveaukubectl, veuillez consulter Configuration de kubectl et eksctl. -
Un fichier existant
kubectlconfigqui contient la configuration de votre cluster. Pour créer un fichierkubectlconfig, consultez Connexion de kubectl à un cluster EKS en créant un fichier kubeconfig.
Vous pouvez créer un fournisseur IAM OIDC pour votre cluster en utilisant eksctl ou la AWS Management Console.
Créer un fournisseur OIDC (eksctl)
-
Version
0.214.0ou ultérieure de l’outil de ligne de commandeeksctlinstallée sur votre appareil ou AWS CloudShell. Pour installer ou mettre à joureksctl, veuillez consulter Installationdans la documentation de eksctl. -
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 -
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 "/" -f4Si 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.
-
Créez votre fournisseur d'identité OIDC IAM pour votre cluster avec la commande suivante.
eksctl utils associate-iam-oidc-provider --cluster $cluster_name --approveNote
Si vous avez activé le point de terminaison d’un VPC EKS, le point de terminaison du service OIDC EKS n’était pas accessible depuis l’intérieur de ce VPC. Par conséquent, vos opérations telles que la création d’un fournisseur OIDC avec
eksctldans le VPC ne fonctionneront pas et entraîneront un délai d’expiration. Voici un exemple de message d'erreur :** server cant find oidc.eks.<region-code>.amazonaws.com: NXDOMAIN
Pour terminer cette étape, vous pouvez exécuter la commande en dehors du VPC, par exemple, dans CloudShell AWS ou sur un ordinateur connecté à Internet. Vous pouvez également créer un résolveur conditionnel à horizon divisé dans le VPC, tel que Route 53 Resolver, afin d’utiliser un résolveur différent pour l’URL de l’émetteur OIDC et de ne pas utiliser le DNS 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)
-
Ouvrez la console Amazon EKS
. -
Dans le volet de gauche, sélectionnez Clusters, puis sélectionnez le nom de votre cluster sur la page Clusters.
-
Dans la section Détails de l'onglet Présentation, notez la valeur de l'URL du fournisseur d'OpenID Connect.
-
Ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/
. -
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.
-
Pour créer un fournisseur, cliquez sur Ajouter un fournisseur.
-
Pour le type de fournisseur, sélectionnez OpenID Connect.
-
Pour l’URL du fournisseur, saisissez l’URL du fournisseur OIDC pour votre cluster.
-
Pour Audience, saisissez
sts.amazonaws.com. -
(Facultatif) Ajoutez des balises, par exemple une balise permettant d’identifier le cluster associé à ce fournisseur.
-
Choisissez Ajouter un fournisseur.
Étape suivante : Attribution de rôles IAM aux comptes de service Kubernetes