web-dev-qa-db-ja.com

Mongodbは、読み取りと書き込みのアクセス権のみを持つユーザーを作成します

こんにちは私はmongodbで次のコマンドを使用して新しいを作成しました、

db.createUser({ user: 'csquad', pwd: 'somepass123', roles: [ { role: "readWrite", db: "cloud"}]});

これで、このユーザーはdb Cloudにログインしてアクティビティを実行できるようになります。彼を含めると、データベースクラウドへの同じreadWriteアクセス権を持つユーザーを作成できます。

次に、このユーザーを新しいロールに更新して、彼が任意のドキュメントへの読み取りおよび書き込みアクセスのみを行うか、このDBにコレクションを作成するようにしました。新しいユーザーを作成するためのアクセス権がありません。

MongoDBでどのような役割を割り当てる必要があるか

「読み取り」の役割を持つユーザーを作成しても、readWriteで新しいユーザーを作成できます。また、「読み取り」ユーザーは、新しいコレクションを作成したり、ドキュメントを追加したりできます

基本的に、「クラウド」データベースのすべてのユーザーは、割り当てられた役割に関係なく、任意のタスクを実行できます。制限事項は、指定されたデータベースですべてのタスクを実行できることです(管理DBにログインできないなど)。

データベースで 有効な認証 (--auth)を使用していないようです。認証がなければ、承認はありません。これが、すべてのユーザーが自分の好きなようにできるようになった理由です。

3
JJussi