我在mongo db中创建用户,可以对数据库执行以下操作: -
但是用户无法从数据库/集合中删除或删除记录。
我使用以下代码: -
db.addUser({
user:"rwUser", pwd:"password",
roles:["readWrite"]
})
但是这个用户也可以删除记录。如何限制用户从数据库中删除记录。
答案 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" }
]
)