Учебники

14) Создать пользователя и назначить роли

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. Например, есть «роль чтения», которая разрешает доступ только для чтения к базам данных, а затем есть роль «чтение и запись», которая обеспечивает доступ к базе данных для чтения и записи, что означает, что пользователь может выполнить вставку, удаление и обновить команды на коллекции в этой базе данных.

Как создать пользователя в Mongodb и назначить роли

db.createUser(
{
	user: "Mohan",

	pwd: "password",

	roles:[
	{
		role: "read" , db:"Marketing"},

		role: "readWrite" , db:"Sales"}
	}
		  ]
})

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