Пользователи и роли в MongoDB

Читающие пользователи создаются в MongoDB.

Первый пользователь создал с именем "пользователя", считавшего роль записи для проекта использования базы данных "проекта".

db.createUser(
    {
      user: "user",
      pwd: "user123",
      roles: [
         { role: "readWrite", db: "project" },
         { role: "readAnyDatabase", db:"admin" }
      ]
    }
)

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

db.createUser(
    {
      user: "stud",
      pwd: "stud123",
      roles: [
         { role: "readWrite", db: "stud" },
         { role: "readAnyDatabase", db:"admin" }
      ]
    }
)

Когда я соединился с базой данных, имеющей проект имени использование "пользователя", я получаю проект, а также студенческую базу данных, и я также могу создать новый набор в студенческой базе данных. Я не имею, дают любое разрешение "пользователю" получить доступ к студенческой базе данных.

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

0
27.01.2020, 23:29
1 ответ

Вы дали 'пользователю' readAnyDatabase разрешение. Это означает, что имеет доступ для чтения для каждой базы данных в кластере. Измените разрешение на только для чтения, таким образом, пользователь прочитает разрешение на администраторе DB только.

2
23.02.2020, 00:39

Теги

Похожие вопросы