También me estaba rascando la cabeza con el mismo problema, y todo funcionó después de configurar el rol como root al agregar el primer usuario administrador.
use admin
db.createUser(
{
user: 'admin',
pwd: 'password',
roles: [ { role: 'root', db: 'admin' } ]
}
);
exit;
Si ya ha creado el admin
usuario, puede cambiar el rol de esta manera:
use admin;
db.grantRolesToUser('admin', [{ role: 'root', db: 'admin' }])
Para obtener una referencia de configuración de autenticación completa, consulte los pasos que compilé después de horas de investigación en Internet.