Tutorial: integración del inicio de sesión único (SSO) de Microsoft Entra con AWS Single-Account Access

En este tutorial, aprenderá a integrar AWS ClientVPN con Microsoft Entra ID. Al integrar AWS Single-Account Access con Microsoft Entra ID, podrá hacer lo siguiente:

  • Controlar en Microsoft Entra ID 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 Microsoft Entra.
  • Administre sus cuentas en una ubicación central.

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 Microsoft Entra.

AWS Single Sign-On

AWS Single Sign-On se agregó a la galería de aplicaciones de Microsoft Entra 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 Entra ID. Federe Microsoft Entra ID 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 Microsoft Entra 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 Microsoft Entra ID con una sola cuenta de AWS y usar Microsoft Entra ID 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 Microsoft Entra se federan con AWS IAM, asignan usuarios o grupos a la cuenta y configuran Microsoft Entra ID 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 Compatible No compatible
Administración de cuentas centralizada Centralice la administración de cuentas en AWS. Centralice la administración de cuentas en Microsoft Entra ID (probablemente requerirá una aplicación empresarial Microsoft Entra por cuenta).
Certificado SAML Un solo certificado Certificados diferentes por aplicación o cuenta

Arquitectura de AWS Single-Account Access

Screenshot showing Microsoft Entra ID and AWS relationship.

Puede configurar varios identificadores para varias instancias. Por ejemplo:

  • https://signin.aws.amazon.com/saml#1

  • https://signin.aws.amazon.com/saml#2

Con estos valores, Microsoft Entra ID 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 Microsoft Entra ID 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 Microsoft Entra ID.

Nota:

Asegúrese de usar solo una aplicación de la galería.

Prerrequisitos

Para empezar, necesita los siguientes elementos:

  • Una suscripción a Microsoft Entra. Si no tiene una suscripción, puede obtener una cuenta gratuita.
  • Una suscripción habilitada para el IdP de IAM de AWS.
  • Junto con el administrador de aplicaciones en la nube, el administrador de aplicaciones también puede agregar o administrar aplicaciones en Microsoft Entra ID. Para más información, consulte Roles integrados en Azure.

Nota:

Los roles no deben editarse manualmente en Microsoft Entra ID al realizar importaciones de roles.

Descripción del escenario

En este tutorial va a configurar y probar el inicio de sesión único de Microsoft Entra 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.

Para configurar la integración de AWS Single-Account Access en Microsoft Entra ID, será preciso que agregue AWS Single-Account Access desde la galería a la lista de aplicaciones SaaS administradas.

  1. Inicie sesión en el Centro de administración de Microsoft Entra como Administrador de aplicaciones en la nube.
  2. Vaya a Identidad>Aplicaciones>Aplicaciones empresariales>Nueva aplicación.
  3. En la sección Agregar desde la galería, escriba AWS Single-Account Access en el cuadro de búsqueda.
  4. 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.

Si lo desea, puede usar también el asistente para la configuración de aplicaciones empresariales. En este asistente puede agregar una aplicación al inquilino, agregar usuarios o grupos a la aplicación y asignar roles, así como recorrer la configuración de SSO. Obtenga más información sobre los asistentes de Microsoft 365.

Si lo desea, puede usar también el asistente para la configuración de aplicaciones empresariales. En este asistente puede agregar una aplicación al inquilino, agregar usuarios o grupos a la aplicación y asignar roles, así como recorrer la configuración de SSO. Aquí encontrará más información sobre los asistentes de O365.

Configuración y prueba del inicio de sesión único de Microsoft Entra para AWS Single-Account Access

Configure y pruebe el inicio de sesión único de Microsoft Entra 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 Microsoft Entra y el usuario relacionado de AWS Single-Account Access.

Para configurar y probar el inicio de sesión único de Microsoft Entra con AWS Single-Account Access, siga los pasos a continuación:

  1. Configuración del inicio de sesión único de Microsoft Entra, para que los usuarios puedan utilizar esta característica.
    1. Cree un usuario de prueba de Microsoft Entra para probar el inicio de sesión único de Microsoft Entra con B.Simon.
    2. Asigne el usuario de prueba de Microsoft Entra, para permitir que B.Simon use el inicio de sesión único de Microsoft Entra.
  2. 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.
    1. 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 Microsoft Entra.
    2. Cómo configurar el aprovisionamiento de roles en AWS Single-Account Access
  3. Prueba del inicio de sesión único : para comprobar si la configuración funciona.

Configuración del inicio de sesión único de Microsoft Entra

Siga estos pasos para habilitar el SSO de Microsoft Entra.

  1. Inicie sesión en el Centro de administración de Microsoft Entra como Administrador de aplicaciones en la nube.

  2. Vaya a Identidad>Aplicaciones>Aplicaciones empresariales>AWS Single-Account Access>Inicio de sesión único.

  3. En la página Seleccione un método de inicio de sesión único, elija SAML.

  4. En la página Configuración del inicio de sesión único con SAML, haga clic en el icono de lápiz de Configuración básica de SAML para editar la configuración.

    Screenshot showing Edit Basic SAML Configuration.

  5. 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.

  6. 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#2

  7. La 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.

    Screenshot showing default attributes.

  8. 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/Attributes
    Role user.assignedroles https://aws.amazon.com/SAML/Attributes
    SessionDuration user.sessionduration https://aws.amazon.com/SAML/Attributes

    Nota:

    AWS espera roles para los usuarios asignados a la aplicación. Configure estos roles en Microsoft Entra ID para que se puedan asignar los roles correspondientes a los usuarios. Para comprender cómo configurar roles en Microsoft Entra ID, consulte este vínculo.

  9. 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.

    Screenshot showing Create new SAML Certificate.

  10. 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.

    Screenshot showing New SAML Certificate.

  11. 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.

    Screenshot showing the Certificate download link.

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

    Screenshot showing Copy configuration URLs.

Cree un usuario de prueba de Microsoft Entra

En esta sección, se crea un usuario llamado B.Simon.

  1. Inicie sesión en el Centro de administración de Microsoft Entra al menos como Administrador de usuario.
  2. Vaya aIdentidad>Usuarios>Todos los usuarios.
  3. Seleccione Nuevo usuario>Crear nuevo usuario, en la parte superior de la pantalla.
  4. En las propiedades del usuario, siga estos pasos:
    1. En el campo Nombre para mostrar, escriba B.Simon.
    2. En el campo Nombre principal de usuario, escriba username@companydomain.extension. Por ejemplo, B.Simon@contoso.com.
    3. Active la casilla Show password (Mostrar contraseña) y, después, anote el valor que se muestra en el cuadro Contraseña.
    4. Seleccione Revisar + crear.
  5. Seleccione Crear.

Asignación del usuario de prueba de Microsoft Entra

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.

  1. Inicie sesión en el Centro de administración de Microsoft Entra como Administrador de aplicaciones en la nube.
  2. Vaya a Identidad>Aplicaciones>Aplicaciones empresariales>AWS Single-Account Access.
  3. En la página de información general de la aplicación, seleccione Usuarios y grupos.
  4. Seleccione Agregar usuario o grupo. A continuación, en el cuadro de diálogo Agregar asignación, seleccione Usuarios y grupos.
    1. 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.
    2. 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".
    3. 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

  1. En otra ventana del explorador, inicie sesión en su sitio de la compañía de AWS como administrador.

  2. En la página principal de AWS, busque IAM y haga clic ahí.

    Screenshot of AWS services page, with IAM highlighted.

  3. Vaya a Administración de acceso ->Proveedores de identidades y haga clic en el botón Agregar proveedor.

    Screenshot of IAM page, with Identity Providers and Create Provider highlighted.

  4. En la página Agregar un proveedor de identidades, siga estos pasos:

    Screenshot of Configure Provider.

    a. En Tipo de proveedor, seleccione SAML.

    b. En Nombre de proveedor, escriba un nombre de proveedor (por ejemplo, WAAD).

    c. Para cargar el archivo de metadatos descargado, seleccione Elegir archivo.

    d. Haga clic en Agregar proveedor.

  5. Seleccione Roles>Create role (Crear rol).

    Screenshot of Roles page.

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

    Screenshot of Create role page.

    a. Elija Tipo de entidad de confianza, seleccione Federación de SAML 2.0.

    b. En Proveedor basado en 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.

  7. En el cuadro de diálogo Directivas de permisos, adjunte la directiva adecuada según su organización. Seleccione Siguiente.

    Screenshot of Attach permissions policy dialog box.

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

    Screenshot of Review dialog box.

    a. En Role name (Nombre de rol), escriba el nombre de su rol.

    b. En Descripción, escriba la descripción.

    c. Seleccione Create Role (Crear rol).

    d. Cree tantos roles como sea necesario y asígnelos al proveedor de identidades.

  9. Use credenciales de cuenta de servicio de AWS para obtener los roles de cuenta de AWS en aprovisionamiento de usuarios de Microsoft Entra. Para ello, abra la página principal de la consola de AWS.

  10. En la sección IAM, seleccione Directivas y haga clic en Crear directiva.

    Screenshot of IAM section, with Policies highlighted.

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

    Screenshot of Create policy page, with JSON highlighted.

    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. Haga clic en Siguiente: Etiquetas.

  12. También puede agregar las etiquetas necesarias en la página siguiente y hacer clic en Siguiente: Revisar.

    Screenshot of Create policy tag page.

  13. Defina la nueva directiva.

    Screenshot of Create policy page, with Name and Description fields highlighted.

    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.

  14. Cree una nueva cuenta de usuario en el servicio IAM de AWS.

    a. En la consola de IAM de AWS, seleccione Usuarios y haga clic en Agregar usuarios.

    Screenshot of AWS IAM console, with Users highlighted.

    b. En la sección Especificar detalles del usuario, escriba el nombre de usuario como AzureADRoleManager y seleccione Siguiente.

    Screenshot of Add user page, with User name and Access type highlighted.

    c. Cree una nueva directiva para este usuario.

    Screenshot shows the Add user page where you can create a policy for the user.

    d. Seleccione Attach existing policies directly (Asociar directivas existentes directamente).

    e. Busque la directiva recién creada en la sección de filtro AzureAD_SSOUserRole_Policy.

    f. Seleccione la directiva y, a continuación, seleccione Siguiente.

  15. Revise sus opciones y seleccione Crear usuario.

  16. Para descargar las credenciales de usuario de un usuario, habilite el acceso a la consola en la pestaña Credenciales de seguridad.

    Screenshot shows the Security credentials.

  17. Escriba estas credenciales en la sección de aprovisionamiento de usuarios de Microsoft Entra para obtener los roles de la consola de AWS.

    Screenshot shows the download the user credentials.

Nota:

AWS tiene un conjunto de permisos o límites necesarios para configurar el inicio de sesión único de AWS. Para más información sobre los límites de AWS, consulte esta página.

Cómo configurar el aprovisionamiento de roles en AWS Single-Account Access

  1. En el portal de administración de Microsoft Entra, en la aplicación AWS, acceda a Aprovisionamiento.

    Screenshot of AWS app, with Provisioning highlighted.

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

    Screenshot of Admin Credentials dialog box.

    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.

  3. En la sección Configuración, en Estado de aprovisionamiento, seleccione Activado. Después, seleccione Guardar.

    Screenshot of Settings section, with On highlighted.

Nota:

El servicio de aprovisionamiento solo importa roles de AWS en Microsoft Entra ID. El servicio no aprovisiona los usuarios y grupos de Microsoft Entra ID 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 va a probar la configuración de inicio de sesión único de Microsoft Entra con las siguientes opciones.

Iniciado por SP:

  • Haga clic en Probar esta aplicación; esta acción le redirigirá a la dirección URL de inicio de sesión de AWS Single-Account Access, donde puede comenzar 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; debería iniciar sesión automáticamente en la instancia de AWS Single-Account Access para la que ha configurado 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 de aprovisionamiento de acceso con una sola cuenta a AWS no se puede usar en las regiones de AWS China.

  • 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 Microsoft Entra ID 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 appRoles del servicePrincipalobjeto de Microsoft Entra ID para el inquilino de AWS.

    Se pueden agregar varios inquilinos de AWS (representados por servicePrincipals) a Microsoft Entra ID 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 objetos servicePrincipals de AWS usados para el aprovisionamiento en el único objeto servicePrincipal usado para SSO.

    Una posible solución alternativa consiste en usar Microsoft Graph API para extraer todos los objetos appRoles importados en cada objeto servicePrincipal de AWS en los que esté configurado el aprovisionamiento. Posteriormente, puede agregar estas cadenas de roles a objeto servicePrincipal de 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 Microsoft Entra ID:

    • 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.