Как да създадете потребител и да добавите роля MongoDB

MongoDB Създаване на администраторски потребител

Създаване на потребителски администратор в MongoDB се извършва с помощта на метода createUser. Следващият пример показва как може да се направи това.

db.createUser(
{	user: "Guru99",
	pwd: "password",

	roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})

MongoDB Създаване на администраторски потребител

Обяснение на кода:

  1. Първата стъпка е да посочите „потребителско име“ и „парола“, които трябва да бъдат създадени.
  2. Втората стъпка е да зададете роля за потребителя. Тъй като трябва да бъде администратор на база данни, в който случай сме присвоили ролята „userAdminAnyDatabase“. Тази роля позволява на потребителя да има административни привилегии за всички бази данни в MongoDB.
  3. Параметърът db указва администраторската база данни, която е специална мета база данни в нея MongoDB който съдържа информацията за този потребител.

Ако командата е изпълнена успешно, ще се покаже следният изход:

Изход:

MongoDB Създаване на администраторски потребител

Резултатът показва, че е създаден потребител, наречен „Guru99“, и този потребител има привилегии върху всички бази данни в MongoDB.

MongoDB Създаване на потребител за единична база данни

За да създадем потребител, който ще управлява една база данни, можем да използваме същата команда, както е споменато по-горе, но трябва да използваме само опцията „userAdmin“.

Следващият пример показва как може да се направи това;

MongoDB Създаване на потребител за единична база данни

db.createUser(
{
	user: "Employeeadmin",

	pwd: "password",

	roles:[{role: "userAdmin" , db:"Employee"}]})

Обяснение на кода:

  1. Първата стъпка е да посочите „потребителско име“ и „парола“, които трябва да бъдат създадени.
  2. Втората стъпка е да се присвои роля за потребителя, който в този случай, тъй като трябва да бъде администратор на база данни, се присвоява на ролята „userAdmin“. Тази роля позволява на потребителя да има административни привилегии само за базата данни, посочена в опцията db.
  3. Параметърът db указва базата данни, към която потребителят трябва да има административни привилегии.

Ако командата е изпълнена успешно, ще се покаже следният изход:

Изход:

MongoDB Създаване на потребител за единична база данни

Резултатът показва, че е създаден потребител, наречен „Employeeadmin“, и този потребител има привилегии само в базата данни „Employee“.

Управление на потребителите

Първо разберете ролите, които трябва да дефинирате. Има цял списък с налични роли в MongoDB. Например има „роля за четене“, която позволява само достъп само за четене до бази данни и след това има роля „четене и писане“, която предоставя достъп за четене и писане в базата данни, което означава, че потребителят може да издава вмъкване, изтриване и актуализиране на команди на колекции в тази база данни.

Управление на потребители

db.createUser(
{
	user: "Mohan",

	pwd: "password",

	roles:[
	{
		role: "read" , db:"Marketing"},
    {
		role: "readWrite" , db:"Sales"}
	}
		  ]
})

Горният кодов фрагмент показва, че е създаден потребител, наречен Mohan, и са му присвоени множество роли в множество бази данни. В горния пример му е дадено разрешение само за четене до базата данни „Маркетинг“ и разрешение за четене и запис до базата данни „Продажби“.