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

Содержание:

Anonim

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

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

db.createUser({ user: "Guru99",pwd: "password",roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})

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

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

Если команда выполнена успешно, будет показан следующий результат:

Выход:

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

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

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

В следующем примере показано, как это можно сделать;

db.createUser({user: "Employeeadmin",pwd: "password",roles:[{role: "userAdmin" , db:"Employee"}]})

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

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

Если команда выполнена успешно, будет показан следующий результат:

Выход:

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

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

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

db.createUser({user: "Mohan",pwd: "password",roles:[{role: "read" , db:"Marketing"},role: "readWrite" , db:"Sales"}}]})

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