MongoDB Створити користувача-адміністратора
Створення адміністратора користувача в MongoDB здійснюється за допомогою методу createUser. Наступний приклад показує, як це можна зробити.
db.createUser({ user: "Guru99",pwd: "password",roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})
Пояснення коду:
- Першим кроком є вказання "імені користувача" та "пароля", які потрібно створити.
- Другий крок - призначити роль користувачеві. Оскільки це повинен бути адміністратор бази даних, у цьому випадку ми призначили роль "userAdminAnyDatabase". Ця роль дозволяє користувачеві мати адміністративні привілеї для всіх баз даних у MongoDB.
- Параметр db визначає базу даних адміністратора, яка є спеціальною базою даних Meta в 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"}}]})
Наведений вище фрагмент коду показує, що створюється користувач з ім'ям Мохан, і йому присвоюються кілька ролей у декількох базах даних. У наведеному вище прикладі йому надано дозвіл лише на читання до бази даних "Маркетинг" та дозвіл readWrite до бази даних "Продажі".