По умолчанию, MongoDB не использует какие-либо способы авторизации для доступа к базе данных.
Сами разработчики MongoDB объясняют это тем, что всю логику должно содержать в себе приложение, а база должна делать то, для чего она лучше всего и предназначена — хранение и управление данными.

В SQL базах вы можете иметь множество пользователей, групп и схем для более тонкой настройки прав доступа к данным. Но если не рассматривать MongoDB только со стороны философии, которую они пропагандируют, то можно найти прекрасный механизм авторизации.

Хотите добавить пользователей к своей базе на MongoDB ?

MongoDB позволяет управлять пользователями на уровне базы, но правда только в «read/write» или «readonly» режимах.

Создание пользователя с правами «read/write»:

$ ./mongo
> use mydatabase
> db.addUser(«admin», «Sup3rG00dP@azzword»)

Создание пользователя с правами «readonly»:

> db.addUser(«web», «prettyGoodPass», true)

Параметр true как раз и задает readonly права для создаваемого пользователя.

Смена пароля:
Для смены пароля необходимо еще раз вызвать addUser

> db.addUser(«web», «wayGooderPass», true)

Удаление пользователя:
Для удаления пользователя вам необходимо удалить соответсвующий документ в system.users коллекции

> db.system.users.remove({«user» : «web»});

Настроить монго для использования авторизации:
Если вы хотите полностью закрыть неавторизованный доступ, то требуется изменение конфигурации MongoDB.
auth = true
После этих изменений требуется перезапуск демона.
Если вы попытаетесь получить доступ с данными несуществующего пользователя, то вы получите ошибку вида:

error: { “$err” : “unauthorized for db [mydatabase] lock type: -1 ” }

Также readonly пользователь при попытке записи получит ошибку:

unauthorized