El error cometido fue que estaba usando un userAdminAnyDatabase
usuario que NO en el administrador base de datos (ver esta nota). Entonces DEBE ser una base de datos llamada admin en su servidor! Como dice la documentación para los privilegios de "AnyDatabase":
Si agrega cualquiera de estos roles a un documento de privilegios de usuario fuera de la base de datos de administración, el privilegio no tendrá efecto.
Entonces debes:
-
agregue un
userAdminAnyDatabase
aladmin
base de datos$ mongo admin > db.createUser({ user: "myadmin", pwd: "1234", roles: ["userAdminAnyDatabase"] })
-
activar la autenticación
auth = true setParameter = enableLocalhostAuthBypass=0
-
conectarse usando el nuevo
myadmin
usuario a cualquier base de datos que desee y agregue más usuarios:$ mongo another -u myadmin -p 1234 > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })
o
> use another > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })