Создание пользователя mongo с доступом к listCollections в определенной базе данных

#mongodb

#mongodb

Вопрос:

Я создал пользователя с ролью readWrite , используя:

 use reporting
db.createUser(
  {
    user: "reportsUser",
    pwd: "12345678",
    roles: [
       { role: "readWrite", db: "reporting" }
    ]
  }
)
 

я думал, что это даст ему доступ listCollections , как описано в https://docs.mongodb.com/manual/reference/built-in-roles / . Однако, как только я включился security.authorization в свой /etc/mongod.conf файл, эта команда перестала работать — с ошибкой:

 command listCollections requires authentication' on server x.x.x.x:27017. The full response is { "ok" : 0.0, "errmsg" : "command listCollections requires authentication", "code" : 13, "codeName" : "Unauthorized" }
 

Есть идеи, какие разрешения / роли мне нужно сделать, чтобы разрешить эту команду?

Ответ №1:

Возникла та же проблема. Это работает для меня, когда я добавляю --authenticationDatabase admin с mongo -u admin -p password