adminデータベース上で "userAdminAnyDatabase"ロールを持つユーザーを管理データベース上に作成しました。 アクセスレベルは、データベースをリストしようとしているときに(ショーデータベースコマンドを使用して)正常に動作しますが、私は管理者以外の任意のデータベース上ショーコレクションコマンドを実行すると、次のエラーがスローされます。MongoDBユーザーに追加のデータベースへのアクセスを提供する
Error: couldn't add user: No role named [email protected]
は、私が追加する必要がありますか:私は次のエラーを取得する
db.updateUser("xyz",{pwd:"abcd",roles:[{role:"userAdminAnyDatabase",db:"admin"},{role:"userAdminAnyDatabase",db:"employee"}]})
:ここで私は、次のコマンドを使用してアクセスを提供するために、ユーザーを更新しようとした
Error: listCollections failed: { "ok" : 0, "errmsg" : "not authorized on xxxx to execute command { listCollections: 1.0, filter: {} }", "code" : 13, "codeName" : "Unauthorized"
エラーがありますこれが機能するためには、特に各データベースの役割は?
私はこれを働かせました。あなたの上記の説明と私の修正から理解していただきたいのは、userAdminAnyDatabaseロールは管理データベース内にのみ存在し、そのユーザーはどのデータベースでもユーザーを管理する権利を与えられることです。読み書きするデータベースにユーザーを作成する必要があります。他のデータベースへの読み書きを許可されている中央データベースにすべてのユーザーを持つという概念は、Mongoには存在しないようです。 – kl27driver