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

MongoDB Создать пользователя-администратора

Создание администратора пользователя в MongoDB выполняется с помощью метода createUser. Следующееwing пример показывает, как это можно сделать.

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

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

MongoDB Создать пользователя-администратора

Пояснение к коду:

  1. Первым шагом является указание «имени пользователя» и «пароля», которые необходимо создать.
  2. Второй шаг — назначить роль пользователю. Поскольку это должен быть администратор базы данных, в этом случае мы назначили роль «userAdminAnyDatabase». Эта роль позволяет пользователю иметь права администратора для всех баз данных в MongoDB.
  3. Параметр db указывает базу данных администратора, которая представляет собой специальную мета-базу данных в MongoDB, в которой хранится информация для этого пользователя.

Если команда выполнена успешно, тоwing Будет показан вывод:

Вывод:

MongoDB Создать пользователя-администратора

Вывод показывает, что был создан пользователь с именем «Guru99», и у этого пользователя есть права доступа ко всем базам данных в MongoDB.

MongoDB Создать пользователя для одной базы данных

Чтобы создать пользователя, который будет управлять одной базой данных, мы можем использовать ту же команду, что упомянута выше, но нам нужно использовать только опцию «userAdmin».

Фоллоwing пример показывает, как это можно сделать;

MongoDB Создать пользователя для одной базы данных

db.createUser(
{
	user: "Employeeadmin",

	pwd: "password",

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

Пояснение к коду:

  1. Первым шагом является указание «имени пользователя» и «пароля», которые необходимо создать.
  2. Второй шаг — назначить роль пользователю, который в данном случае, поскольку он должен быть администратором базы данных, назначается роли «userAdmin». Эта роль позволяет пользователю иметь права администратора только для базы данных, указанной в опции db.
  3. Параметр db указывает базу данных, к которой пользователь должен иметь права администратора.

Если команда выполнена успешно, тоwing Будет показан вывод:

Вывод:

MongoDB Создать пользователя для одной базы данных

Вывод показывает, что был создан пользователь с именем «Employeeadmin», и этот пользователь имеет права только в базе данных «Сотрудник».

Управление пользователями

Сначала поймите роли, которые вам необходимо определить. Существует целый список ролей, доступных в MongoDB. Например, существует «роль чтения», которая разрешает доступ к базам данных только для чтения, а также есть роль «чтение и запись», которая обеспечивает доступ к базе данных для чтения и записи, что означает, что пользователь может выполнять вставку, удаление и команды обновления коллекций в этой базе данных.

Управление пользователями

db.createUser(
{
	user: "Mohan",

	pwd: "password",

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

Приведенный выше фрагмент кода показывает, что создан пользователь по имени Мохан, и ему назначены несколько ролей в нескольких базах данных. В приведенном выше примере ему предоставлено разрешение только на чтение для базы данных «Маркетинг» и разрешение на чтение для базы данных «Продажи».