Назад | Перейти на главную страницу

«Не авторизован» с включенной аутентификацией в Mongo

Я следую указаниям Вот чтобы попробовать установить Mongo 3.6 с включенной аутентификацией. Я добавил пользователя «root», и я могу войти в систему с помощью оболочки Mongo, и я также добавил пользователя приложения, но когда я пытаюсь перечислить базы данных или коллекции, используя либо root или другой созданный мной идентификатор пользователя, я получаю следующую ошибку:

not authorized on on admin to execute command { listDatabase: 1.0, $db: \"admin\" }

Я также получаю это, когда пытаюсь войти в систему через приложение узла, используя пользователя приложения. Что я делаю не так?

Итак, проблема была двоякой:

  1. Я добавил пользователя приложения не в ту базу данных. Похоже, что все пользователи должны быть добавлены к администратору, а не к базе данных, для которой вы хотите предоставить разрешения.
  2. Мне не хватало некоторых ролей для моего «корневого» пользователя. Казалось, что это исправила "корневая" роль
  3. Мне не хватало роли, необходимой для перечисления баз данных для моего пользователя приложения. Я добавил clisterMonitor, и это, похоже, сработало.

Эти трое вместе, казалось, позволили мне show dbs, show collections, и позвонить listDatabases из MongoClient.