Tutorial: Integración del inicio de sesión único (SSO) de Azure Active Directory con AWS Single-Account Access
En este tutorial, aprenderá a integrar AWS Single-Account Access con Azure Active Directory (Azure AD). Al integrar AWS Single-Account Access con Azure AD, podrá:
- Controlar en Azure AD quién tiene acceso a AWS Single-Account Access.
- Permitir que los usuarios inicien sesión automáticamente en AWS Single-Account Access con sus cuentas de Azure AD.
- Administrar las cuentas desde una ubicación central (Azure Portal).
Descripción de las distintas aplicaciones de AWS de la galería de aplicaciones de Azure AD
Use la información siguiente para decidir entre el uso de las aplicaciones AWS Single Sign-On y AWS Single-Account Access de la galería de aplicaciones de Azure AD.
AWS Single Sign-On
AWS Single Sign-On se agregó a la galería de aplicaciones de Azure AD en febrero de 2021. Esta aplicación facilita la administración del acceso de forma centralizada a varias cuentas y aplicaciones AWS, con inicio de sesión mediante Microsoft Azure AD. Federe Microsoft Azure AD con AWS SSO una vez y use AWS SSO para administrar los permisos de todas las cuentas de AWS desde un solo lugar. AWS SSO aprovisiona automáticamente los permisos y los mantiene actualizados a medida que se actualizan las directivas y se obtiene acceso a las asignaciones. Los usuarios finales pueden autenticarse con sus credenciales de Azure AD para acceder a la consola de AWS, a la interfaz de la línea de comandos y a las aplicaciones integradas con AWS SSO.
AWS Single-Account Access
Los clientes han usado AWS Single-Account Access durante los últimos años. Esta aplicación permite federar Azure AD con una sola cuenta de AWS y usar Azure AD para administrar el acceso a los roles de AWS IAM. Los administradores de AWS IAM definen roles y directivas en cada cuenta de AWS. En cada una de estas cuentas, los administradores de Azure AD se federan con AWS IAM, asignan usuarios o grupos a la cuenta y configuran Azure AD para enviar aserciones que autoricen el acceso a los roles.
| Característica | AWS Single Sign-On | AWS Single-Account Access |
|---|---|---|
| Acceso condicional | Admite una única directiva de acceso condicional para todas las cuentas de AWS. | Admite una única directiva de acceso condicional para todas las cuentas o directivas personalizadas por cuenta. |
| Acceso a la CLI | Compatible | Compatible |
| Privileged Identity Management | Todavía no se admite | Todavía no se admite |
| Administración de cuentas centralizada | Centralice la administración de cuentas en AWS. | Centralice la administración de cuentas en Azure AD (probablemente haga falta una aplicación empresarial de Azure AD por cuenta). |
| Certificado SAML | Un solo certificado | Certificados diferentes por aplicación o cuenta |
Arquitectura de AWS Single-Account Access

Puede configurar varios identificadores para varias instancias. Por ejemplo:
https://signin.aws.amazon.com/saml#1https://signin.aws.amazon.com/saml#2
Con estos valores, Azure AD quitará el valor de # y enviará el valor correcto https://signin.aws.amazon.com/saml como dirección URL del público en el token de SAML.
Se recomienda este enfoque por las siguientes razones:
Cada aplicación le proporciona un certificado X509 único. Cada instancia de aplicación de AWS puede tener una fecha de expiración del certificado diferente que se puede administrar de forma individual en cada cuenta de AWS. En este caso, la sustitución general del certificado es sencilla.
Puede habilitar el aprovisionamiento de usuarios con la aplicación AWS en Azure AD y, luego, nuestro servicio capturará todos los roles de esa cuenta de AWS. No tiene que agregar ni actualizar manualmente los roles de AWS en la aplicación.
Puede asignar el propietario de la aplicación de forma individual para la aplicación. Esta persona puede administrar la aplicación directamente en Azure AD.
Nota
Asegúrese de usar solo una aplicación de la galería.
Prerrequisitos
Para empezar, necesita los siguientes elementos:
- Una suscripción de Azure AD. Si no tiene una suscripción, puede crear una cuenta gratuita.
- Una suscripción habilitada para el inicio de sesión único (SSO) en AWS.
Nota
Los roles no deben editarse manualmente en Azure AD al realizar importaciones de roles.
Descripción del escenario
En este tutorial, va a configurar y probar el inicio de sesión único de Azure AD en un entorno de prueba.
- AWS Single-Account Access admite SSO iniciado por SP e IDP.
Nota
El identificador de esta aplicación es un valor de cadena fijo, por lo que solo se puede configurar una instancia en un inquilino.
Incorporación de AWS Single-Account Access desde la galería
Para configurar la integración de AWS Single-Account Access en Azure AD, será preciso que agregue AWS Single-Account Access desde la galería a la lista de aplicaciones SaaS administradas.
- Inicie sesión en Azure Portal con una cuenta personal, profesional o educativa de Microsoft.
- En Azure Portal, busque y seleccione Azure Active Directory.
- En el menú de información general de Azure Active Directory, elija Aplicaciones empresariales > Todas las aplicaciones.
- Para agregar una aplicación, seleccione Nueva aplicación.
- En la sección Agregar desde la galería, escriba AWS Single-Account Access en el cuadro de búsqueda.
- Seleccione AWS Single-Account Access en el panel de resultados y agregue la aplicación. Espere unos segundos mientras la aplicación se agrega al inquilino.
Configuración y prueba del inicio de sesión único de Azure AD para AWS Single-Account Access
Configure y pruebe el inicio de sesión único de Azure AD con AWS Single-Account Access mediante un usuario de prueba llamado B. Simon. Para que el inicio de sesión único funcione, es preciso establecer una relación de vinculación entre un usuario de Azure AD y el usuario relacionado de AWS Single-Account Access.
Para configurar y probar el inicio de sesión único de Azure AD con AWS Single-Account Access, siga los pasos a continuación:
- Configuración del inicio de sesión único de Azure AD , para permitir que los usuarios puedan utilizar esta característica.
- Creación de un usuario de prueba de Azure AD, para probar el inicio de sesión único de Azure AD con B.Simon.
- Asignación del usuario de prueba de Azure AD , para habilitar a B.Simon para que use el inicio de sesión único de Azure AD.
- Configuración del inicio de sesión único de AWS Single-Account Access , para configurar los valores de Inicio de sesión único en la aplicación.
- Creación de un usuario de prueba de AWS Single-Account Access , para tener un homólogo de B. Simon en AWS Single-Account Access que esté vinculado a la representación del usuario en Azure AD.
- Cómo configurar el aprovisionamiento de roles en AWS Single-Account Access
- Prueba del inicio de sesión único : para comprobar si la configuración funciona.
Configuración del inicio de sesión único de Azure AD
Siga estos pasos para habilitar el inicio de sesión único de Azure AD en Azure Portal.
En Azure Portal, en la página de integración de la aplicación AWS Single-Account Access, busque la sección Administrar y seleccione Inicio de sesión único.
En la página Seleccione un método de inicio de sesión único, elija SAML.
En la página Configurar el inicio de sesión único con SAML, haga clic en el icono de edición o con forma de lápiz para abrir el cuadro de diálogo Configuración básica de SAML y modificar la configuración.

En la sección Configuración básica de SAML, actualice los valores de Identifier (Entity ID) (Identificador [id. de entidad]) y URL de respuesta con el mismo valor predeterminado:
https://signin.aws.amazon.com/saml. Seleccione Guardar para guardar los cambios de configuración.Cuando se configure más de una instancia, proporcione un valor de identificador. A partir de la segunda instancia, use el formato siguiente, incluyendo el símbolo # para especificar un valor de SPN único.
https://signin.aws.amazon.com/saml#2La aplicación AWS espera las aserciones de SAML en un formato específico, que requiere que se agreguen asignaciones de atributos personalizados a la configuración de los atributos del token de SAML. La siguiente captura de muestra la lista de atributos predeterminados.

Además de lo anterior, la aplicación AWS espera que se devuelvan algunos atributos más, que se muestran a continuación, en la respuesta de SAML. Estos atributos también se rellenan previamente, pero puede revisarlos según sus requisitos.
Nombre Atributo de origen Espacio de nombres RoleSessionName user.userprincipalname https://aws.amazon.com/SAML/AttributesRole user.assignedroles https://aws.amazon.com/SAML/AttributesSessionDuration "proporcione un valor comprendido entre 900 segundos (15 minutos) y 43200 segundos (12 horas)" https://aws.amazon.com/SAML/AttributesNota
AWS espera roles para los usuarios asignados a la aplicación. Configure estos roles en Azure AD para que se puedan asignar los roles correspondientes a los usuarios. Para aprender a configurar roles en Azure AD, consulte este vínculo.
En la página Configuración del inicio de sesión único con SAML, en el cuadro de diálogo Certificado de firma de SAML (paso 3), seleccione Agregar un certificado.

Genere un nuevo certificado de firma de SAML y, luego, seleccione Nuevo certificado. Escriba una dirección de correo electrónico para las notificaciones del certificado.

En la sección Certificado de firma de SAML, busque Federation Metadata XML (Archivo XML de metadatos de federación) y seleccione Descargar para descargar el certificado y guardarlo en el equipo.

En la sección Set up AWS Single-Account Access (configurar AWS Single-Account Access), copie las direcciones URL adecuadas según sus necesidades.

Creación de un usuario de prueba de Azure AD
En esta sección, va a crear un usuario de prueba llamado B.Simon en Azure Portal.
- En Azure Portal, busque y seleccione Azure Active Directory.
- En el menú de información general de Azure Active Directory, elija Usuarios > Todos los usuarios.
- Seleccione Nuevo usuario en la parte superior de la pantalla.
- En las propiedades del usuario, siga estos pasos:
- En el campo Nombre, escriba
B.Simon. - En el campo Nombre de usuario, escriba username@companydomain.extension. Por ejemplo,
B.Simon@contoso.com. - Active la casilla Show password (Mostrar contraseña) y, después, anote el valor que se muestra en el cuadro Contraseña.
- Haga clic en Crear.
- En el campo Nombre, escriba
Asignación del usuario de prueba de Azure AD
En esta sección, va a conceder a B. Simon acceso a AWS Single-Account Access a través del inicio de sesión único de Azure.
- En Azure Portal, seleccione sucesivamente Aplicaciones empresariales y Todas las aplicaciones.
- En la lista de aplicaciones, seleccione AWS Single-Account Access.
- En la página de información general de la aplicación, busque la sección Administrar y seleccione Usuarios y grupos.
- Seleccione Agregar usuario. A continuación, en el cuadro de diálogo Agregar asignación, seleccione Usuarios y grupos.
- En el cuadro de diálogo Usuarios y grupos, seleccione B.Simon de la lista de usuarios y haga clic en el botón Seleccionar de la parte inferior de la pantalla.
- Si espera que se asigne un rol a los usuarios, puede seleccionarlo en la lista desplegable Seleccionar un rol. Si no se ha configurado ningún rol para esta aplicación, verá seleccionado el rol "Acceso predeterminado".
- En el cuadro de diálogo Agregar asignación, haga clic en el botón Asignar.
Configuración del inicio de sesión único de AWS Single-Account Access
En otra ventana del explorador, inicie sesión en su sitio de la compañía de AWS como administrador.
Seleccione AWS Home (Página principal de AWS).

Seleccione Identity and Access Management (Administración de identidades y accesos).

Seleccione Identity Providers > Create Provider (Proveedores de identidades > Crear proveedor).

En la página Configure Provider (Configurar proveedor), realice los pasos siguientes:

a. En Provider Type (Tipo de proveedor), seleccione SAML.
b. En Provider Name (Nombre de proveedor), escriba un nombre de proveedor (por ejemplo, WAAD).
c. Para cargar el archivo de metadatos descargado de Azure Portal, seleccione Choose file (Elegir archivo).
d. Seleccione Next Step (Siguiente paso).
En la página Verify Provider Information (Comprobar la información del proveedor), seleccione Create (Crear).

Seleccione Roles > Create role (Crear rol).

En la página Crear rol, realice los pasos siguientes:

a. En Select type of trusted entity (Seleccionar tipo de entidad de confianza), seleccione SAML 2.0 federation (Federación de SAML 2.0).
b. En Choose a SAML 2.0 Provider (Elegir un proveedor de SAML 2.0), seleccione el proveedor de SAML que ha creado anteriormente (por ejemplo, WAAD).
c. Seleccione Allow programmatic and AWS Management Console access (Permitir acceso mediante programación y a consola de AWS Management Console).
d. Seleccione Siguiente: Permisos.
En el cuadro de diálogo Attach Permissions Policies (Adjuntar directivas de permisos), adjunte la directiva adecuada según su organización. Después, seleccione Next: Review (Siguiente: revisar).

En el cuadro de diálogo Review (Revisar), realice los pasos siguientes:

a. En Role name (Nombre de rol), escriba el nombre de su rol.
b. En Role description (Descripción del rol), escriba la descripción.
c. Seleccione Create Role (Crear rol).
d. Cree tantos roles como sea necesario y asígnelos al proveedor de identidades.
Use credenciales de cuenta de servicio de AWS para obtener los roles de cuenta de AWS en aprovisionamiento de usuarios de Azure AD. Para ello, abra la página principal de la consola de AWS.
Seleccione Servicios. En Security, Identity & Compliance (Seguridad, identidad y cumplimiento), seleccione IAM.

En la sección IAM, seleccione Policies (Directivas).

Para crear una nueva directiva, seleccione Create policy (Crear directiva) para recuperar los roles de la cuenta de AWS de aprovisionamiento de usuarios de Azure AD.

Cree su propia directiva para obtener todos los roles de cuentas de AWS.

a. En Create policy (Crear directiva), seleccione la pestaña JSON.
b. En el documento de directiva, agregue el siguiente JSON:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:ListRoles" ], "Resource": "*" } ] }c. Seleccione Review policy (Revisar directiva) para validar la directiva.

Defina la nueva directiva.

a. En Name (Nombre), escriba AzureAD_SSOUserRole_Policy.
b. En Description (Descripción), escriba Esta directiva permitirá obtener los roles de cuentas de AWS.
c. Seleccione Crear una directiva.
Cree una nueva cuenta de usuario en el servicio IAM de AWS.
a. En la consola de IAM de AWS, seleccione Users (Usuarios).

b. Para crear un nuevo usuario, seleccione Add user (Agregar usuario).

c. En la sección Add user (Agregar usuario):

Escriba el nombre de usuario como AzureADRoleManager.
Para el tipo de acceso, seleccione Programmatic access (Acceso mediante programación). De este modo, el usuario puede llamar a las API y obtener los roles de la cuenta de AWS.
Seleccione Next Permissions (Siguientes permisos).
Cree una nueva directiva para este usuario.

a. Seleccione Attach existing policies directly (Asociar directivas existentes directamente).
b. Busque la directiva recién creada en la sección de filtro AzureAD_SSOUserRole_Policy.
c. Seleccione la directiva y, a continuación, seleccione Next: Review (Siguiente: revisar).
Revise la directiva del usuario asociado.

a. Revise el nombre de usuario, el tipo de acceso y la directiva asociada al usuario.
b. Seleccione Create User (Crear usuario).
Descargue las credenciales de usuario de un usuario.

a. Copie el identificador de la clave de acceso y la clave de acceso secreta del usuario.
b. Escriba estas credenciales en la sección de aprovisionamiento de usuarios de Azure AD para obtener los roles de la consola de AWS.
c. Seleccione Cerrar.
Cómo configurar el aprovisionamiento de roles en AWS Single-Account Access
En el portal de administración de Azure AD, en la aplicación AWS, vaya a Aprovisionamiento.

Escriba la clave de acceso y la clave secreta en los campos Secreto de cliente y Token secreto respectivamente.

a. Escriba la clave de acceso de usuario de AWS en el campo Secreto de cliente.
b. Escriba el secreto de usuario de AWS en el campo Token secreto.
c. Seleccione Test Connection (Probar conexión).
d. Seleccione Guardar para guardar la configuración.
En la sección Configuración, en Estado de aprovisionamiento, seleccione Activado. Después, seleccione Guardar.

Nota
El servicio de aprovisionamiento solo importa roles de AWS en Azure AD. El servicio no aprovisiona los usuarios y grupos de Azure AD en AWS.
Nota
Después de guardar las credenciales de aprovisionamiento, debe esperar a que se ejecute el ciclo de sincronización inicial. Normalmente, la sincronización tarda aproximadamente 40 minutos en finalizar. Puede ver el estado en la parte inferior de la página Aprovisionamiento, en Estado actual.
Creación de un usuario de prueba de AWS Single-Account Access
El objetivo de esta sección es crear un usuario llamado B. Simon en AWS Single-Account Access. AWS Single-Account Access no necesita que se cree un usuario en su sistema para el inicio de sesión único, por lo que no es necesario realizar ninguna acción aquí.
Prueba de SSO
En esta sección, probará la configuración de inicio de sesión único de Azure AD con las siguientes opciones.
Iniciado por SP:
Haga clic en Probar esta aplicación en Azure Portal. Esta acción le redirigirá a la dirección URL de inicio de sesión de AWS Single-Account Access, donde puede iniciar el flujo de inicio de sesión.
Vaya directamente a la dirección URL de inicio de sesión de AWS Single-Account Access e inicie el flujo de inicio de sesión desde allí.
Iniciado por IDP:
- Haga clic en Probar esta aplicación en Azure Portal; debería iniciar sesión automáticamente en la instancia de AWS Single-Account Access para la que configuró el inicio de sesión único.
También puede usar Aplicaciones de Microsoft para probar la aplicación en cualquier modo. Al hacer clic en el icono de AWS Single-Account Access en Mis aplicaciones, si se ha configurado en modo SP, se le redirigirá a la página de inicio de sesión de la aplicación para comenzar el flujo de inicio de sesión; y si se ha configurado en modo IDP, se debería iniciar sesión automáticamente en la instancia de AWS Single-Account Access para la que configuró el inicio de sesión único. Para más información acerca de Aplicaciones, consulte Inicio de sesión e inicio de aplicaciones desde el portal Aplicaciones.
Problemas conocidos
La integración del aprovisionamiento de AWS Single-Account Access solo se puede usar para conectarse a puntos de conexión de nube pública de AWS. No se puede usar dicha integración para acceder a entornos de AWS para el sector gubernamental.
En la sección Aprovisionamiento, en la subsección Asignaciones aparece un mensaje del tipo "Cargando..." y no se muestran las asignaciones de atributos. El único flujo de trabajo de aprovisionamiento que se admite actualmente es la importación de roles desde AWS a Azure AD para su selección durante la asignación de usuarios o grupos. Las asignaciones de atributos para esto vienen predeterminadas y no se pueden configurar.
La sección Aprovisionamiento solo admite escribir un conjunto de credenciales para un inquilino de AWS cada vez. Todos los roles importados se escriben en la propiedad
appRolesdel objetoservicePrincipalde Azure AD para el inquilino de AWS.Se pueden agregar varios inquilinos de AWS (representados por
servicePrincipals) a Azure AD desde la galería para el aprovisionamiento. Sin embargo, existe un problema conocido que impide escribir automáticamente todos los roles importados desde los diversos objetosservicePrincipalsde AWS usados para el aprovisionamiento en el único objetoservicePrincipalusado para SSO.Una posible solución alternativa consiste en usar Microsoft Graph API para extraer todos los objetos
appRolesimportados en cada objetoservicePrincipalde AWS en los que esté configurado el aprovisionamiento. Posteriormente, puede agregar estas cadenas de roles a objetoservicePrincipalde AWS donde se configura el inicio de sesión único.Los roles deben cumplir los siguientes requisitos para que se puedan importar desde AWS en Azure AD:
- Los roles deben tener exactamente un proveedor SAML definido en AWS
- La longitud combinada del ARN (nombre del recurso de Amazon) del rol y el ARN para el proveedor de SAML asociado debe ser de 240 caracteres como máximo.
Registro de cambios
- 01/12/2020: mayor límite de longitud de rol, de 119 a 239 caracteres.
Pasos siguientes
Una vez que haya configurado AWS Single-Account Access, podrá aplicar el control de sesión, que protege su organización en tiempo real frente a la filtración e infiltración de información confidencial. El control de sesión procede del acceso condicional. Aprenda a aplicar el control de sesión con Microsoft Defender para aplicaciones en la nube.