Conceder a un usuario permisos para cambiar de rol
Cuando un administrador crea un rol para el acceso entre cuentas, establece la confianza entre la cuenta propietaria del rol, los recursos (cuenta de confianza) y la cuenta que contiene a los usuarios (cuenta de confianza). Para ello, el administrador de la cuenta de confianza especifica el número de la cuenta de confianza como Principal
en la política de confianza del rol. Esto permite que potencialmente cualquier usuario de la cuenta de confianza asuma el rol. Para finalizar la configuración, el administrador de la cuenta de confianza debe conceder permiso a usuarios o grupos específicos de dicha cuenta para cambiar al rol.
Para conceder permiso para cambiar a un rol
-
Como administrador de la cuenta de confianza, cree una política nueva para el usuario o edite una política existente para agregar los elementos necesarios. Para obtener más información, consulte Creación o edición de la política.
-
A continuación, elija cómo desea compartir la información del rol:
-
Enlace de rol: envíe a los usuarios un enlace que los lleve a la página Switch Role (Cambiar el rol) con todos los detalles ya completados.
-
ID de cuenta o alias: proporcione a cada usuario el nombre de la función junto con el número de ID de cuenta o alias de cuenta. El usuario se dirige a la página Switch Role (Cambiar rol) y agrega los detalles manualmente.
Para obtener más información, consulte Proporcionar información al usuario.
-
Tenga en cuenta que solo puede cambiar de rol cuando inicia sesión como usuario de IAM, como rol federado de SAML o como un rol federado de identidad web. No puede cambiar de rol si inicia sesión como usuario Usuario raíz de la cuenta de AWS.
importante
No puede cambiar roles en la AWS Management Console a un rol que requiera un valor ExternalId. Solo puede cambiar a dicho rol si llama a la API AssumeRole
que admite el parámetro ExternalId
.
Notas
-
En este tema se explican las políticas para un usuario, ya que, en última instancia, concedemos permisos a un usuario para llevar a cabo una tarea. Sin embargo, no es recomendable conceder permisos a un usuario en particular. Cuando un usuario asume un rol, se le asignan los permisos asociados a ese rol.
-
Al cambiar de rol en la AWS Management Console, la consola utiliza siempre sus credenciales originales para autorizar el cambio. Esto se aplica tanto si inicia sesión como usuario de IAM, como rol federado SAML o como un rol federado de identidad web. Por ejemplo, si cambia a RoleA, IAM utiliza las credenciales originales del usuario o del rol federado para determinar si está autorizado para asumir RoleA. Si trata de cambiar a RoleB mientras utiliza RoleA, las credenciales originales del usuario o del rol federado se utilizan para autorizar su intento. Las credenciales de RoleA no se utilizan para esta acción.
Creación o edición de la política
Una política que concede a un usuario permiso para asumir un rol debe incluir una instrucción con el efecto Allow
en lo siguiente:
-
Acción
sts:AssumeRole
-
El nombre de recurso de Amazon (ARN) de un rol en un elemento
Resource
A los usuarios que obtienen la política se les permite cambiar de rol en el recurso enumerado (ya sea a través de la pertenencia a un grupo o directamente conectado).
nota
Si Resource
está configurado en *
, el usuario puede asumir cualquier rol en cualquier cuenta que tenga una relación de confianza con la cuenta del usuario. (En otras palabras, la política de confianza del rol especifica la cuenta del usuario como Principal
). Le recomendamos que siga el principio de mínimo privilegio
En el siguiente ejemplo se muestra una política que permite al usuario asumir roles solo en una cuenta. Además, la política utiliza un asterisco (*) para especificar que el usuario puede cambiar a un rol solo si el nombre del rol comienza por las letras Test
.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::
account-id
:role/Test*" } }
nota
Los permisos que el rol concede al usuario no se agregan a los permisos que se le han concedido anteriormente. Si un usuario cambia a un rol, el usuario temporalmente renuncia a sus permisos originales a cambio de los concedidos por el rol. Si el usuario deja de utilizar el rol, sus permisos originales se restablecerán automáticamente. Por ejemplo, supongamos que los permisos del usuario dejan trabajar con instancias Amazon EC2, pero la política de permisos del rol no concede esos permisos. En ese caso, al utilizar el rol, el usuario no puede trabajar con instancias Amazon EC2 en la consola. Además, las credenciales temporales obtenidas a través de AssumeRole
no funcionarán con instancias Amazon EC2 mediante programación.
Proporcionar información al usuario
Después de crear un rol y conceder al usuario permisos para cambiar a dicho rol, debe proporcionar al usuario lo siguiente:
-
El nombre del rol
-
El ID o alias de la cuenta que contiene el rol
Para agilizar el acceso de sus usuarios, puede enviarles un enlace preconfigurado con el ID de la cuenta y el nombre de la función. Puede ver el enlace del rol después de completar el asistente de creación Crear rol si selecciona el banner Ver rol, o en la página Resumen del rol para cualquier rol habilitado para varias cuentas.
También puede utilizar el siguiente formato para crear manualmente el enlace. Sustituya el alias o ID de la cuenta y el nombre del rol por los dos parámetros en el siguiente ejemplo.
https://signin.aws.amazon.com/switchrole?account=
your_account_ID_or_alias
&roleName=optional_path/role_name
Le recomendamos que dirija a los usuarios a Cambiar de usuario a rol de IAM (consola) para guiarles durante el proceso. Para solucionar problemas comunes que se pueden encontrar al asumir un rol, consulte No puedo asumir un rol.
Consideraciones
-
Si crea el rol mediante programación, puede crear el rol con una ruta y un nombre. Si lo hace, debe proporcionar la ruta de acceso completa y el nombre del rol a los usuarios para que puedan ingresarlos en la página Cambiar rol de la AWS Management Console. Por ejemplo:
division_abc/subdivision_efg/role_XYZ
. -
Si crea el rol mediante programación, puede agregar un
Path
de hasta 512 caracteres y unRoleName
. El nombre del rol puede tener una longitud de hasta 64 caracteres. Sin embargo, si desea utilizar un rol con la característica Cambiar rol en AWS Management Console, la combinación dePath
yRoleName
no puede superar los 64 caracteres.
-
Por motivos de seguridad, puede revisar los registros de AWS CloudTrail para saber quién realizó una acción en AWS. Puede utilizar la clave de condición de
sts:SourceIdentity
en la política de confianza de rol para exigir a los usuarios que especifiquen una identidad cuando asuman un rol. Por ejemplo, puede requerir que los usuarios de IAM especifiquen su propio nombre de usuario como su identidad de origen. Esto puede ayudarle a determinar qué usuario realizó una acción específica en AWS. Para obtener más información, consulte sts:SourceIdentity. También puede utilizar sts:RoleSessionName para exigir a los usuarios que especifiquen un nombre de sesión cuando asuman un rol. Esto puede ayudarle a diferenciar entre sesiones de rol cuando un rol es utilizado por diferentes entidades.