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», и этот пользователь имеет права только в базе данных «Сотрудник».
Управление пользователями
Сначала поймите роли, которые вам нужно определить. В MongoDB есть целый список ролей. Например, есть «роль чтения», которая разрешает доступ только для чтения к базам данных, а затем есть роль «чтение и запись», которая обеспечивает доступ для чтения и записи к базе данных, что означает, что пользователь может выполнять вставку, удаление и команды обновления для коллекций в этой базе данных.
db.createUser({user: "Mohan",pwd: "password",roles:[{role: "read" , db:"Marketing"},role: "readWrite" , db:"Sales"}}]})
Приведенный выше фрагмент кода показывает, что создан пользователь по имени Мохан, которому назначены несколько ролей в нескольких базах данных. В приведенном выше примере ему дается разрешение только на чтение для базы данных «Маркетинг» и разрешение на чтение и запись для базы данных «Продажи».