创建了一个具有readWrite
访问权限的MongoDB用户。但我不想给dropCollection
访问该用户的权限。我该如何实现呢。
感谢。
答案 0 :(得分:2)
您可以define your custom role为您的目的。
您还可以通过继承自定义角色的admin.system.roles.roles
字段来扩展现有角色。
以下是自定义角色示例
{
role: "YourRole",
db: "YourDatabase",
privileges:
[
{
resource: {db: "YourDatabase", collection: "OneOfCollections"},
actions: ["find", "insert", "update", "remove", "createIndex" ...]
},
{
resource: {db: "YourDatabase", collection: "AnotherCollection"},
actions: ["find", "insert", "update", "remove", "createIndex" ...]
},
.
.
.
],
roles:
[
{ role: "RoleYouWantToInherit", db: "TheDatabaseRoleIsDefinedFor" },
...
]
}
答案 1 :(得分:0)
在admin collection上运行以下查询会出错。
db.runCommand({
createRole:"mynew",
priviliges : [..],
roles: [
{ role: "read", db: "admin" }
],
writeConcern: { w: "majority" , wtimeout: 5000 }
})
显示"错误消息:没有这样的cmd creareRole"