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 Auth0

Limitaciones

Algunas Servicios de AWS no están disponibles en todas Regiones de AWS. Para ver la disponibilidad por región, consulta Servicios de AWS por región. Para ver puntos de enlace específicos, consulta la página de puntos de enlace y cuotas del servicio y elige 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 para el 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. Iniciar 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 afirmación SAML al navegador del cliente. La afirmación 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. Transmisión. 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

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 le 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 control de Auth0 y elija Authentication, Enterprise, Active Directory o LDAP. Elija Crear una conexión.

  2. Proporcione el nombre de la conexión de Active Directory y, a continuación, seleccione 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 solicitud con la URL del ticket.

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

  5. En el cuadro de diálogo de configuración de LDAP de AD, en Nombre de usuario y contraseña, introduzca sus credenciales de administrador y, a continuación, seleccione Guardar.

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

Administrador de la nube, arquitecto de la nube

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

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

  2. En el panel de control de Auth0, elija el nombre de la aplicación para acceder a sus 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 donde el token SAML enviará la solicitud. POST

  4. En la pestaña Configuración, en el cuadro Configuración, pega 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. Guarda y, a continuación, selecciona Activar.

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

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

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

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

Cree un IdP de SAML 2.0 en IAM.

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

Administrador de la nube

Cree una función y una política de IAM 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 documentación. WorkSpaces

  2. Crea una política de IAM y asóciala al rol que creaste 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

Configure las aserciones Auth0 y SAML.

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

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

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

    Nombre: especifique un nombre para la acción

    Activador: elija Login/Post iniciar sesión

    Tiempo de ejecución: elija el nodo 18

  3. En la siguiente pantalla, introduce 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. La sección de arquitectura ilustra el proceso de autenticación tras la configuración.

Administrador de la nube

Solució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