Uso de roles de IAM - AWS Identity and Access Management

Uso de roles de IAM

Para que un usuario, una aplicación o un servicio pueda utilizar un rol que usted haya creado, debe conceder permisos para cambiar al rol. Puede utilizar cualquier política asociada a grupos o usuarios para otorgar los permisos necesarios. En esta sección se describe cómo se puede conceder a los usuarios el permiso para utilizar un rol. También explica cómo el usuario puede cambiar a un rol desde el AWS Management Console, Tools for Windows PowerShell, AWS Command Line Interface (AWS CLI) y el 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.

Puede cambiar de rol desde la AWS Management Console. Puede asumir un rol llamando a una operación de la API o de la AWS CLI, o utilizando una URL personalizada. El método que utilice determinará quién puede asumir el rol y cuánto tiempo puede durar la sesión de 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.

Comparación de métodos para el uso de 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 Modificación de un rol. 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 Cómo consultar la configuración de 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 Modificación de una política de confianza de rol (consola).

Cómo consultar la configuración de la duración máxima de la sesión para un rol

Puede especificar la duración máxima de sesión de un rol mediante AWS Management Console o mediante el uso de la función AWS CLI o API de AWS. Cuando se utiliza una operación de la AWS CLI o de la API para asumir un rol, es posible especificar un valor para el parámetro DurationSeconds. Puede utilizar 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 indicado en la opción Duración máxima de la sesión para el rol. Antes de especificar el parámetro, debe consultar este valor para su rol. Si especifica un valor para el parámetro DurationSeconds superior a valor máximo, la operación genera un error.

Para ver la duración máxima de la sesión de un rol (consola)
  1. En el panel de navegación de la consola de IAM, elija Roles.

  2. Elija el nombre del rol que desea ver.

  3. Junto a Duración máxima de la sesión, vea la longitud máxima de sesión que se concede para el rol. Esta es la duración máxima de la sesión que puede especificar en su AWS CLI u operación de API.

Para ver la duración máxima de la sesión de un rol (AWS CLI)
  1. Si no conoce el nombre del rol que desea asumir, ejecute el siguiente comando para enumerar los roles de su cuenta:

  2. Para ver la duración máxima de la sesión de rol, ejecute el siguiente comando. A continuación, consulte el parámetro de duración máxima de la sesión.

Para ver la duración máxima de la sesión de un rol (API de AWS)
  1. Si no conoce el nombre del rol que desea asumir, llame a la siguiente operación para enumerar los roles de su cuenta:

  2. Para ver la duración máxima de la sesión de rol, ejecute la siguiente operación. A continuación, consulte el parámetro de duración máxima de la sesión.