Conceder permisos de usuario para cambiar de rol - AWS Identity and Access Management

Conceder permisos de usuario para cambiar de rol

Cuando un administrador crea un rol para el acceso entre cuentas establece la confianza entre la cuenta propietaria del rol y los recursos (cuenta fiable) y la cuenta que contiene los usuarios (cuenta de confianza). Para ello, el administrador de la cuenta fiable especifica el número de cuenta de confianza como Principal en la directiva 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 a un usuario permiso para cambiar a un rol, el administrador de la cuenta de confianza crea una nueva directiva para el usuario. O bien, el administrador puede editar una directiva existente para agregar los elementos necesarios. A continuación, puede enviar a los usuarios un enlace que les redirigirá a la página Switch Role (Cambiar rol) con todos los detalles ya completados. También, el administrador puede proporcionar al usuario el alias o el número de ID de la cuenta que incluye el rol y su nombre. El usuario se dirige a la página Switch Role (Cambiar rol) y agrega los detalles manualmente. Para obtener información sobre cómo un usuario puede cambiar de rol, consulte Cambio a un rol (consola).

Tenga en cuenta que solo puede cambiar de rol al iniciar sesión como usuario de IAM. No puede cambiar de rol si inicia sesión como usuario Usuario de la cuenta raíz de AWS.

importante

No puede cambiar roles en la Consola de administración de AWS 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 realizar una tarea. Sin embargo, la práctica recomendada es no conceder permisos directamente a un usuario individual. Para facilitar la administración, le recomendamos asignar políticas y conceder permisos a grupos de IAM y, a continuación, hacer a los usurarios miembros de los grupos apropiados.

  • Al cambiar de rol en la Consola de administración de AWS, 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, utiliza las credenciales originales del usuario o del rol federado para determinar si está autorizado para asumir el 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, no las credenciales de RoleA.

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:

  • La acción sts:AssumeRole

  • El nombre de recurso de Amazon (ARN) de un rol en un elemento Resource

Esto se como se muestra en el siguiente ejemplo. Los usuarios que obtienen la política (ya sea a través de la pertenencia a un grupo o porque está asociada directamente) pueden cambiar al rol especificado.

nota

Si Resource se establece en *, el usuario puede asumir cualquier rol en cualquier cuenta que confíe en la cuenta del usuario. (En otras palabras, la directiva de confianza del rol especifica la cuenta del usuario como Principal). Le recomendamos que siga el principio de mínimo privilegio y especifique el ARN completo únicamente para los roles que necesite el usuario.

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-WITHOUT-HYPHENS: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

  • La ID o el alias de la cuenta que contiene el rol

Puede facilitar las cosas a los usuarios si les envía un enlace preconfigurado con el nombre del rol y el ID de la cuenta. Puede ver el enlace del rol en la página final del asistente para Create Role (Crear rol) o en la página Role Summary (Resumen del rol) para cualquier rol configurado entre cuentas.

También puede utilizar el siguiente formato para crear manualmente el enlace. Sustituya su ID de la cuenta o su alias 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 al tema Cambio a un rol (consola) para guiarles durante el proceso.

Consideraciones

  • Si crea el rol mediante programación, puede crear el rol con una ruta de acceso además de un nombre. De lo contrario, debe proporcionar la ruta de acceso completa y el nombre del rol a los usuarios para que los escriban en la página Switch Role (Cambiar rol) de la Consola de administración de AWS. Por ejemplo: division_abc/subdivision_efg/role_XYZ.

  • Si crea el rol mediante programación, puede agregar una Path máxima de 512 caracteres además de un RoleName. El nombre puede tener una longitud de hasta 64 caracteres. Sin embargo, si desea utilizar un rol con la característica Switch Role en la consola de Consola de administración de AWS, la combinación de Path y RoleName 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 aws:RoleSessionName en la política de confianza de rol para exigir a los usuarios que especifiquen un nombre de sesión cuando asuman un rol. Por ejemplo, puede requerir que los usuarios de IAM especifiquen su propio nombre de usuario como nombre de sesión. Para obtener más información, consulte aws:RoleSessionName.