

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.

# Authentification en utilisant SCRAM-SHA-256
<a name="scram-sha-256-auth"></a>

Amazon DocumentDB (avec compatibilité avec MongoDB) prend en charge le mécanisme d'authentification SCRAM (Salted Challenge Response Authentication Mechanism) pour l'authentification par mot de passe. Avec SCRAM, le serveur vérifie qu'un client connaît le mot de passe d'un utilisateur sans le transmettre au serveur. Amazon DocumentDB prend en charge deux mécanismes SCRAM : `SCRAM-SHA-1` et. `SCRAM-SHA-256` `SCRAM-SHA-256`utilise la fonction de SHA-256 hachage la plus puissante et fonctionne avec le mode FIPS.

Vous attribuez un ou les deux mécanismes SCRAM à un utilisateur lorsque vous créez ou mettez à jour cet utilisateur. Les utilisateurs qui ont été créés avec `SCRAM-SHA-1` continuent de fonctionner sans aucune modification. SCRAM-SHA-256 l'authentification est disponible dans les versions mineures des clusters basés sur les instances Amazon DocumentDB 5.0.1\+ et 8.0.1\+.

**Les authentifications SCRAM et IAM s'excluent mutuellement**  
Un utilisateur peut disposer soit d'un mécanisme SCRAM, soit du `MONGODB-AWS` mécanisme lui-même, mais pas des deux. Pour l'authentification d'identité IAM, consultez[Authentification à l'aide de l'identité IAM](iam-identity-auth.md).

**Topics**
+ [Création d'utilisateurs à l'aide de mécanismes SCRAM](#scram-sha-256-auth-creating-users)
+ [Mettre à jour les utilisateurs existants](#scram-sha-256-auth-updating-users)
+ [Authentification avec SCRAM-SHA-256](#scram-sha-256-auth-authenticating)

## Création d'utilisateurs à l'aide de mécanismes SCRAM
<a name="scram-sha-256-auth-creating-users"></a>

Lorsque vous créez un utilisateur, vous pouvez spécifier les mécanismes SCRAM à activer à l'aide du `mechanisms` champ. Les exemples suivants créent des utilisateurs avec `SCRAM-SHA-1` uniquement, `SCRAM-SHA-256` uniquement et les deux mécanismes :

```
db.runCommand({
    createUser: 'sha1user',
    pwd: passwordPrompt(),
    roles: ['readWrite'],
    mechanisms: ['SCRAM-SHA-1']
});
db.runCommand({
    createUser: 'sha256user',
    pwd: passwordPrompt(),
    roles: ['readWrite'],
    mechanisms: ['SCRAM-SHA-256']
});
db.runCommand({
    createUser: 'bothuser',
    pwd: passwordPrompt(),
    roles: ['readWrite'],
    mechanisms: ['SCRAM-SHA-1','SCRAM-SHA-256']
});
```

### Mécanismes par défaut
<a name="scram-sha-256-auth-default-mechanisms"></a>

Si vous ne spécifiez pas le `mechanisms` champ, Amazon DocumentDB active à la fois `SCRAM-SHA-1` et `SCRAM-SHA-256` pour l'utilisateur. Les deux commandes suivantes sont équivalentes :

```
db.runCommand({
    createUser: 'user1',
    pwd: passwordPrompt(),
    roles: ['readWrite']
});
// is equivalent to:
db.runCommand({
    createUser: 'user1',
    pwd: passwordPrompt(),
    roles: ['readWrite'],
    mechanisms: ['SCRAM-SHA-1','SCRAM-SHA-256']
});
```

L'activation des deux mécanismes par défaut permet de maintenir la compatibilité avec les anciens pilotes MongoDB uniquement `SCRAM-SHA-1` compatibles. Les pilotes les plus récents et le mode FIPS préfèrent`SCRAM-SHA-256`. Si vous ne souhaitez pas qu'un utilisateur s'authentifie`SCRAM-SHA-1`, spécifiez uniquement `SCRAM-SHA-256` dans le `mechanisms` champ pour tous vos utilisateurs.

## Mettre à jour les utilisateurs existants
<a name="scram-sha-256-auth-updating-users"></a>

Les utilisateurs créés avec `SCRAM-SHA-1` continuent d'être pris en charge sans aucune modification. Pour passer d'un utilisateur existant `SCRAM-SHA-1` à`SCRAM-SHA-256`, mettez-le à jour avec un nouveau mot de passe et procédez comme `SCRAM-SHA-256` suit :

```
db.runCommand({
    updateUser: 'existing',
    pwd: passwordPrompt(),
    mechanisms: ['SCRAM-SHA-256']
});
```

## Authentification avec SCRAM-SHA-256
<a name="scram-sha-256-auth-authenticating"></a>

Votre pilote s'authentifie automatiquement à l'aide des paramètres de la chaîne de connexion avant d'envoyer la première commande sur chaque connexion. Pour sélectionner `SCRAM-SHA-256` un URI de connexion, définissez le `authMechanism` paramètre sur `SCRAM-SHA-256` :

```
mongodb://username:password@hostname:port/authenticationDatabase?authMechanism=SCRAM-SHA-256
```

Vous pouvez également envoyer une demande d'authentification explicite depuis mongosh :

```
db.auth({user: 'sha256user', pwd: passwordPrompt(), mechanism: 'SCRAM-SHA-256'})
Enter password:
1
```

Si vous ne spécifiez aucun mécanisme d'authentification dans vos options de connexion, le pilote sélectionne automatiquement un mécanisme pris en charge par l'utilisateur de la base de données cible.