我需要向用户添加什么角色来解决下面的问题?
Unauthorized: not authorized on backend to execute command { aggregate: "activities", pipeline: [ { $indexStats: {} }, { $project: { name: 1, usageHost: "$host", usageCount: "$accesses.ops", usageSince: "$accesses.since" } } ], cursor: {} }
我正在使用following script创建用户:
use $APPLICATION_DATABASE
db.createUser({user: '$APPLICATION_USER', pwd: '$APPLICATION_PASS', roles:[{role:'readWrite', db:'$APPLICATION_DATABASE'}]})
但是当我尝试使用feathers-sync进行集成时,会抛出上面的错误。
答案 0 :(得分:0)
我相信你可以批准:
clusterMonitor
这将为用户提供对监视工具的只读访问权限,例如;
dbStats
indexStats
或者您可以创建自定义角色并将操作限制为单个集合:
use admin
db.createRole(
{
role: "CustomIndexStat",
privileges: [
{ resource: { db: "", collection: "" },
actions: [ "indexStats"]
} ],
roles: []
}
)