MMS 代理权限验证需求(12)

网友投稿 601 2023-02-13

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

MMS 代理权限验证需求(12)

mongodb admin数据库定义所有用户账号。

本节主要正对mongodb2.4和mongodb2.6版本来说的。

MMS 监控

MongoDB 2.6

监控mongodb2.6实例,代理用户必需要有clusterMonitor角色。

1
2
3
4
5
6
useadmin
db.createUser({user:"<username>",
pwd:"<password>",
roles:[
{role:"clusterMonitor",db:"admin"}
]})

此外,为了与2.4版本兼容,代理可能尝试查询local数据库。只授予clusterMonitor 角色,mongodb日志中会产生验证错误的信息,代理可以从这个错误中恢复,可以放心地忽略这些消息。

MongoDB 2.4

要监控mongodb2.4实例,代理用户必需要以下权限:

clusterAdminreadAnyDatabase

1
2
3
4
5
useadmin
db.addUser({user:"<username>",
pwd:"<password>",
roles:["clusterAdmin",
"readAnyDatabase"]})

如果不希望MMS收集profile数据,可以忽略该信息。如果需要收集,就赋予该权限。

MMS Monitoring with Database Profiling

Profiling 可以捕获正在进行的读写操作,cursor 操作和有关数据库的数据库命令的信息。

MongoDB 2.6

带数据库profiling监控2.6版本需要clusterMonitor 角色权限。

1
2
3
4
useadmin
db.createUser({user:"<username>",
pwd:"<password>",
roles:[{role:"clusterMonitor",db:"admin"}]})

MongoDB 2.4

带数据库profiling监控2.4版本需要以下角色权限:

clusterAdminreadAnyDatabasedbAdminAnyDatabase

1
2
3
4
5
6
7
useadmin
db.addUser({user:"<username>",
pwd:"<password>",
roles:["clusterAdmin",
"readAnyDatabase",
"dbAdminAnyDatabase"
]})

MMS Monitoring without dbStats

监控没有dbStats会产生监控数据没有数据库存储,记录,索引和其他数据的统计。也就是不会收集到dbStats下的数据。

MongoDB 2.6

clusterMonitor 角色包含执行dbStats操作的权限。

1
2
3
4
useadmin
db.createUser({user:"<username>",
pwd:"<password>",
roles:[{role:"clusterMonitor",db:"admin"}]})

MongoDB 2.4

监控2.4版本需要clusterAdmin 角色权限。

1
2
3
4
useadmin
db.addUser({user:"<username>",
pwd:"<password>",
roles:["clusterAdmin"]})

MMS 备份

MongoDB 2.6

要备份的MongoDB2.6实例,备份代理需要以下权限:

clusterAdminreadAnyDatabaseuserAdminAnyDatabase

同时,还需要以下的角色:

readWrite  对local库的角色readWrite  对admin库的角色

1
2
3
4
5
6
7
8
useadmin
db.createUser({user:"<username>",
pwd:"<password>",
roles:["clusterAdmin","readAnyDatabase",
"userAdminAnyDatabase",
{role:"readWrite",db:"admin"},
{role:"readWrite",db:"local"},
]})

MongoDB 2.4

要备份的MongoDB2.4实例,备份代理需要以下权限:

clusterAdminreadAnyDatabaseuserAdminAnyDatabase

同时,还需要以下的角色:

readWrite  对local库的角色readWrite  对admin库的角色

1
2
3
4
5
6
7
8
9
useadmin
db.addUser({user:"<username>",
pwd:"<password>",
roles:["clusterAdmin",
"readAnyDatabase",
"userAdminAnyDatabase"
],
otherDBRoles:{local:['readWrite'],
admin:['readWrite']}})
上一篇:运维启动事件升级程序(运维启动事件升级程序是什么)
下一篇:it运维团队(it运维团队绩效)
相关文章

 发表评论

评论列表