

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Implémentez l'authentification SAML 2.0 pour Amazon WorkSpaces en utilisant Auth0 et AWS Managed Microsoft AD
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad"></a>

*Siva Vinnakota et Shantanu Padhye, Amazon Web Services*

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

Ce modèle explique comment intégrer Auth0 AWS Directory Service for Microsoft Active Directory pour créer une solution d'authentification SAML 2.0 robuste pour votre environnement Amazon WorkSpaces . Il explique comment établir une fédération entre ces éléments Services AWS pour activer des fonctionnalités avancées telles que l'authentification multifactorielle (MFA) et les flux de connexion personnalisés tout en préservant un accès fluide aux postes de travail. AWS Managed Microsoft AD Que vous ne gériez qu'une poignée ou des milliers d'utilisateurs, cette intégration apporte flexibilité et sécurité à votre entreprise. Ce modèle fournit les étapes du processus de configuration afin que vous puissiez implémenter cette solution dans votre propre environnement.

## Conditions préalables et limitations
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-prereqs"></a>

**Prérequis**
+ Un actif Compte AWS
+ AWS Managed Microsoft AD
+ Un poste de travail provisionné dans Amazon WorkSpaces Personal associé à AWS Managed Microsoft AD
+ Une instance Amazon Elastic Compute Cloud (Amazon EC2)
+ Un compte Auth0

**Limites**

Certains Services AWS ne sont pas disponibles du tout Régions AWS. Pour connaître la disponibilité par région, voir [Services AWS par région](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Pour des points de terminaison spécifiques, consultez la page [Points de terminaison et quotas du service](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html), puis choisissez le lien vers le service.

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

Le processus d'authentification SAML 2.0 pour une application WorkSpaces cliente comprend cinq étapes illustrées dans le schéma suivant. Ces étapes constituent un flux de travail typique pour la connexion. Vous pouvez utiliser cette approche distribuée de l'authentification après avoir suivi les instructions de ce modèle, afin de fournir une méthode structurée et sécurisée pour l'accès des utilisateurs.

![Flux de travail pour le processus d'authentification SAML 2.0 pour une application WorkSpaces cliente.](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/5a0f227c-c111-495b-9fde-98ae7832bb10/images/957b2a11-e898-4c4f-ae4e-c2e85bfa93a0.png)


 Flux de travail :

1. **Inscription**. L'utilisateur lance l'application client pour son répertoire compatible SAML WorkSpaces WorkSpaces et saisit le code WorkSpaces d'enregistrement pour celui-ci. WorkSpaces renvoie l'URL du fournisseur d'identité (IdP) Auth0 à l'application cliente.

1. **Connectez-vous.**Le WorkSpaces client redirige vers le navigateur Web de l'utilisateur à l'aide de l'URL Auth0.  L'utilisateur s'authentifie à l'aide de son nom d'utilisateur et de son mot de passe. Auth0 renvoie une assertion SAML au navigateur client. L'assertion SAML est un jeton chiffré qui affirme l'identité de l'utilisateur.

1. **Authentifier.** Le navigateur client publie l'assertion SAML sur le Connexion à AWS point de terminaison pour la valider. Connexion à AWS permet à l'appelant d'assumer un rôle Gestion des identités et des accès AWS (IAM). Cela renvoie un jeton contenant des informations d'identification temporaires pour le rôle IAM.

1. **WorkSpaces connexion**. Le WorkSpaces client présente le jeton au point de terminaison du WorkSpaces service. WorkSpaces échange le jeton contre un jeton de session et renvoie le jeton de session au WorkSpaces client avec une URL de connexion. Lorsque le WorkSpaces client charge la page de connexion, la valeur du nom d'utilisateur est renseignée par la `NameId` valeur transmise dans la réponse SAML.

1. **Diffusion en continu**. L'utilisateur saisit son mot de passe et s'authentifie auprès de l' WorkSpaces annuaire. Après authentification, WorkSpaces renvoie un jeton au client. Le client est redirigé vers le WorkSpaces service et présente le jeton. Cela organise une session de streaming entre le WorkSpaces client et le WorkSpace.

**Note**  
Pour configurer une expérience d'authentification unique fluide qui ne nécessite pas de demande de mot de passe, consultez les sections [Authentification basée sur un certificat et WorkSpaces Personnel](https://docs.aws.amazon.com/workspaces/latest/adminguide/certificate-based-authentication.html) dans la documentation. WorkSpaces 

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

**Services AWS**
+ [Amazon WorkSpaces](https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces.html) est un service d'infrastructure de bureau virtuel (VDI) entièrement géré qui fournit aux utilisateurs des postes de travail basés sur le cloud sans avoir à acheter et à déployer du matériel ou à installer des logiciels complexes.
+ [AWS Directory Service for Microsoft Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html)permet à vos charges de travail et à vos AWS ressources sensibles aux annuaires d'utiliser Microsoft Active Directory dans le. AWS Cloud

**Autres outils**
+ [Auth0](https://auth0.com/) est une plateforme d'authentification et d'autorisation qui vous aide à gérer l'accès à vos applications.

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

### Configurer le connecteur LDAP Active Directory dans Auth0
<a name="configure-the-active-directory-ldap-connector-in-auth0"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Installez le connecteur LDAP Active Directory dans Auth0 avec. AWS Managed Microsoft AD | 1. Connectez-vous au tableau de bord Auth0 et choisissez **Authentication**, **Enterprise**, **Active Directory/LDAP**. Choisissez **Créer une connexion**.<br />2. Entrez le nom de votre connexion Active Directory, puis choisissez **Create**.<br />3. Dans l'onglet **Configuration**, téléchargez l'agent correspondant à votre système d'exploitation.<br />Lorsque l'installation est terminée, votre navigateur par défaut affiche une invite à saisir l'URL du ticket.<br />4. Entrez l'URL du ticket d'approvisionnement, qui doit être unique pour votre chaîne de connexion, puis choisissez **Continuer**.<br />5. Dans la boîte de dialogue de **configuration AD LDAP**, pour **Nom d'utilisateur** et **mot de passe**, entrez vos informations d'identification d'administrateur, puis choisissez **Enregistrer**.<br />Lorsque la connexion à Auth0 est établie, le journal de configuration s'affiche avec un état de rapport **OK** pour toutes les vérifications. | Administrateur cloud, architecte cloud | 
| Créez une application dans Auth0 pour générer le fichier manifeste de métadonnées SAML. | 1. Connectez-vous au tableau de bord Auth0 et créez une nouvelle application en suivant les instructions de la documentation [Auth0](https://auth0.com/docs/get-started/auth0-overview/create-applications).<br />2. Sur le tableau de bord Auth0, choisissez le nom de l'application pour accéder à ses paramètres de configuration. **AddOns**Dans l'onglet, choisissez **SAML2 Web App**.<br />3. Dans l'onglet **Paramètres** du module complémentaire, pour l'**URL de rappel de l'application**, entrez **https://signin.aws.amazon.com/saml.** C'est ici que le jeton SAML enverra la `POST` demande.<br />4. Dans l'onglet **Paramètres**, dans la zone **Paramètres**, collez le code de configuration SAML suivant au format 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. Enregistrez, puis choisissez **Activer**.<br />6. Choisissez l'onglet **Utilisation** et téléchargez le fichier manifeste de métadonnées pour le fournisseur d'identité. Ces informations sont requises pour les étapes suivantes.<br />7. Fermez la fenêtre de **l'application SAML2 Web**.<br />8. Sur l'écran des applications, choisissez **Connexions**. Sous **Enterprise**, sélectionnez le Directory/LDAP connecteur actif approprié et activez-le. | Administrateur cloud, architecte cloud | 

### Configuration de l'IdP, du rôle et de la politique pour SAML 2.0 dans IAM
<a name="set-up-idp-role-and-policy-for-saml-2-0-in-iam"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un IdP SAML 2.0 dans IAM. | Pour configurer SAML 2.0 en tant qu'IdP, suivez les étapes décrites [dans la section Création d'un fournisseur d'identité SAML dans IAM dans la documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html) IAM. | Administrateur du cloud | 
| Créez un rôle et une politique IAM pour la fédération SAML 2.0. | 1. Créez un rôle IAM pour la fédération SAML 2.0. Pour obtenir des instructions, reportez-vous à l'[étape 2](https://docs.aws.amazon.com/workspaces/latest/adminguide/setting-up-saml.html#create-saml-iam-role) des instructions de configuration de SAML 2.0 pour WorkSpaces Personal dans la WorkSpaces documentation.<br />2. Créez une politique IAM et associez-la au rôle que vous avez créé à l'étape précédente. Pour obtenir des instructions, reportez-vous à l'[étape 3](https://docs.aws.amazon.com/workspaces/latest/adminguide/setting-up-saml.html#embed-inline-policy) des instructions de configuration de SAML 2.0 pour WorkSpaces Personal dans la WorkSpaces documentation. | Administrateur du cloud | 

### Configurer les assertions dans Auth0
<a name="configure-assertions-in-auth0"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez les assertions Auth0 et SAML. | Vous pouvez utiliser les actions Auth0 pour configurer les assertions dans les réponses SAML 2.0. Une assertion SAML est un jeton chiffré qui affirme l'identité de l'utilisateur.1. Connectez-vous au tableau de bord Auth0. Choisissez **Actions**, **Bibliothèque**, **Créer une action**, **Construire à partir de zéro**.<br />2. Entrez les valeurs suivantes, puis choisissez **Create**.<br />**Nom : Spécifiez le nom de l'action**<br />**Déclencheur : Choisissez Login/Post Login**<br />**Runtime : Choisissez Node 18**<br />3. Sur l'écran suivant, entrez le code suivant :<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. Choisissez **Déployer**.<br />Ceci termine la configuration de l'authentification SAML 2.0 pour les bureaux WorkSpaces personnels. La section [Architecture](#implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-architecture) illustre le processus d'authentification après la configuration. | Administrateur du cloud | 

## Résolution des problèmes
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-troubleshooting"></a>


| Problème | Solution | 
| --- | --- | 
| Problèmes d'authentification SAML 2.0 dans WorkSpaces<br />** ** | Si vous rencontrez des problèmes lors de la mise en œuvre de l'authentification SAML 2.0 pour WorkSpaces Personal, suivez les étapes et les liens décrits dans l'[article AWS Re:Post](https://repost.aws/knowledge-center/workspaces-saml-authentication-issues) sur la résolution des problèmes liés à l'authentification SAML 2.0.<br />Pour plus d'informations sur l'analyse des erreurs SAML 2.0 lors de l'accès WorkSpaces, voir :+ [Comment créer un fichier HAR et les journaux de console depuis mon navigateur pour un AWS Support dossier ?](https://repost.aws/knowledge-center/support-case-browser-har-file) (AWS Re : post)<br />+ [Afficher une réponse SAML dans votre navigateur (documentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_saml_view-saml-response.html) IAM)  | 

## Ressources connexes
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-resources"></a>
+ [Configuration de SAML 2.0 pour le WorkSpaces personnel](https://docs.aws.amazon.com/workspaces/latest/adminguide/setting-up-saml.html) (WorkSpaces documentation)
+ [Documentation Auth0](https://auth0.com/docs)