Felhasználó létrehozása és szerepkör hozzáadása MongoDB
MongoDB Adminisztrátor felhasználó létrehozása
Felhasználói rendszergazda létrehozása itt MongoDB a createUser metódussal történik. A következő példa bemutatja, hogyan lehet ezt megtenni.
db.createUser( { user: "Guru99", pwd: "password", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})
Kód magyarázata:
- Az első lépés a létrehozandó „felhasználónév” és „jelszó” megadása.
- A második lépés egy szerepkör hozzárendelése a felhasználóhoz. Mivel adatbázis-adminisztrátornak kell lennie, ebben az esetben a „userAdminAnyDatabase” szerepkört rendeltük hozzá. Ez a szerepkör lehetővé teszi a felhasználó számára, hogy rendszergazdai jogosultságokkal rendelkezzen az összes adatbázishoz MongoDB.
- A db paraméter határozza meg az adminisztrációs adatbázist, amely egy speciális metaadatbázis MongoDB amely a felhasználó adatait tartalmazza.
Ha a parancs sikeresen végrehajtásra került, a következő kimenet jelenik meg:
output:
A kimenet azt mutatja, hogy egy "Guru99" nevű felhasználó jött létre, és ez a felhasználó jogosultságokkal rendelkezik az összes adatbázishoz MongoDB.
MongoDB Felhasználó létrehozása egyetlen adatbázishoz
Egy olyan felhasználó létrehozásához, aki egyetlen adatbázist kezel, használhatjuk a fent említett parancsot, de csak a „userAdmin” opciót kell használnunk.
A következő példa bemutatja, hogyan lehet ezt megtenni;
db.createUser( { user: "Employeeadmin", pwd: "password", roles:[{role: "userAdmin" , db:"Employee"}]})
Kód magyarázata:
- Az első lépés a létrehozandó „felhasználónév” és „jelszó” megadása.
- A második lépés egy szerepkör hozzárendelése a felhasználóhoz, amely ebben az esetben, mivel adatbázis-adminisztrátornak kell lennie, a „userAdmin” szerepkörhöz van rendelve. Ez a szerepkör lehetővé teszi, hogy a felhasználó csak a db beállításban megadott adatbázishoz rendelkezzen rendszergazdai jogosultságokkal.
- A db paraméter megadja azt az adatbázist, amelyhez a felhasználónak rendszergazdai jogosultságokkal kell rendelkeznie.
Ha a parancs sikeresen végrehajtásra került, a következő kimenet jelenik meg:
output:
A kimenet azt mutatja, hogy egy „Employeeadmin” nevű felhasználó jött létre, és ez a felhasználó csak az „Employee” adatbázisban rendelkezik jogosultságokkal.
Felhasználók kezelése
Először értse meg azokat a szerepeket, amelyeket meg kell határoznia. A szerepek teljes listája elérhető MongoDB. Például van egy „olvasási szerepkör”, amely csak olvasási hozzáférést tesz lehetővé az adatbázisokhoz, majd az „olvasási” szerepkör, amely olvasási és írási hozzáférést biztosít az adatbázishoz, ami azt jelenti, hogy a felhasználó kiadhatja a beszúrást, törlést és frissítési parancsok az adatbázisban lévő gyűjteményekhez.
db.createUser( { user: "Mohan", pwd: "password", roles:[ { role: "read" , db:"Marketing"}, { role: "readWrite" , db:"Sales"} } ] })
A fenti kódrészlet azt mutatja, hogy létrejön egy Mohan nevű felhasználó, és több szerepkört is hozzárendelnek több adatbázisban. A fenti példában csak olvasási jogosultsággal rendelkezik a „Marketing” adatbázishoz és írási olvasási engedélyt az „Értékesítési” adatbázishoz.