MongoDB 的用户认证

MongoDB 2.2 的认证

https://docs.mongodb.com/v2.2/administration/security/

  • 提供了数据库级别的用户身份认证和授权
  • 用户认证授权信息保存在每个数据库的 db.system.users 集合中
  • 用户对数据库的操作权限有:只读和读写两种
  • 具有读写权限的用户可以为该数据库添加其它用户
  • 对 admin 数据库具有读写权限的用户,可以读写访问其它所有数据库
  • 对 admin 数据库具有只读权限的用户,可以只读访问其它所有数据库,除了写 admin.system.users

MongoDB 要求首先在 admin 上创建一个管理员用户,再通过此管理员去管理其它普通用户

建管理员用户

use admin
db.addUser("admin","admin")

建普通用户

use admin
db.auth("admin","admin")

use 数据库
db.addUser("用户名","密码", 是否只读)

MongoDB 2.4 的认证

https://docs.mongodb.com/manual/release-notes/2.4/#security-enhancements
https://docs.mongodb.com/v2.4/reference/security/

  • 引入了基于角色的权限模型
  • 引入了新的权限配置文档
  • 仍然兼容旧的 2.2 版本的权限模型(目前 DBA 线上数据库用的就是旧版的方式)

建管理员用户

use admin
db.addUser({user:"admin",pwd:"admin",roles:["userAdminAnyDatabase"]})

建普通用户

use admin
db.auth("admin","admin")

use 数据库
db.addUser({user:"用户名",pwd:"密码",roles:[角色,...]})

支持跨库授权(仅限于对 admin 库用户授予其它库的角色)

use admin
db.addUser( { user: "Carlos",
              pwd: "Moon1234",
              roles: [ "clusterAdmin" ],
              otherDBRoles: { config: [ "readWrite" ]
            } } )

MongoDB 2.6 的认证

https://docs.mongodb.com/v2.6/release-notes/2.6/#security-improvements
https://docs.mongodb.com/v2.6/security/

  • 支持自定义角色(admin.system.roles)
  • 权限的粒度支持到集合级别
  • 全局用户管理。用户信息统一保存到 admin 库(admin.system.users)
  • 提供了一套新的管理命令

建管理员用户

use admin
db.createUser(
  {
    user: "admin",
    pwd: "admin",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

建超级管理员用户。root 角色拥有最大的权限。通常用于执行集群配置等操作

use admin
db.createUser(
    {
      user: "superuser",
      pwd: "12345678",
      roles: [ "root" ]
    }
)

建普通用户

use 数据库
db.createUser(
  {
    user: "用户名",
    pwd: "密码",
    roles: [ { role: "read", db: "db1" }, {role:"readWrite", db: "db2"}, ... ]
  }
)

MongoDB 3.0 的认证

https://docs.mongodb.com/v3.0/release-notes/3.0/#security-improvements
https://docs.mongodb.com/v3.0/security/

  • 新版本的默认认证机制为 SCRAM-SHA-1,也仍支持旧版的 MONGODB-CR
  • 对 Localhost Exception 采取更加严格的限制

MongoDB 3.2 的认证

https://docs.mongodb.com/v3.2/security/

没有新变化

-eof-

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值