Implemente la autenticación SAML 2.0 para Amazon WorkSpaces mediante Auth0 y AWS Managed Microsoft AD - Recomendaciones de AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Implemente la autenticación SAML 2.0 para Amazon WorkSpaces mediante Auth0 y AWS Managed Microsoft AD

Siva Vinnakota y Shantanu Padhye, Amazon Web Services

Resumen

Este patrón explora cómo puede integrar Auth0 AWS Directory Service for Microsoft Active Directory para crear una solución de autenticación SAML 2.0 sólida para su entorno de Amazon WorkSpaces . En él se explica cómo establecer una federación entre ellos Servicios de AWS para habilitar funciones avanzadas, como la autenticación multifactor (MFA) y los flujos de inicio de sesión personalizados, a la vez que se preserva el acceso ininterrumpido al escritorio. AWS Managed Microsoft AD Ya sea que administre solo unos pocos usuarios o miles, esta integración ayuda a proporcionar flexibilidad y seguridad a su organización. Este patrón proporciona los pasos del proceso de configuración para que pueda implementar esta solución en su propio entorno.

Requisitos previos y limitaciones

Requisitos previos

  • Un activo Cuenta de AWS

  • AWS Managed Microsoft AD

  • Un escritorio aprovisionado en Amazon WorkSpaces Personal que esté asociado a AWS Managed Microsoft AD

  • Una instancia de Amazon Elastic Compute Cloud (Amazon EC2)

  • Una cuenta de Auth0

Limitaciones

Algunas Servicios de AWS no están disponibles en todas Regiones de AWS. Para conocer la disponibilidad de las regiones, consulte Servicios de AWS by Region. Para los puntos de conexión específicos, consulte la página Service endpoints and quotas y elija el enlace del servicio.

Arquitectura

El proceso de autenticación con SAML 2.0 para una aplicación WorkSpaces cliente consta de cinco pasos que se ilustran en el siguiente diagrama. Estos pasos representan un flujo de trabajo típico para iniciar sesión. Puede usar este enfoque distribuido de autenticación después de seguir las instrucciones de este patrón para ayudar a proporcionar un método estructurado y seguro para el acceso de los usuarios.

Flujo de trabajo del proceso de autenticación con SAML 2.0 para una aplicación WorkSpaces cliente.

Flujo de trabajo:

  1. Registro. El usuario inicia la aplicación cliente WorkSpaces e introduce el código de WorkSpaces registro para su directorio compatible con SAML WorkSpaces . WorkSpaces devuelve la URL del proveedor de identidad (IdP) de Auth0 a la aplicación cliente.

  2. Inicio de sesión.El WorkSpaces cliente redirige al navegador web del usuario mediante la URL Auth0.  El usuario se autentica con su nombre de usuario y contraseña. Auth0 devuelve una aserción de SAML al navegador del cliente. La aserción de SAML es un token cifrado que afirma la identidad del usuario.

  3. Autenticar. El navegador del cliente publica la afirmación SAML en el AWS Sign-In punto final para validarla. AWS Sign-In permite a la persona que llama asumir una función AWS Identity and Access Management (IAM). Esto devuelve un token que contiene credenciales temporales para el rol de IAM.

  4. WorkSpaces iniciar sesión. El WorkSpaces cliente presenta el token al punto final del WorkSpaces servicio. WorkSpaces intercambia el token por un token de sesión y devuelve el token de sesión al WorkSpaces cliente con una URL de inicio de sesión. Cuando el WorkSpaces cliente carga la página de inicio de sesión, el valor del nombre de usuario se rellena con el NameId valor introducido en la respuesta de SAML.

  5. Streaming. El usuario introduce su contraseña y se autentica en el WorkSpaces directorio. Tras la autenticación, WorkSpaces devuelve un token al cliente. El cliente redirige de nuevo al WorkSpaces servicio y presenta el token. Esto gestiona una sesión de streaming entre el WorkSpaces cliente y el WorkSpace.

nota

Para configurar una experiencia de inicio de sesión único sin necesidad de solicitar una contraseña, consulta la sección sobre autenticación basada en certificados y WorkSpaces datos personales en la documentación. WorkSpaces

Tools (Herramientas)

Servicios de AWS

  • Amazon WorkSpaces es un servicio de infraestructura de escritorios virtuales (VDI) totalmente gestionado que proporciona a los usuarios escritorios basados en la nube sin tener que adquirir e implementar hardware ni instalar software complejo.

  • AWS Directory Service for Microsoft Active Directorypermite que sus cargas de trabajo y AWS recursos compatibles con directorios utilicen Microsoft Active Directory en. Nube de AWS

Otras herramientas

  • Auth0 es una plataforma de autenticación y autorización que lo ayuda a administrar el acceso a sus aplicaciones.

Epics

TareaDescripciónHabilidades requeridas

Instale el conector LDAP de Active Directory en Auth0 con. AWS Managed Microsoft AD

  1. Inicie sesión en el panel de Auth0 y elija Autenticación, Empresa, Active Directory / LDAP. Elija Crear una conexión.

  2. Proporcione el nombre de la conexión de Active Directory y, a continuación, elija Crear.

  3. En la pestaña Configuración, descargue el agente para su sistema operativo.

    Cuando se complete la instalación, su navegador predeterminado mostrará una petición de la URL del ticket.

  4. Ingrese la URL del ticket de aprovisionamiento, que debe ser única para su cadena de conexión y, a continuación, elija Continuar.

  5. En el cuadro de diálogo Configuración de LDAP de AD, en Nombre de usuario y Contraseña, ingrese sus credenciales de administrador y, a continuación, elija Guardar.

    Cuando se haya establecido la conexión con Auth0, se mostrará el registro de configuración con el estado de notificación Correcto para todas las comprobaciones.

Administrador de la nube, arquitecto de la nube

Crear una aplicación en Auth0 para generar el archivo de manifiesto de metadatos de SAML.

  1. Inicie sesión en el panel de Auth0 y cree una nueva aplicación siguiendo las instrucciones de la documentación de Auth0.

  2. En el panel de Auth0, elija el nombre de la aplicación para acceder a los ajustes de configuración. En la AddOnspestaña, elija SAML2 Web App.

  3. En la pestaña Configuración del complemento, en Application Callback URL, introduce https://signin.aws.amazon.com/saml. Aquí es a donde el token de SAML enviará la solicitud POST.

  4. En la pestaña Configuración, en el cuadro Configuración, pegue el siguiente código de configuración de SAML en formato JSON:

    { "audience": "https://signin.aws.amazon.com/saml", "mappings": { "email": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/sAMAccountName", "name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name" }, "createUpnClaim": false, "passthroughClaimsWithNoMapping": false, "mapUnknownClaimsAsIs": false, "mapIdentities": false, "nameIdentifierFormat": "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent", "nameIdentifierProbes": [ "http://schemas.auth0.com/sAMAccountName" ] }
  5. Guarde y, a continuación, elija Habilitar.

  6. Elija la pestaña Uso y descargue el archivo de manifiesto de metadatos del proveedor de identidades. Esta información se necesita para los siguientes pasos.

  7. Cierre la ventana de la aplicación SAML2 web.

  8. En la pantalla de aplicaciones, elija Conexiones. En Enterprise, seleccione el Directory/LDAP conector activo correcto y actívelo.

Administrador de la nube, arquitecto de la nube
TareaDescripciónHabilidades requeridas

Crear un IdP de SAML 2.0 en IAM.

Para configurar SAML 2.0 como IdP, siga los pasos que se describen en Crear un proveedor de identidades de SAML en IAM en la documentación de IAM.

Administrador de la nube

Crear un rol de IAM y una política para la federación de SAML 2.0.

  1. Cree un rol de IAM para la federación de SAML 2.0. Para obtener instrucciones, consulta el paso 2 de las instrucciones para configurar SAML 2.0 for WorkSpaces Personal de la WorkSpaces documentación.

  2. Cree una política de IAM y asóciela al rol que creó en el paso anterior. Para obtener instrucciones, consulta el paso 3 de las instrucciones para configurar SAML 2.0 for WorkSpaces Personal de la WorkSpaces documentación.

Administrador de la nube
TareaDescripciónHabilidades requeridas

Configurar Auth0 y las aserciones de SAML.

Puede usar las acciones de Auth0 para configurar las aserciones en las respuestas de SAML 2.0. Una aserción de SAML es un token cifrado que afirma la identidad del usuario.

  1. Inicie sesión en el panel de Auth0. Elija Acciones, Biblioteca, Crear acción, Crear desde cero.

  2. Proporcione los valores siguientes y, a continuación, elija Crear.

    Nombre: especifique un nombre para la acción

    Activador: selecciona Iniciar sesión Login/Post

    Tiempo de ejecución: elija el nodo 18

  3. En la siguiente pantalla, ingrese el siguiente código:

    exports.onExecutePostLogin = async (event, api) => { if (event.client.name === "Workspace_Saml") { const awsRole = 'arn:aws:iam::030784294031:role/Workspace_Auth0,arn:aws:iam::030784294031:saml-provider/Auth0'; const awsRoleSession = event.user.sAMAccountName; const email = event.user.emails[0]; api.samlResponse.setDestination('https://signin.aws.amazon.com/saml'); api.samlResponse.setAttribute('https://aws.amazon.com/SAML/Attributes/Role', awsRole) api.samlResponse.setAttribute('https://aws.amazon.com/SAML/Attributes/RoleSessionName', awsRoleSession) api.samlResponse.setAttribute('https://aws.amazon.com/SAML/Attributes/PrincipalTag:Email', email) } return; };
  4. Elija Implementar.

Esto completa la configuración de la autenticación SAML 2.0 para escritorios WorkSpaces personales. En la sección Arquitectura se ilustra el proceso de autenticación tras la configuración.

Administrador de la nube

Resolución de problemas

ProblemaSolución

Problemas de autenticación con SAML 2.0 en WorkSpaces

Si tienes algún problema al implementar la autenticación SAML 2.0 para WorkSpaces Personal, sigue los pasos y enlaces que se describen en el artículo de AWS Re:post sobre la solución de problemas de la autenticación SAML 2.0.

Para obtener información adicional sobre cómo investigar los errores de SAML 2.0 al acceder, consulta: WorkSpaces

Recursos relacionados