O erro cometido foi que eu estava usando um
userAdminAnyDatabase
usuário que NÃO no administrador banco de dados (veja esta nota). Portanto, DEVE ser um banco de dados chamado admin no seu servidor! Como a documentação diz para os privilégios "AnyDatabase":
Se você adicionar qualquer uma dessas funções a um documento de privilégio de usuário fora do banco de dados do administrador, o privilégio não terá efeito.
Então você deve:
-
adicione umuserAdminAnyDatabase
para oadmin
banco de dados
$ mongo admin > db.createUser({ user: "myadmin", pwd: "1234", roles: ["userAdminAnyDatabase"] })
-
ativar a autenticação
auth = true setParameter = enableLocalhostAuthBypass=0
-
conecte-se usando o novomyadmin
user para qualquer banco de dados desejado e adicione outros usuários:
$ mongo another -u myadmin -p 1234 > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })
ou
> use another > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })