Métodos para asumir un rol - AWS Identity and Access Management

Métodos para asumir un rol

Para que un usuario, una aplicación o un servicio pueda utilizar un rol creado por usted, debe conceder permisos para cambiar al rol. Puede utilizar cualquier política asociada a grupos o usuarios para otorgar los permisos necesarios. Una vez concedidos los permisos, el usuario puede asumir un rol desde la AWS Management Console, las herramientas para Windows PowerShell, la AWS Command Line Interface (AWS CLI) y la API de AssumeRole.

importante

Cuando crea un rol mediante programación en lugar de hacerlo en la consola de IAM, tiene la opción de agregar un Path de 512 caracteres como máximo además del RoleName, que puede tener un máximo de 64 caracteres. Sin embargo, si desea utilizar un rol con la característica Cambiar rol en la consola de AWS Management Console, la combinación de Path y RoleName no puede superar los 64 caracteres.

El método que utilice para asumir el rol determinará quién puede asumir el rol y cuánto tiempo puede durar la sesión de ese rol. Cuando se utilizan operaciones de la API AssumeRole*, el rol de IAM que se asume es el recurso. El usuario o rol que llama a las operaciones de la API AssumeRole* es la entidad principal.

En la siguiente tabla, se comparan los métodos para asumir roles.

Método para asumir el papel ¿Quién puede asumir el rol? Método para especificar la duración de las credenciales Duración de las credenciales (mín | máx | predeterminada)
AWS Management Console Usuario (mediante el cambio de roles) Duración máxima de la sesión en la página de resumen del Rol 15 min | configuración de la duración máxima de la sesión² | 1 h
Operación assume-role de la CLI u operación AssumeRole de la API Usuario o rol¹ Parámetro duration-seconds de la CLI o parámetro DurationSeconds de la API 15 min | configuración de la duración máxima de la sesión² | 1 h
Operación assume-role-with-saml de la CLI u operación AssumeRoleWithSAML de la API Cualquier usuario autenticado mediante SAML Parámetro duration-seconds de la CLI o parámetro DurationSeconds de la API 15 min | configuración de la duración máxima de la sesión² | 1 h
Operación assume-role-with-web-identity de la CLI u operación AssumeRoleWithWebIdentity de la API Cualquier usuario autenticado con OIDC Parámetro duration-seconds de la CLI o parámetro DurationSeconds de la API 15 min | configuración de la duración máxima de la sesión² | 1 h
URL de la consola construida con AssumeRole Usuario o rol Parámetro HTMLSessionDuration en la URL 15 min | 12 h | 1 h
URL de la consola construida con AssumeRoleWithSAML Cualquier usuario autenticado mediante SAML Parámetro HTMLSessionDuration en la URL 15 min | 12 h | 1 h
URL de la consola construida con AssumeRoleWithWebIdentity Cualquier usuario autenticado con OIDC Parámetro HTMLSessionDuration en la URL 15 min | 12 h | 1 h

¹ El uso de las credenciales de un rol para asumir otro rol se denomina encadenamiento de roles. Cuando se utiliza el encadenamiento de roles, las nuevas credenciales tienen una duración máxima de una hora. Cuando utiliza roles para conceder permisos a las aplicaciones que se ejecutan en instancias EC2, esas aplicaciones no están sujetas a esta limitación.

² Esta opción puede tener un valor comprendido entre 1 y 12 horas. Para obtener información detallada sobre modificar la configuración de la duración máxima de la sesión, consulte Administración de roles de IAM. Este ajuste determina la duración máxima de la sesión que se puede solicitar al obtener las credenciales del rol. Por ejemplo, cuando utilice las operaciones AssumeRole* de la API para asumir un rol, puede utilizar el parámetro DurationSeconds para especificar la duración de la sesión. Use este parámetro para especificar la duración de la sesión de rol, que puede oscilar entre 900 segundos (15 minutos) y el valor de la duración máxima de la sesión especificado para el rol. A los usuarios de IAM que cambian de rol en la consola se les concede la duración máxima de la sesión, o el tiempo restante de la sesión del usuario, lo que sea menor. Supongamos que establece una duración máxima de 5 horas en un rol. Un usuario de IAM que ha iniciado sesión en la consola durante 10 horas (fuera del máximo predeterminado de 12) cambia al rol. La duración de la sesión de rol disponible es de 2 horas. Para obtener información sobre cómo ver el valor máximo para el rol, consulte Actualizar la duración máxima de la sesión para un rol más adelante en esta misma página.

Notas
  • La configuración de duración máxima de sesión no limita las sesiones asumidas por los servicios de AWS.

  • Las credenciales del rol de IAM de Amazon EC2 no están sujetas a la duración máxima de sesión configurada en el rol.

  • Para permitir que los usuarios vuelvan a asumir el rol actual dentro de una sesión de rol, especifique el ARN del rol o el ARN de la Cuenta de AWS como entidad principal en la política de confianza de rol. Los Servicios de AWS que proporcionan recursos de computación, como Amazon EC2, Amazon ECS, Amazon EKS y Lambda, brindan credenciales temporales y las actualizan automáticamente. Esto garantiza que siempre disponga de un conjunto de credenciales válido. Para estos servicios, no es necesario volver a asumir el rol actual a fin de obtener credenciales temporales. Sin embargo, si tiene la intención de aprobar etiquetas de sesión o una política de sesión, tendrá que volver a asumir el rol actual. Para obtener información sobre cómo modificar una política de confianza de roles a fin de agregar el ARN del rol o el ARN de la Cuenta de AWS para la entidad principal, consulte Actualizar una política de confianza de rol .