Как да създадете потребител и да добавите роля MongoDB
MongoDB Създаване на администраторски потребител
Създаване на потребителски администратор в MongoDB се извършва с помощта на метода createUser. Следващият пример показва как може да се направи това.
db.createUser( { user: "Guru99", pwd: "password", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})
Обяснение на кода:
- Първата стъпка е да посочите „потребителско име“ и „парола“, които трябва да бъдат създадени.
- Втората стъпка е да зададете роля за потребителя. Тъй като трябва да бъде администратор на база данни, в който случай сме присвоили ролята „userAdminAnyDatabase“. Тази роля позволява на потребителя да има административни привилегии за всички бази данни в MongoDB.
- Параметърът db указва администраторската база данни, която е специална мета база данни в нея MongoDB който съдържа информацията за този потребител.
Ако командата е изпълнена успешно, ще се покаже следният изход:
Изход:
Резултатът показва, че е създаден потребител, наречен „Guru99“, и този потребител има привилегии върху всички бази данни в MongoDB.
MongoDB Създаване на потребител за единична база данни
За да създадем потребител, който ще управлява една база данни, можем да използваме същата команда, както е споменато по-горе, но трябва да използваме само опцията „userAdmin“.
Следващият пример показва как може да се направи това;
db.createUser( { user: "Employeeadmin", pwd: "password", roles:[{role: "userAdmin" , db:"Employee"}]})
Обяснение на кода:
- Първата стъпка е да посочите „потребителско име“ и „парола“, които трябва да бъдат създадени.
- Втората стъпка е да се присвои роля за потребителя, който в този случай, тъй като трябва да бъде администратор на база данни, се присвоява на ролята „userAdmin“. Тази роля позволява на потребителя да има административни привилегии само за базата данни, посочена в опцията db.
- Параметърът db указва базата данни, към която потребителят трябва да има административни привилегии.
Ако командата е изпълнена успешно, ще се покаже следният изход:
Изход:
Резултатът показва, че е създаден потребител, наречен „Employeeadmin“, и този потребител има привилегии само в базата данни „Employee“.
Управление на потребителите
Първо разберете ролите, които трябва да дефинирате. Има цял списък с налични роли в MongoDB. Например има „роля за четене“, която позволява само достъп само за четене до бази данни и след това има роля „четене и писане“, която предоставя достъп за четене и писане в базата данни, което означава, че потребителят може да издава вмъкване, изтриване и актуализиране на команди на колекции в тази база данни.
db.createUser( { user: "Mohan", pwd: "password", roles:[ { role: "read" , db:"Marketing"}, { role: "readWrite" , db:"Sales"} } ] })
Горният кодов фрагмент показва, че е създаден потребител, наречен Mohan, и са му присвоени множество роли в множество бази данни. В горния пример му е дадено разрешение само за четене до базата данни „Маркетинг“ и разрешение за четене и запис до базата данни „Продажби“.