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