Saya sudah mulai menggunakan MongoDB dengan otentikasi. Sesuai dokumentasi, saya menggunakan pengecualian localhost untuk membuat pengguna admin dengan peran tunggal userAdminAnyDatabase . Itu semua berjalan baik-baik saja. Ketika saya menjalankan klien "mongo" dan mengotorisasi terhadap admin database setelah menggunakan database itu saya mendapatkan nomor 1 menunjukkan bahwa otorisasi berhasil. Namun, setiap perintah yang saya coba jalankan menghasilkan kesalahan "tidak sah", bahkan mencoba menampilkan koleksi di database admin yang baru saja saya izinkan.
Adakah yang bisa memberi tahu saya mengapa ini dan bagaimana saya bisa memperbaikinya? Saat ini saya menjalankan tanpa otentikasi sampai saya bisa memperbaikinya.
Jawaban yang Diterima:
userAdminAnyDatabase
peran (dan userAdmin
peran yang merupakan perpanjangan dari) hanya memberikan izin kepada pengguna Anda untuk membaca dan menulis ke system.users
koleksi untuk mengelola pengguna database. Itu tidak memungkinkan pengguna untuk membaca atau menulis ke koleksi database yang sebenarnya. Untuk itu, Anda perlu memberikan read
atau readWrite
peran.
Lihat Peran Hak Istimewa Pengguna di MongoDB dan Menambahkan Pengguna ke Database.