MongoDB 的用户认证
2016-09-12 19:59
483 查看
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-enhancementshttps://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-improvementshttps://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-improvementshttps://docs.mongodb.com/v3.0/security/
新版本的默认认证机制为 SCRAM-SHA-1,也仍支持旧版的 MONGODB-CR
对 Localhost Exception 采取更加严格的限制
略
MongoDB 3.2 的认证
https://docs.mongodb.com/v3.2/security/没有新变化
-eof-
相关文章推荐
- 分享微信开发Html5轻游戏中的几个坑
- 如何在 Fedora 上安装 MongoDB 服务器
- PHP添加yaf xhprof mongodb 同理
- mongodb安装
- 如何在 Ubuntu 上安装 MongoDB
- 信息安全聚合 Sec-News 的重构之路
- Ruby on Rails框架程序连接MongoDB的教程
- perl操作MongoDB报错undefined symbol: HeUTF8解决方法
- C#中使用1.7版本驱动操作MongoDB简单例子
- 使用zabbix监控mongodb的方法
- Node.js的MongoDB驱动Mongoose基本使用教程
- MongoDB系列教程(四):设置用户访问权限
- MongoDB安装图文教程
- ASP.NET MVC4使用MongoDB制作相册管理
- node.js连接mongoDB数据库 快速搭建自己的web服务
- php mongodb操作类 带几个简单的例子
- php实现的mongodb操作类实例
- 解决mongodb在ubuntu下启动失败,提示couldn‘t remove fs lock errno:9 Bad file descriptor的错误
- 在PostgreSQL的基础上创建一个MongoDB的副本的教程
- 关于mongoose连接mongodb重复访问报错的解决办法