Chyba byla v tom, že jsem používal userAdminAnyDatabase
uživatel, který NEBYL v správci databáze (viz tato poznámka). Takže tam MUSÍ být databází s názvem admin na vašem serveru! Jak uvádí dokumentace pro oprávnění "AnyDatabase":
Pokud některou z těchto rolí přidáte do dokumentu uživatelských oprávnění mimo databázi správce, toto oprávnění nebude mít žádný účinek.
Takže musíte:
-
přidejte
userAdminAnyDatabase
admin
db$ mongo admin > db.createUser({ user: "myadmin", pwd: "1234", roles: ["userAdminAnyDatabase"] })
-
zapněte ověřování
auth = true setParameter = enableLocalhostAuthBypass=0
-
připojte se pomocí nového
myadmin
uživatele do libovolné databáze a přidejte další uživatele:$ mongo another -u myadmin -p 1234 > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })
nebo
> use another > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })