MongoDB 的用户认证

来源:互联网 发布:淘宝评价了还能退款吗 编辑:程序博客网 时间:2024/04/30 12:02

MongoDB 2.2 的认证

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

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

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

建管理员用户

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

建普通用户

use admindb.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 admindb.addUser({user:"admin",pwd:"admin",roles:["userAdminAnyDatabase"]})

建普通用户

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

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

use admindb.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 admindb.createUser(  {    user: "admin",    pwd: "admin",    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]  })

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

use admindb.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
原创粉丝点击