IRSA mit dem AWS-SDK verwenden - Amazon EKS

Unterstützung für die Verbesserung dieser Seite beitragen

Um zu diesem Benutzerhandbuch beizutragen, klicken Sie auf den Link Diese Seite auf GitHub bearbeiten, der sich im rechten Bereich jeder Seite befindet.

IRSA mit dem AWS-SDK verwenden

Verwenden von Anmeldeinformationen

Um die Anmeldeinformationen von IAM-Rollen für Servicekonten (IRSA) zu verwenden, kann Ihr Code ein beliebiges AWS-SDK verwenden, um einen Client für einen AWS-Service mit einem SDK zu erstellen. Standardmäßig sucht das SDK in einer Kette von Speicherorten nach zu verwendenden Anmeldeinformationen für AWS. Die IAM-Rollen für Anmeldeinformationen für Servicekonten werden verwendet, wenn Sie bei der Erstellung des Clients keinen Anmeldeinformationsanbieter angeben oder Sie das SDK anderweitig initialisiert haben.

Das funktioniert, weil IAM-Rollen für Servicekonten als Schritt in der standardmäßigen Anmeldeinformationskette hinzugefügt wurden. Wenn Ihre Workloads derzeit Anmeldeinformationen verwenden, die sich an früherer Stelle in der Anmeldeinformationskette befinden, werden diese Anmeldeinformationen auch dann weiterhin verwendet, wenn Sie IAM-Rollen für Servicekonten für dieselbe Workload konfigurieren.

Mithilfe der AssumeRoleWithWebIdentity-Aktion tauscht das SDK das OIDC-Token des Servicekontos automatisch gegen temporäre Anmeldeinformationen vom AWS-Sicherheits-Token-Service aus. Amazon EKS und diese SDK-Aktion rotieren weiterhin die temporären Anmeldeinformationen, indem sie erneuert werden, bevor sie ablaufen.

Wenn Sie IAM-Rollen für Servicekonten benutzen, müssen die Container in Ihren eine AWS-SDK-Version verwenden, welche die Annahme einer IAM-Rolle über eine Token-Datei für OpenID-Connect-Webidentitäts unterstützt. Stellen Sie sicher, dass Sie die folgenden Versionen oder höher für Ihr AWS-SDK verwenden:

Viele gängige Kubernetes- Add-Ons, wie beispielsweise der Cluster Autoscaler, das Routing des Internet-Datenverkehrs mit AWS Load Balancer Controller und das Amazon-VPC-CNI-Plugin für Kubernetes, unterstützen IAM-Rollen für Servicekonten.

Um sicherzustellen, dass Sie ein unterstütztes SDK verwenden, befolgen Sie die Installationsanweisungen für Ihr bevorzugtes SDK unter Tools für die Entwickelung in AWS, wenn Sie Ihre Container entwickeln.

Überlegungen

Java

Wenn Sie Java verwenden, müssen Sie das sts-Modul in den Klassenpfad aufnehmen. Weitere Informationen finden Sie unter WebIdentityTokenFileCredentialsProvider in den Java SDK-Dokumenten.