Я хочу разрешить определенным пользователям обновлять и вставлять, но не удалять. Я создал следующую роль
db.createRole({
role: "readWriteNoDelete",
privileges: [{
resource: {
db: "permitmanager",
collection: ""
},
actions: ["insert", "update"]
}],
roles: [{
role: "read",
db: "permitmanager"
}]
})
Я назначил его текущему пользователю, подтвердив это:
> db.runCommand({connectionStatus : 1})
{
"authInfo" : {
"authenticatedUsers" : [
{
"user" : "defaultuser",
"db" : "admin"
}
],
"authenticatedUserRoles" : [
{
"role" : "read",
"db" : "permitmanager"
},
{
"role" : "readWriteNoDelete",
"db" : "permitmanager"
}
]
},
"ok" : 1
}
Тем не менее, я все еще могу удалить из коллекции с помощью allowmanager:
> db
permitmanager
> db.leads.remove({"estDollarAmount": 0})
WriteResult({ "nRemoved" : 1 })
Чего мне не хватает? Я думаю, что если бы действие «удалить» не присутствовало в их привилегиях, они не смогли бы сделать это