View a markdown version of this page

Otentikasi menggunakan SCRAM-SHA-256 - Amazon DocumentDB

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

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-256menggunakan 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, lihatOtentikasi menggunakan identitas IAM.

Membuat pengguna dengan mekanisme SCRAM

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

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 otentikasiSCRAM-SHA-1, tentukan hanya SCRAM-SHA-256 di mechanisms bidang untuk semua pengguna Anda.

Memperbarui pengguna yang ada

Pengguna yang dibuat dengan SCRAM-SHA-1 terus didukung tanpa perubahan. Untuk mengalihkan pengguna yang sudah ada dari SCRAM-SHA-1 keSCRAM-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

Driver Anda secara otomatis mengotentikasi menggunakan parameter string koneksi sebelum mengirim perintah pertama pada setiap koneksi. SCRAM-SHA-256Untuk memilih URI koneksi, atur authMechanism parameter keSCRAM-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.