繁体   English   中英

MongoDB:用户创建数据库需要哪些权限?

[英]MongoDB: Which permissions are needed for a user to create a database?

我们需要创建一个特殊角色,该角色将仅允许以下操作:

  1. 创建一个新的数据库
  2. 创建一个新用户,该数据库的管理员

创建数据库需要哪些MongoDB角色? 它没有写在这里的文档中的任何地方https://docs.mongodb.com/manual/reference/built-in-roles/似乎没有一个已知的角色可以执行此任务

我认为readWrite是您需要的角色。 我尝试了以下操作:

  1. 使用管理用户连接到我的admin数据库
  2. 创建一个新aaa用户,定义admin数据库,用密码和两个角色: readWrite上(不存在)的数据库xxxdbAdmin上(不存在)数据库yyy
  3. 使用aaa用户连接到admin数据库

因此,我尝试在xxxyyy数据库中的test集合中插入文档:

use xxx
db.test.insert({})

有反应在2毫秒内插入1条记录

use yyy
db.test.insert({})

响应未授权yyy执行命令...

该错误消息表示aaa无法在test执行insert :数据库创建是在第一次插入时发生的,因此您需要具有readWrite角色才能进行第一次insert ==>创建数据库。

我希望我采用的检查问题的方法可以帮助您解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM