認証付きのMongoDBを使い始めました。ドキュメントに従って、ローカルホストの例外を使用して、 userAdminAnyDatabaseという単一の役割を持つ管理者ユーザーを作成しました。 。それはすべてうまくいきました。 「mongo」クライアントを実行し、 adminに対して承認すると 使用後のデータベース そのデータベース私は番号1を取得します 承認が成功したことを示します。ただし、実行しようとしたコマンドは、許可したばかりの管理データベースのコレクションを表示しようとしても、「許可されていない」エラーになります。
なぜこれなのか、どうすれば修正できるのか、誰か教えてもらえますか?現在、これを修正できるまで、認証なしで実行しています。
承認された回答:
userAdminAnyDatabase
ロール(およびuserAdmin
の拡張であるロール)は、ユーザーにsystem.users
の読み取りと書き込みのアクセス許可を与えるだけです。 データベースのユーザーを管理するためのコレクション。ユーザーがデータベースの実際のコレクションを読み書きすることはできません。そのためには、read
を付与する必要があります またはreadWrite
役割。
MongoDBのユーザー権限の役割とデータベースへのユーザーの追加を参照してください。