間違いは、userAdminAnyDatabase
を使用していたことです。 そうではなかったユーザー 管理者で データベース(このメモを参照)。したがって、必須 adminというデータベースになります あなたのサーバー上で!ドキュメントに「AnyDatabase」特権について記載されているように:
これらの役割のいずれかをadminデータベースの外部のユーザー特権ドキュメントに追加した場合、特権は効果がありません。
したがって、次のことを行う必要があります:
-
userAdminAnyDatabase
を追加しますadmin
へ db$ mongo admin > db.createUser({ user: "myadmin", pwd: "1234", roles: ["userAdminAnyDatabase"] })
-
認証をオンにする
auth = true setParameter = enableLocalhostAuthBypass=0
-
新しい
myadmin
を使用して接続します ユーザーを任意のデータベースに追加し、さらにユーザーを追加します:$ mongo another -u myadmin -p 1234 > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })
または
> use another > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })