在 mongo db 中创建有一些限制的用户
Create user with some restriction in mongo db
我正在 mongo 数据库中创建可以对数据库执行以下操作的用户:-
- 创建集合
- 创建索引
- 找到
- 插入
- 更新
但用户无法从 database/collection 中移除或删除记录。
我正在使用以下代码:-
db.addUser({
user:"rwUser", pwd:"password",
roles:["readWrite"]
})
但是这个用户也可以删除记录。我如何限制用户从数据库中删除记录。
您可以创建具有所需权限的自定义角色: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" }
]
)
我正在 mongo 数据库中创建可以对数据库执行以下操作的用户:-
- 创建集合
- 创建索引
- 找到
- 插入
- 更新
但用户无法从 database/collection 中移除或删除记录。
我正在使用以下代码:-
db.addUser({
user:"rwUser", pwd:"password",
roles:["readWrite"]
})
但是这个用户也可以删除记录。我如何限制用户从数据库中删除记录。
您可以创建具有所需权限的自定义角色: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" }
]
)