

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
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad"></a>

*Siva Vinnakota y Shantanu Padhye, Amazon Web Services*

## Resumen
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-summary"></a>

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
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-prereqs"></a>

**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](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Para los puntos de conexión específicos, consulte la página [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) y elija el enlace del servicio.

## Arquitectura
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-architecture"></a>

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.](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/5a0f227c-c111-495b-9fde-98ae7832bb10/images/957b2a11-e898-4c4f-ae4e-c2e85bfa93a0.png)


 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.

1. **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.

1. **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.

1. **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.

1. **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](https://docs.aws.amazon.com/workspaces/latest/adminguide/certificate-based-authentication.html) en la documentación. WorkSpaces 

## Tools (Herramientas)
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-tools"></a>

**Servicios de AWS**
+ [Amazon WorkSpaces](https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces.html) 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 Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html)permite que sus cargas de trabajo y AWS recursos compatibles con directorios utilicen Microsoft Active Directory en. Nube de AWS

**Otras herramientas**
+ [Auth0](https://auth0.com/) es una plataforma de autenticación y autorización que lo ayuda a administrar el acceso a sus aplicaciones.

## Epics
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-epics"></a>

### Configuración de conector LDAP de Active Directory en Auth0
<a name="configure-the-active-directory-ldap-connector-in-auth0"></a>


| Tarea | Descripción | Habilidades 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**.<br />2. Proporcione el nombre de la conexión de Active Directory y, a continuación, elija **Crear**.<br />3. En la pestaña **Configuración**, descargue el agente para su sistema operativo.<br />Cuando se complete la instalación, su navegador predeterminado mostrará una petición de la URL del ticket.<br />4. Ingrese la URL del ticket de aprovisionamiento, que debe ser única para su cadena de conexión y, a continuación, elija **Continuar**.<br />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**.<br />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](https://auth0.com/docs/get-started/auth0-overview/create-applications).<br />2. En el panel de Auth0, elija el nombre de la aplicación para acceder a los ajustes de configuración. **En la **AddOns**pestaña, elija SAML2 Web App.**<br />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`.<br />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:<pre>{<br />  "audience": "https://signin.aws.amazon.com/saml",<br />  "mappings": {<br />    "email": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/sAMAccountName",<br />    "name": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"<br />  },<br />  "createUpnClaim": false,<br />  "passthroughClaimsWithNoMapping": false,<br />  "mapUnknownClaimsAsIs": false,<br />  "mapIdentities": false,<br />  "nameIdentifierFormat": "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent",<br />  "nameIdentifierProbes": [<br />    "http://schemas.auth0.com/sAMAccountName"<br />  ]<br />}</pre><br />5. Guarde y, a continuación, elija **Habilitar**.<br />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.<br />7. Cierre la ventana de la aplicación **SAML2 web**.<br />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 | 

### Configuración del IdP, el rol y la política para SAML 2.0 en IAM
<a name="set-up-idp-role-and-policy-for-saml-2-0-in-iam"></a>


| Tarea | Descripción | Habilidades 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html) 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](https://docs.aws.amazon.com/workspaces/latest/adminguide/setting-up-saml.html#create-saml-iam-role) de las instrucciones para configurar SAML 2.0 for WorkSpaces Personal de la WorkSpaces documentación.<br />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](https://docs.aws.amazon.com/workspaces/latest/adminguide/setting-up-saml.html#embed-inline-policy) de las instrucciones para configurar SAML 2.0 for WorkSpaces Personal de la WorkSpaces documentación. | Administrador de la nube | 

### Configuración de las aserciones en Auth0
<a name="configure-assertions-in-auth0"></a>


| Tarea | Descripción | Habilidades 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**.<br />2. Proporcione los valores siguientes y, a continuación, elija **Crear**.<br />**Nombre: especifique un nombre para la acción**<br />**Activador: selecciona Iniciar sesión Login/Post **<br />**Tiempo de ejecución: elija el nodo 18**<br />3. En la siguiente pantalla, ingrese el siguiente código:<pre>exports.onExecutePostLogin = async (event, api) => <br />{   if (event.client.name === "Workspace_Saml")<br />   {     const awsRole = 'arn:aws:iam::030784294031:role/Workspace_Auth0,arn:aws:iam::030784294031:saml-provider/Auth0';<br />     const awsRoleSession = event.user.sAMAccountName;<br />     const email = event.user.emails[0];<br />     api.samlResponse.setDestination('https://signin.aws.amazon.com/saml');<br />     api.samlResponse.setAttribute('https://aws.amazon.com/SAML/Attributes/Role', awsRole)<br />     api.samlResponse.setAttribute('https://aws.amazon.com/SAML/Attributes/RoleSessionName', awsRoleSession)<br />     api.samlResponse.setAttribute('https://aws.amazon.com/SAML/Attributes/PrincipalTag:Email', email)<br />   } return;<br />};</pre><br />4. Elija **Implementar**.<br />Esto completa la configuración de la autenticación SAML 2.0 para escritorios WorkSpaces personales. En la sección [Arquitectura](#implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-architecture) se ilustra el proceso de autenticación tras la configuración. | Administrador de la nube | 

## Resolución de problemas
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| Problemas de autenticación con SAML 2.0 en WorkSpaces<br />** ** | 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](https://repost.aws/knowledge-center/workspaces-saml-authentication-issues) sobre la solución de problemas de la autenticación SAML 2.0.<br />Para obtener información adicional sobre cómo investigar los errores de SAML 2.0 al acceder, consulta: WorkSpaces+ [¿Cómo creo un archivo HAR y los registros de la consola desde mi navegador en AWS Support caso de que se trate?](https://repost.aws/knowledge-center/support-case-browser-har-file) (AWS Re:POST)<br />+ [Ver una respuesta SAML en su navegador](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_saml_view-saml-response.html) (documentación de IAM)  | 

## Recursos relacionados
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-resources"></a>
+ [Configuración de SAML 2.0 para WorkSpaces uso personal](https://docs.aws.amazon.com/workspaces/latest/adminguide/setting-up-saml.html) (documentación) WorkSpaces 
+ [Documentación de Auth0](https://auth0.com/docs)