如果mongodb实例启用了验证,那么MMS的监控代理和备份代理就要求验证并对其授予应有的权限。mongodb admin数据库定义所有用户账号。本节主要正对mongodb2.4和mongodb2.6版本来说的。 MMS 监控 MongoDB 2.6 监控mongodb2.6实例,代理用户必需要有clusterMonit
如果mongodb实例启用了验证,那么MMS的监控代理和备份代理就要求验证并对其授予应有的权限。 mongodb admin数据库定义所有用户账号。 本节主要正对mongodb2.4和mongodb2.6版本来说的。use admin db.createUser( { user: "", pwd: "", roles: [ { role: "clusterMonitor", db: "admin" } ] } )此外,为了与2.4版本兼容,代理可能尝试查询local数据库。只授予clusterMonitor 角色,mongodb日志中会产生验证错误的信息,代理可以从这个错误中恢复,可以放心地忽略这些消息。
use admin db.addUser( { user: "", pwd: "", roles: [ "clusterAdmin", "readAnyDatabase" ] } )因为基本监控用户不需要dbAdminAnyDatabase 角色,mongodb日志可能会报告下面的信息:command denied: { profile: -1 }。 如果不希望MMS收集profile数据,可以忽略该信息。如果需要收集,就赋予该权限。
use admin db.createUser( { user: "", pwd: "", roles: [ { role: "clusterMonitor", db: "admin" } ] } )
use admin db.addUser( { user: "", pwd: "", roles: [ "clusterAdmin", "readAnyDatabase", "dbAdminAnyDatabase" ] } )
use admin db.createUser( { user: "", pwd: "", roles: [ { role: "clusterMonitor", db: "admin" } ] } )
use admin db.addUser( { user: "", pwd: "", roles: [ "clusterAdmin" ] } )
use admin db.createUser( { user: "", pwd: "", roles: [ "clusterAdmin", "readAnyDatabase", "userAdminAnyDatabase", { role: "readWrite", db: "admin" }, { role: "readWrite", db: "local" }, ] } )
use admin db.addUser( { user: "", pwd: "", roles: [ "clusterAdmin", "readAnyDatabase", "userAdminAnyDatabase" ], otherDBRoles: { local: ['readWrite'], admin: ['readWrite'] } } )
原文地址:MMS 代理权限验证需求(12), 感谢原作者分享。