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 :
-
Java (version 2) – 2.10.11
-
Java : 1.12.782
-
Kit SDK AWS pour Go v1 : 1.23.13
-
Kit SDK AWS pour Go v2 : toutes les versions sont prises en charge
-
Python (Boto3) – 1.9.220
-
Python (botocore) – 1.12.200
-
AWS CLI : 1.16.232
-
Ruby – 3.58.0
-
C++ – 1.7.174
-
.NET – 3.3.659.1
– Vous devez également inclure AWSSDK.SecurityToken. -
PHP – 3.110.7
De nombreux modules complémentaires Kubernetes populaires, tels que Cluster Autoscaler
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
Considérations
Java
Lorsque vous utilisez Java, vous devez inclure le module sts dans le chemin de classe. Pour plus d’informations, consultez WebIdentityTokenFileCredentialsProvider