Как создать пользователя с доступом на чтение и запись для определенной БД только в MongoDB?

#mongodb #mongodb-security

#mongodb #mongodb-безопасность

Вопрос:

Я создал пользователя с помощью оболочки:

 use testDB
db.createUser({user: 'testUser', pwd: 'password', roles: ["readWrite"]})
  

Но пользователь также может просматривать и изменять другие базы данных (например, admin).
Я проверил, db.runCommand({connectionStatus : 1}) и ‘testUser’ зарегистрирован в сеансе.

Как создать пользователя с доступом на чтение и запись только для конкретной базы данных?

Комментарии:

1. В конфигурации, что такое security.authorization ?

2. Вам нужно получить представление о том, что такое аутентификация и авторизация в MongoDB. Авторизация позволяет пользователю иметь определенный доступ к ресурсу. Смотрите Это руководство Безопасность — Включить контроль доступа .

Ответ №1:

Вы можете выполнять все обслуживание пользователей в пространстве имен admin database. Итак, в вашем случае вы можете запускать следующие команды из своей оболочки mongo:

 use admin

db.createUser({
  user: "testUser",
  pwd: "password",
  roles: [
    { role: "readWrite", db: "<your_database>" }
  ]
})
  

Более подробную информацию можно найти в документации MongoDB:
https://docs.mongodb.com/manual/reference/method/db.createUser /