在Mongo上未经授权



我应该向用户添加什么角色来解决下面的问题?

Unauthorized: not authorized on backend to execute command { aggregate: "activities", pipeline: [ { $indexStats: {} }, { $project: { name: 1, usageHost: "$host", usageCount: "$accesses.ops", usageSince: "$accesses.since" } } ], cursor: {} }

我正在使用以下脚本创建用户:

use $APPLICATION_DATABASE
db.createUser({user: '$APPLICATION_USER', pwd: '$APPLICATION_PASS', roles:[{role:'readWrite', db:'$APPLICATION_DATABASE'}]})

但是,当我尝试使用羽毛同步集成时,上面的错误被抛出。

我相信您可以授予:

clusterMonitor

将为用户提供仅阅读监视工具的访问,例如;

dbStats
indexStats

或者您可以创建自定义角色并将操作限制为单个集合:

use admin
db.createRole(
   {
   role: "CustomIndexStat",
   privileges: [
    { resource: { db: "", collection: "" }, 
      actions: [ "indexStats"] 
    } ],
     roles: []
   }
)

相关内容

  • 没有找到相关文章

最新更新