

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.

# Utiliser l'authentification externe
<a name="external-authentication"></a>

Par défaut, l'authentification du client Amazon DCV est déléguée au système d'exploitation sous-jacent. Avec les serveurs Windows Amazon DCV, l'authentification est déléguée à WinLogon. Avec les serveurs Amazon DCV Linux et macOS, l'authentification est déléguée à Linux PAM.

Vous pouvez configurer Amazon DCV pour utiliser un serveur d'authentification externe pour authentifier les clients. Cela vous permet d'utiliser un système d'authentification existant. Avec l'authentification externe, Amazon DCV exploite vos mécanismes de connexion existants et délègue l'authentification à un serveur d'authentification externe. 

L'authentification externe valide un utilisateur ayant accès au serveur DCV pour permettre l'utilisation de la création de session. Il n'authentifiera pas votre utilisateur par rapport au système d'exploitation sous-jacent comme le fait l'authentification **système**, sauf si vous configurez votre propre authentificateur externe pour le faire.

Le [gestionnaire de session DCV](https://docs.aws.amazon.com/dcv/latest/sm-admin/what-is-sm.html) est livré avec un authentificateur externe intégré. Pour utiliser cette fonctionnalité, vos serveurs DCV devront définir le [auth-token-verifier](https://docs.aws.amazon.com/dcv/latest/sm-admin/configure-dcv-server.html)paramètre avec l'adresse du gestionnaire de session.

Pour utiliser un serveur d'authentification externe, vous devez disposer des éléments suivants :
+ **Un mécanisme de connexion** : il s'agit du mécanisme frontal que vos utilisateurs utilisent pour se connecter. Il doit être en mesure de vérifier vos utilisateurs à l'aide de votre système de vérification des informations d'identification existant et il doit être en mesure de générer un jeton et de le fournir au serveur Amazon DCV. Pour de plus amples informations, veuillez consulter [Utilisation du jeton](#using-token).
+ **Un serveur d'authentification** : il s'agit du serveur qui authentifie le jeton généré par le mécanisme de connexion. Ce serveur doit être en mesure de recevoir une requête HTTP (S) POST du serveur Amazon DCV incluant le jeton, d'effectuer les authentifications nécessaires, puis de renvoyer la réponse au serveur Amazon DCV. Pour plus d'informations sur la mise en œuvre d'un serveur d'authentification, consultez[Exigences relatives au service d'authentification](#configure-authenticator).
+ **Configuration du serveur Amazon DCV** —Le serveur Amazon DCV doit être configuré pour utiliser un serveur d'authentification externe. Pour de plus amples informations, veuillez consulter [Configuration du serveur Amazon DCV](#configure-server).

**Topics**
+ [Configuration du serveur Amazon DCV](#configure-server)
+ [Utilisation du jeton](#using-token)
+ [Exigences relatives au service d'authentification](#configure-authenticator)

## Configuration du serveur Amazon DCV
<a name="configure-server"></a>

Vous devez configurer le serveur Amazon DCV pour utiliser le service d'authentification externe.

------
#### [ Windows Amazon DCV server ]

**Pour spécifier un serveur d'authentification externe sous Windows**

1. Ouvrez l’Éditeur du Registre Windows.

1. Accédez à la **clé HKEY\_USERS \\ S-1-5-18 \\ Software \\ \\ com\\nicesoftware GSettings \\ dcv \\**.

1. Localisez le **auth-token-verifier**paramètre dans les [paramètres de sécurité](config-param-ref.md#security).

1. Effectuez l’une des actions suivantes :
   + Pour les **données de valeur**, entrez l'URL du serveur d'authentification externe et le port par lequel communiquer, au format suivant :`{{url}}:{{port}}`.  
**Example**  

     Par exemple, si vous utilisez le DcvSimpleExternalAuthenticator, spécifiez ce qui suit :`{{http://127.0.0.1}}:{{8444}}`.
   + S'il n'y a aucun **auth-token-verifier**paramètre dans la section de sécurité, ajoutez-le dans le PowerShell. Reportez-vous à la section [Modification des paramètres de configuration](https://docs.aws.amazon.com/dcv/latest/adminguide/config-param-ref-modify.html).

1. Ouvrez l'éditeur de Registre Windows.

1. [Arrêtez](manage-stop.md) et [redémarrez](manage-start.md) le serveur Amazon DCV.

------
#### [ Linux Amazon DCV server ]

**Pour spécifier un serveur d'authentification externe sous Linux**

1. Accédez à `/etc/dcv/` et ouvrez `dcv.conf` avec l'éditeur de texte de votre choix.

1. Localisez le `auth-token-verifier` paramètre dans la `[security]` section, et remplacez la valeur existante par l'URL du serveur d'authentification externe et le port sur lequel communiquer, au format suivant :`{{url}}:{{port}}`. Par exemple, si vous utilisez le DcvSimpleExternalAuthenticator, spécifiez ce qui suit :`{{http://127.0.0.1}}:{{8444}}`.

   S'il n'existe pas de paramètre `auth-token-verifier` dans la section `[security]`, ajoutez-le manuellement en respectant le format suivant :

   ```
   [security] auth-token-verifier={{url}}:{{port}}
   ```

1. Enregistrez et fermez le fichier .

------
#### [ macOS Amazon DCV server ]

**Pour spécifier un serveur d'authentification externe sous macOS**

1. Accédez à `/etc/dcv/` et ouvrez `dcv.conf` avec l'éditeur de texte de votre choix.

1. Localisez le `auth-token-verifier` paramètre dans la `[security]` section, et remplacez la valeur existante par l'URL du serveur d'authentification externe et le port sur lequel communiquer, au format suivant :`{{url}}:{{port}}`. Par exemple, si vous utilisez le DcvSimpleExternalAuthenticator, spécifiez ce qui suit :`{{http://127.0.0.1}}:{{8444}}`.

   S'il n'existe pas de paramètre `auth-token-verifier` dans la section `[security]`, ajoutez-le manuellement en respectant le format suivant :

   ```
   [security] auth-token-verifier={{url}}:{{port}}
   ```

1. Enregistrez et fermez le fichier .

------

## Utilisation du jeton
<a name="using-token"></a>

Une fois que vous avez généré le jeton, vous devez être en mesure de l'envoyer au serveur Amazon DCV. Avec le client de navigateur Web, ajoutez le jeton à l'URL de connexion comme suit :

```
https://{{server_hostname_or_IP}}:{{port}}/?authToken={{token}}#{{session_id}}
```

Par exemple :

```
https://my-dcv-server.com:8443/?authToken=1234567890abcdef#my-session
```

## Exigences relatives au service d'authentification
<a name="configure-authenticator"></a>

Votre service d'authentification personnalisé peut s'exécuter sur le même hôte que le serveur Amazon DCV ou sur un hôte distinct. Le service d'authentification doit écouter les requêtes HTTP (S) POST du serveur Amazon DCV.

Ce qui suit montre le format de requête POST utilisé par le serveur Amazon DCV.

```
POST / HTTP/1.1
Content-Type: application/x-www-form-urlencoded
sessionId={{session_id}}&authenticationToken={{token}}&clientAddress={{client_address}}
```

Votre service d'authentification est chargé de déterminer si le jeton fourni est valide.

Une fois le jeton validé, le serveur d'authentification doit renvoyer la réponse au serveur Amazon DCV. Le corps de la réponse doit inclure l'un des éléments suivants, en fonction du résultat du processus d'authentification :
+ Si l'authentification est réussie, le service d'authentification renvoie un résultat `yes` et un identifiant d'utilisateur. Par exemple :

  ```
  <auth result="yes"><username>{{username}}</username></auth>
  ```
+ Si l'authentification échoue, le service d'authentification renvoie le résultat de`no`. Par exemple :

  ```
  <auth result="no"><message>{{message}}</message></auth>
  ```

### DcvSimpleExternalAuthenticator
<a name="simple-auth"></a>

Amazon DCV est fourni avec un serveur d'authentification externe de référence appelé,`DcvSimpleExternalAuthenticator`. DcvSimpleExternalAuthenticator est un script Python unique que vous pouvez utiliser comme point de départ pour créer votre propre serveur d'authentification personnalisé.

DcvSimpleExternalAuthenticator le serveur prend en charge les protocoles HTTP et HTTPS, et il doit fonctionner sur le même serveur sur lequel le serveur Amazon DCV est installé. Par défaut, il DcvSimpleExternalAuthenticator écoute les demandes sur le port`8444`. Vous pouvez modifier le port si nécessaire. Pour ce faire, ouvrez `/etc/dcv/simpleextauth.conf` avec votre éditeur de texte préféré, recherchez le `EXTAUTH_PORT` paramètre et remplacez la valeur existante par le numéro de port requis.

Pour l'utiliser DcvSimpleExternalAuthenticator, vous devez installer le `nice-dcv-simple-external-authenticator` package. Pour de plus amples informations, veuillez consulter [Installation du serveur Amazon DCV](setting-up-installing-linux-server.md#linux-server-install).

### Utilisation de l'authentificateur externe simple
<a name="usage"></a>



1. Accédez à votre répertoire d'authentification.

   `sudo mkdir -p /var/run/dcvsimpleextauth`

1. Générez votre jeton d'authentification.  
**Example**  

   Dans cet exemple, `123456` il s'agit de l'exemple de jeton d'authentification, `session-123` de l'exemple d'ID de session et de l'`username`utilisateur.

   `echo "123456" | sudo dcvsimpleextauth add-user --session session-123 --auth-dir /var/run/dcvsimpleextauth/ --user username --append` 

1. Démarrez votre serveur.

   `sudo dcvsimpleextauth --port 8444 --auth-dir /var/run/dcvsimpleextauth/ start-server`

1. Une fois le serveur en cours d'exécution, testez la configuration pour la validation.  
**Example**  

   Encore une fois, en utilisant cet exemple, le test se déroulerait comme suit :

   `curl -k http://localhost:8444 -d sessionId=session-123 -d authenticationToken=123456`

   En cas de succès, vous recevrez un résultat d'authentification de`yes`.