Uso de IRSA con el SDK de AWS - Amazon EKS

Uso de IRSA con el SDK de AWS

Uso de las credenciales

Para usar las credenciales de los roles de IAM para cuentas de servicio, el código puede usar cualquier SDK de AWS para crear un cliente para un servicio de AWS con un SDK y, de forma predeterminada, el SDK busca en una cadena de ubicaciones las credenciales de AWS Identity and Access Management para usar. Las credenciales de los roles de IAM para cuentas de servicio se utilizarán si no especifica un proveedor de credenciales al crear el cliente o al iniciar el SDK de otro modo.

Esto funciona porque los roles de IAM para cuentas de servicio se han agregado como un paso en la cadena de credenciales predeterminada. Si sus cargas de trabajo utilizan actualmente credenciales que se encuentran en una fase anterior de la cadena de credenciales, esas credenciales seguirán utilizándose aunque configure un rol de IAM para cuentas de servicio de la misma carga de trabajo.

El SDK intercambia automáticamente el token OIDC de la cuenta de servicio por credenciales temporales de AWS Security Token Service mediante la acción AssumeRoleWithWebIdentity. Amazon EKS y esta acción de SDK siguen rotando las credenciales temporales y las renuevan antes de que caduquen.

Para usar Roles de IAM para cuentas de servicioroles de IAM para cuentas de servicio, los contenedores de los Pods deben utilizar una versión del SDK de AWS que admita asumir un rol de IAM a través de un archivo de token de identidad web de OpenID Connect. Asegúrese de usar las siguientes versiones, o posteriores, para el SDK de AWS:

Muchos complementos populares de Kubernetes, como el escalador automático de clústeres, el Enrutamiento del tráfico de internet con el controlador del equilibrador de carga de AWSEnrutamiento de tráfico de internet con el controlador de equilibrador de carga de AWS y el Configuración del complemento de CNI de Amazon VPC para utilizar IRSAComplemento CNI de Amazon VPC para Kubernetes permiten utilizar roles de IAM para cuentas de servicio.

Para asegurarse de que esté utilizando un SDK compatible, siga las instrucciones de instalación para su SDK preferido en Herramientas para crear en AWS al crear los contenedores.