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.
Comprendre le fonctionnement de l’identité du pod Amazon EKS
Les associations de l’identité du pod Amazon EKS offrent une capacité de gestion des informations d’identification à utiliser pour les applications, de la même façon que les profils d’instance Amazon EC2 fournissent des informations d’identification aux instances EC2.
L’identité du pod Amazon EKS fournit des informations d’identification à vos charges de travail avec une API d’authentification EKS supplémentaire et un pod d’agent qui s’exécute sur chaque nœud.
Dans vos modules complémentaires, tels que les modules complémentaires Amazon EKS et les contrôleurs, opérateurs et autres modules complémentaires autogérés, l'auteur doit mettre à jour son logiciel pour utiliser les derniers AWS SDK. Pour la liste de compatibilité entre l’identité du pod EKS et les modules complémentaires produits par Amazon EKS, reportez-vous à la section précédente Restrictions relatives à l’identité du pod EKS.
Utilisation des identités du pod EKS dans votre code
Dans votre code, vous pouvez utiliser les AWS SDK pour accéder aux AWS services. Vous écrivez du code pour créer un client pour un AWS service avec un SDK, et par défaut, le SDK recherche les informations d'identification AWS Identity and Access Management à utiliser dans une chaîne d'emplacements. Une fois les informations d’identification valides trouvées, la recherche s’arrête. Pour plus d'informations sur les emplacements par défaut utilisés, consultez la chaîne de fournisseurs d'informations d'identification dans le Guide de référence AWS des SDK et des outils.
Les identités du pod EKS ont été ajoutées au fournisseur d’informations d’identification du conteneur qui est recherché dans une étape de la chaîne d’informations d’identification par défaut. Si vos charges de travail utilisent actuellement des informations d’identification antérieures dans la chaîne de fournisseurs d’informations d’identification, ces informations continueront d’être utilisées même si vous configurez une association d’identité du pod EKS pour la même charge de travail. Ainsi, vous pouvez migrer en toute sécurité à partir d’autres types d’informations d’identification en créant d’abord l’association, avant de supprimer les anciennes informations d’identification.
Le fournisseur d’informations d’identification de conteneur fournit des informations d’identification temporaires à partir d’un agent qui s’exécute sur chaque nœud. Dans Amazon EKS, l’agent est l’agent d’identité du pod Amazon EKS et sur Amazon Elastic Container Service, l’agent est le amazon-ecs-agent. Les kits SDK utilisent des variables d’environnement pour localiser l’agent auquel se connecter.
En revanche, les rôles IAM pour les comptes de service fournissent un jeton d'identité Web que le AWS SDK doit utiliser pour échanger avec le AWS Security Token Service. AssumeRoleWithWebIdentity
Fonctionnement de l’agent de l’identité du pod EKS avec un pod
-
Lorsque Amazon EKS démarre un nouveau pod qui utilise un compte de service associé à une identité du pod EKS, le cluster ajoute le contenu suivant au manifeste du pod :
env: - name: AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE value: "/var/run/secrets/pods.eks.amazonaws.com/serviceaccount/eks-pod-identity-token" - name: AWS_CONTAINER_CREDENTIALS_FULL_URI value: "http://169.254.170.23/v1/credentials" volumeMounts: - mountPath: "/var/run/secrets/pods.eks.amazonaws.com/serviceaccount/" name: eks-pod-identity-token volumes: - name: eks-pod-identity-token projected: defaultMode: 420 sources: - serviceAccountToken: audience: pods.eks.amazonaws.com expirationSeconds: 86400 # 24 hours path: eks-pod-identity-token -
Kubernetes sélectionne le nœud sur lequel exécuter le pod. Ensuite, l'agent Amazon EKS Pod Identity sur le nœud utilise l'AssumeRoleForPodIdentityaction pour récupérer des informations d'identification temporaires à partir de l'API EKS Auth.
-
L'agent EKS Pod Identity met ces informations d'identification à la disposition AWS des SDK que vous exécutez dans vos conteneurs.
-
Vous utilisez le kit SDK dans votre application sans spécifier de fournisseur d’informations d’identification pour utiliser la chaîne d’informations d’identification par défaut. Vous pouvez également spécifier le fournisseur d’informations d’identification du conteneur. Pour plus d'informations sur les emplacements par défaut utilisés, consultez la chaîne de fournisseurs d'informations d'identification dans le Guide de référence AWS des SDK et des outils.
-
Le kit SDK utilise les variables d’environnement pour se connecter à l’agent d’identité du pod EKS et récupérer les informations d’identification.
Note
Si vos charges de travail utilisent actuellement des informations d’identification antérieures dans la chaîne de fournisseurs d’informations d’identification, ces informations continueront d’être utilisées même si vous configurez une association d’identité du pod EKS pour la même charge de travail.