Utiliser IRSA avec le SDK AWS - Amazon EKS

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.

Utiliser IRSA avec le SDK AWS

Utilisation des informations d’identification

Pour utiliser les informations d’identification des rôles IAM des comptes de service (IRSA), votre code peut utiliser n’importe quel kit SDK AWS pour créer un client pour un service AWS avec un kit SDK, et par défaut, le kit SDK recherche dans une chaîne d’emplacements les informations d’identification de gestion des identités et des accès AWS à utiliser. Les informations d’identification des rôles IAM des comptes de service seront utilisées si vous ne spécifiez pas de fournisseur d’informations d’identification lors de la création du client ou de l’initialisation du kit SDK.

Cela fonctionne parce que les rôles IAM des comptes de service ont été ajoutés en tant qu’étape dans la chaîne d’informations d’identification par défaut. Si vos charges de travail utilisent actuellement des informations d’identification qui se trouvent plus haut dans la chaîne d’informations d’identification, ces informations d’identification continueront d’être utilisées même si vous configurez un rôle IAM des comptes de service pour la même charge de travail.

Le SDK échange automatiquement le jeton OIDC du compte de service contre des informations d’identification temporaires provenant du service de jetons de sécurité AWS à l’aide de l’action AssumeRoleWithWebIdentity. Amazon EKS et cette action du kit SDK poursuivent la rotation des informations d’identification temporaires en les renouvelant avant qu’elles n’expirent.

Lorsque vous utilisez des rôles IAM pour les comptes de service, les conteneurs de vos pods doivent utiliser une version du SDK AWS qui prend en charge l’attribution d’un rôle IAM via un fichier de jetons d’identité Web OpenID Connect. Veillez à utiliser les versions suivantes, ou ultérieures, pour votre SDK AWS :

De nombreux modules complémentaires Kubernetes populaires, tels que Cluster Autoscaler, Routage du trafic Internet avec AWS Load Balancer Controller et le plug-in CNI Amazon VPC pour Kubernetes, prennent en charge les rôles IAM pour les comptes de service.

Pour vous assurer d’utiliser un kit SDK pris en charge, suivez les instructions d’installation relatives à votre SDK préféré de la page Tools to Build on AWS lorsque vous créez vos conteneurs.

Considérations

Java

Lorsque vous utilisez Java, vous devez inclure le module sts dans le chemin de classe. Pour plus d’informations, consultez WebIdentityTokenFileCredentialsProvider dans la documentation du SDK Java.