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
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
Überlegungen
Java
Wenn Sie Java verwenden, müssen Sie das sts-Modul in den Klassenpfad aufnehmen. Weitere Informationen finden Sie unter WebIdentityTokenFileCredentialsProvider