我们需要一个具有最小权限的用户,该用户只能使用 db.fsyncLock() 和 db.unlock() 锁定一个 mongo 实例,以确保我们可以对磁盘映像进行一致的快照。我目前创建了以下角色:
{
"role" : "local_lock",
"db" : "admin",
"isBuiltin" : false,
"roles" : [ ],
"inheritedRoles" : [ ],
"privileges" : [
{
"resource" : {
"cluster" : true
},
"actions" : [
"logRotate",
"resync",
"unlock"
]
}
],
"inheritedPrivileges" : [
{
"resource" : {
"cluster" : true
},
"actions" : [
"logRotate",
"resync",
"unlock"
]
}
]
}
但是,当我使用此用户尝试锁定时,我收到以下信息:
> db.fsyncLock()
{
"ok" : 0,
"errmsg" : "not authorized on admin to execute command { fsync: 1.0, lock: true }",
"code" : 13,
"codeName" : "Unauthorized"
}
>
还需要哪些其他权限?Mongo版本如下:
MongoDB shell version v3.4.7
MongoDB server version: 3.4.7