MongoDB Yönetici Kullanıcısı Oluştur
MongoDB'de bir kullanıcı yöneticisi oluşturmak, createUser yöntemi kullanılarak yapılır. Aşağıdaki örnek bunun nasıl yapılabileceğini göstermektedir.
db.createUser({ user: "Guru99",pwd: "password",roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})
Kod Açıklaması:
- İlk adım, oluşturulması gereken "kullanıcı adı" ve "parolayı" belirlemektir.
- İkinci adım, kullanıcıya bir rol atamaktır. Bir veritabanı yöneticisi olması gerektiğinden, bu durumda "userAdminAnyDatabase" rolünü atadık. Bu rol, kullanıcının MongoDB'deki tüm veritabanları için yönetici ayrıcalıklarına sahip olmasını sağlar.
- Db parametresi, MongoDB içinde bu kullanıcı için bilgileri tutan özel bir Meta veritabanı olan yönetici veritabanını belirtir.
Komut başarıyla yürütülürse, aşağıdaki Çıktı gösterilecektir:
Çıktı:
Çıktı, "Guru99" adlı bir kullanıcının yaratıldığını ve bu kullanıcının MongoDB'deki tüm veritabanları üzerinde ayrıcalıklara sahip olduğunu gösterir.
MongoDB Tek Veritabanı için Kullanıcı Oluştur
Tek bir veritabanını yönetecek bir kullanıcı oluşturmak için yukarıda bahsettiğimiz komutun aynısını kullanabiliriz ancak sadece "userAdmin" seçeneğini kullanmamız gerekiyor.
Aşağıdaki örnek bunun nasıl yapılabileceğini göstermektedir;
db.createUser({user: "Employeeadmin",pwd: "password",roles:[{role: "userAdmin" , db:"Employee"}]})
Kod Açıklaması:
- İlk adım, oluşturulması gereken "kullanıcı adı" ve "parolayı" belirlemektir.
- İkinci adım, kullanıcıya, bu durumda veritabanı yöneticisi olması gerektiğinden "userAdmin" rolüne atanan bir rol atamaktır. Bu rol, kullanıcının yalnızca db seçeneğinde belirtilen veritabanı için yönetici ayrıcalıklarına sahip olmasına izin verir.
- Db parametresi, kullanıcının yönetici ayrıcalıklarına sahip olması gereken veritabanını belirtir.
Komut başarıyla yürütülürse, aşağıdaki Çıktı gösterilecektir:
Çıktı:
Çıktı, "Employeeadmin" adlı bir kullanıcının yaratıldığını ve bu kullanıcının yalnızca "Employee" veritabanında ayrıcalıklara sahip olduğunu gösterir.
Kullanıcıları yönetmek
Öncelikle tanımlamanız gereken rolleri anlayın. MongoDB'de tam bir rol listesi mevcuttur. Örneğin, yalnızca veritabanlarına salt okunur erişime izin veren bir "okuma rolü" vardır ve ardından veritabanına okuma ve yazma erişimi sağlayan "okuma-yazma" rolü vardır, bu da kullanıcının ekleme, silme ve o veritabanındaki koleksiyonlarla ilgili komutları güncelleyin.
db.createUser({user: "Mohan",pwd: "password",roles:[{role: "read" , db:"Marketing"},role: "readWrite" , db:"Sales"}}]})
Yukarıdaki kod parçacığı, Mohan adlı bir kullanıcının oluşturulduğunu ve kendisine birden çok veritabanında birden çok rol atandığını gösterir. Yukarıdaki örnekte, kendisine "Pazarlama" veri tabanına salt okuma izni ve "Satış" veri tabanına okuma-Yazma izni verilmiştir.