欢迎光临
我们一直在努力

MMS监控代理与备份代理在MongoDB 2.4和2.6版本中的权限配置指南

概述

当 MongoDB 实例启用了身份验证后,MMS 的监控代理和备份代理在连接时也需要进行身份验证,并且必须为其授予相应的权限。所有用户账号均在 MongoDB 的 admin 数据库中定义。本文主要针对 MongoDB 2.4 和 2.6 版本进行说明。

MMS 监控代理的权限配置

MongoDB 2.6 实例

要监控 MongoDB 2.6 实例,代理用户必须拥有 clusterMonitor 角色。创建该用户的命令如下:

use admin
db.createUser( { user: "<username>",
                 pwd: "<password>",
                 roles: [
                   { role: "clusterMonitor", db: "admin" }
                 ] } )

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

MongoDB 2.4 实例

要监控 MongoDB 2.4 实例,代理用户需要具备以下权限:

  • clusterAdmin
  • readAnyDatabase

创建用户的命令如下:

use admin
db.addUser( { user: "<username>",
              pwd: "<password>",
              roles: [ "clusterAdmin",
                       "readAnyDatabase" ] } )

由于基础监控用户不需要 dbAdminAnyDatabase 角色,MongoDB 日志可能会报告类似 command denied: { profile: -1 } 的信息。如果不希望 MMS 收集 profile 数据,可以忽略该信息;如果需要收集,则需要赋予该权限。

MMS 监控与数据库 Profiling

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

MongoDB 2.6 实例

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

use admin
db.createUser( { user: "<username>",
                 pwd: "<password>",
                 roles: [ { role: "clusterMonitor", db: "admin" } ] } )

MongoDB 2.4 实例

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

  • clusterAdmin
  • readAnyDatabase
  • dbAdminAnyDatabase
use admin
db.addUser( { user: "<username>",
              pwd: "<password>",
              roles: [ "clusterAdmin",
                       "readAnyDatabase",
                       "dbAdminAnyDatabase"
                     ] } )

MMS 监控(不收集 dbStats 数据)

如果监控时不收集 dbStats 数据,那么监控数据中将不包含数据库存储、记录、索引和其他数据的统计信息。

MongoDB 2.6 实例

clusterMonitor 角色已包含执行 dbStats 操作的权限。创建用户命令如下:

use admin
db.createUser( { user: "<username>",
                 pwd: "<password>",
                 roles: [ { role: "clusterMonitor", db: "admin" } ] } )

MongoDB 2.4 实例

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

use admin
db.addUser( { user: "<username>",
              pwd: "<password>",
              roles: [ "clusterAdmin" ] } )

MMS 备份代理的权限配置

MongoDB 2.6 实例

要备份 MongoDB 2.6 实例,备份代理需要以下权限:

  • clusterAdmin
  • readAnyDatabase
  • userAdminAnyDatabase

同时,还需要对 local 库和 admin 库具有 readWrite 角色。创建用户命令如下:

use admin
db.createUser( { user: "<username>",
                 pwd: "<password>",
                 roles: [ "clusterAdmin", "readAnyDatabase",
                          "userAdminAnyDatabase",
                          { role: "readWrite", db: "admin" },
                          { role: "readWrite", db: "local" },
                        ] } )

MongoDB 2.4 实例

要备份 MongoDB 2.4 实例,备份代理需要以下权限:

  • clusterAdmin
  • readAnyDatabase
  • userAdminAnyDatabase

同时,还需要对 local 库和 admin 库具有 readWrite 角色。创建用户命令如下:

use admin
db.addUser( { user: "<username>",
              pwd: "<password>",
              roles: [ "clusterAdmin",
                       "readAnyDatabase",
                       "userAdminAnyDatabase"
                     ],
               otherDBRoles: { local: ['readWrite'],
                               admin: ['readWrite'] } } )
赞(0) 打赏
未经允许不得转载:云服务器推荐 » MMS监控代理与备份代理在MongoDB 2.4和2.6版本中的权限配置指南

评论 抢沙发

更好的WordPress主题

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

联系我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册