Bagikan melalui


Hak istimewa baca dan baca/tulis dengan pengguna asli sekunder di Azure DocumentDB

Azure DocumentDB mendukung pengguna DocumentDB asli sekunder dengan peran baca-tulis dan baca-saja khusus, memungkinkan delegasi akses data yang aman. Akun administratif bawaan, yang dibuat selama provisi kluster, memiliki hak istimewa penuh, termasuk manajemen pengguna. Pengguna sekunder secara otomatis direplikasi ke replika kluster, tetapi manajemen pengguna harus dilakukan pada kluster utama.

Prasyarat

  • Langganan Azure

    • Jika Anda tidak memiliki langganan Azure, buat akun gratis
  • Kluster Azure DocumentDB yang sudah ada

Peran bawaan

Azure DocumentDB mendukung kontrol akses berbasis peran asli untuk pengguna sekunder dengan peran berikut:

Description
readWriteAnyDatabase Izin baca-tulis lengkap, termasuk manajemen database
clusterAdmin Izin baca-tulis lengkap, termasuk manajemen database
readAnyDatabase Izin hanya-baca

Mengelola pengguna dan peran menggunakan driver atau alat MongoDB seperti MongoDB Shell (mongosh).

Nota

Hanya pengguna baca-tulis lengkap dengan hak istimewa manajemen database dan operasi yang didukung. Peran tidak dapat ditetapkan secara terpisah.

Mengautentikasi dan melakukan operasi melalui MongoDB Shell

Autentikasi menggunakan akun administratif bawaan yang dibuat selama provisi kluster. Akun ini memiliki hak istimewa manajemen pengguna eksklusif (userAdmin) pada kluster.

  1. Buka terminal pada klien dengan shell MongoDB terinstal.

  2. Dapatkan nama kluster Azure DocumentDB dan kredensial Anda saat ini.

    Petunjuk / Saran

    Anda bisa mendapatkan string koneksi asli untuk kluster di portal Microsoft Azure menggunakan bagian String koneksi .

  3. Sambungkan dengan menggunakan string koneksi berikut:

    mongosh "mongodb+srv://<username>:<password>@<cluster-name>?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"
    

Mengelola pengguna

Membuat pengguna baru pada kluster tempat Anda menjalankan perintah. Perintah createUser mengembalikan kesalahan pengguna duplikat jika pengguna sudah ada.

  1. Buat pengguna administrasi lapisan data.

    db.runCommand(
      {
        createUser:"yourUserName",
        pwd : "yourPassword",
        roles : [
          { role:"clusterAdmin",db:"admin" },
          { role:"readWriteAnyDatabase", db:"admin" }
        ]
      }
    )
    
  2. Buat pengguna hanya-baca.

    db.runCommand(
      {
        createUser:"yourUserName",
        pwd : "yourPassword",
        roles : [
          { role:"readAnyDatabase",db:"admin" }
        ]
      }
    )
    
  3. Perbarui pengguna pada database dengan menjalankan updateUser perintah .

    use admin
    
    db.runCommand(
      {
        updateUser:"<username>",
        pwd : "<new cleartext password>"
      }
    )
    

    Nota

    Perintah hanya mendukung pembaruan kata sandi.

  4. Menghapus pengguna dari kluster.

    use admin
    
    db.runCommand(
      {
        dropUser:"<username>"
      }
    )
    
  5. Ambil detail tentang semua pengguna asli di kluster atau tentukan satu pengguna untuk mendapatkan informasi tentang peran mereka dan atribut lainnya.

    use admin
    
    db.runCommand(
      {
        usersInfo:1
      }
    )