Як створити користувача та додати роль 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, і йому призначено кілька ролей у кількох базах даних. У наведеному вище прикладі йому надано дозвіл лише на читання для бази даних «Маркетинг» і дозвіл на читання і запис для бази даних «Продажі».