在mongodb中创建一些限制的用户

时间:2015-01-02 18:53:25

标签: mongodb

我在mongo db中创建用户,可以对数据库执行以下操作: -

  • createCollection
  • 的createIndex
  • 找到
  • 插入
  • 更新

但是用户无法从数据库/集合中删除或删除记录。

我使用以下代码: -

db.addUser({ 
           user:"rwUser", pwd:"password", 
           roles:["readWrite"] 
           })

但是这个用户也可以删除记录。如何限制用户从数据库中删除记录。

1 个答案:

答案 0 :(得分:3)

您可以使用所需权限创建自定义角色:http://docs.mongodb.org/manual/tutorial/define-roles/

使用所需权限连接到您的mongo和db.createRole。您可以找到此处列出的权限:http://docs.mongodb.org/manual/reference/privilege-actions/。然后只需向用户授予此角色或创建具有此角色的用户。

您想要的权限是:

createCollection
createIndex
find
insert
update

例如:

db.createRole(
   {
     role: "foobarRole",
     privileges: [
       { resource: { db: "exampleDb", collection: "bar" }, actions: [ "createCollection", "createIndex", "find", "insert", "update" ] }
     ],
     roles: []
   }
)

并将其授予现有用户:

db.grantRolesToUser(
  "foobarUser",
  [
    { role: "foobarRole", db: "exampleDb" }
  ]
)
相关问题