

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Otentikasi menggunakan SCRAM-SHA-256
<a name="scram-sha-256-auth"></a>

Amazon DocumentDB (dengan kompatibilitas MongoDB) mendukung Salted Challenge Response Authentication Mechanism (SCRAM) untuk otentikasi berbasis kata sandi. Dengan SCRAM, server memverifikasi bahwa klien mengetahui kata sandi pengguna tanpa mengirimkan kata sandi ke server. Amazon DocumentDB mendukung dua mekanisme SCRAM: `SCRAM-SHA-1` dan. `SCRAM-SHA-256` `SCRAM-SHA-256`menggunakan fungsi SHA-256 hash yang lebih kuat dan bekerja dengan mode FIPS.

Anda menetapkan satu atau kedua mekanisme SCRAM ke pengguna saat Anda membuat atau memperbarui pengguna tersebut. Pengguna yang dibuat dengan `SCRAM-SHA-1` terus bekerja tanpa perubahan apa pun. SCRAM-SHA-256 otentikasi tersedia di cluster minor berbasis instance Amazon DocumentDB versi 5.0.1\+ dan 8.0.1\+.

**Otentikasi SCRAM dan IAM saling eksklusif**  
Pengguna dapat memiliki mekanisme SCRAM atau `MONGODB-AWS` mekanisme, tetapi tidak keduanya. Untuk otentikasi identitas IAM, lihat[Otentikasi menggunakan identitas IAM](iam-identity-auth.md).

**Topics**
+ [Membuat pengguna dengan mekanisme SCRAM](#scram-sha-256-auth-creating-users)
+ [Memperbarui pengguna yang ada](#scram-sha-256-auth-updating-users)
+ [Mengotentikasi dengan SCRAM-SHA-256](#scram-sha-256-auth-authenticating)

## Membuat pengguna dengan mekanisme SCRAM
<a name="scram-sha-256-auth-creating-users"></a>

Saat Anda membuat pengguna, Anda dapat menentukan mekanisme SCRAM untuk diaktifkan dengan `mechanisms` bidang. Contoh berikut membuat pengguna dengan `SCRAM-SHA-1` hanya, `SCRAM-SHA-256` hanya, dan kedua mekanisme:

```
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']
});
```

### Mekanisme default
<a name="scram-sha-256-auth-default-mechanisms"></a>

Jika Anda tidak menentukan `mechanisms` bidang, Amazon DocumentDB mengaktifkan keduanya `SCRAM-SHA-1` dan `SCRAM-SHA-256` untuk pengguna. Dua perintah berikut setara:

```
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']
});
```

Mengaktifkan kedua mekanisme secara default mempertahankan kompatibilitas dengan driver MongoDB lama yang hanya mendukung. `SCRAM-SHA-1` Driver yang lebih baru dan mode FIPS lebih `SCRAM-SHA-256` disukai. Jika Anda tidak ingin pengguna mana pun melakukan otentikasi`SCRAM-SHA-1`, tentukan hanya `SCRAM-SHA-256` di `mechanisms` bidang untuk semua pengguna Anda.

## Memperbarui pengguna yang ada
<a name="scram-sha-256-auth-updating-users"></a>

Pengguna yang dibuat dengan `SCRAM-SHA-1` terus didukung tanpa perubahan. Untuk mengalihkan pengguna yang sudah ada dari `SCRAM-SHA-1` ke`SCRAM-SHA-256`, perbarui pengguna dengan kata sandi baru dan `SCRAM-SHA-256` mekanisme:

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

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

Driver Anda secara otomatis mengotentikasi menggunakan parameter string koneksi sebelum mengirim perintah pertama pada setiap koneksi. `SCRAM-SHA-256`Untuk memilih URI koneksi, atur `authMechanism` parameter ke`SCRAM-SHA-256`:

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

Anda juga dapat mengirim permintaan otentikasi eksplisit dari mongosh:

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

Jika Anda tidak menentukan mekanisme otentikasi dalam opsi koneksi Anda, driver secara otomatis memilih mekanisme yang didukung oleh pengguna basis data target.