10.2启动角色权限控制功能基于角色与权限控制原理
-
默认情况下,mongod实例启动后,权限认证功能没有打开,即使配置文件里面显示指定了auth=true,因为数据库中没有任何权限信息;
-
但是MongoDB激活权限功能后,所有客户端连接操作都必须进行权限认证;
-
MongoDB采用基于角色的权限控制,一个角色是一组权限的集合,一个权限决定了用户对某个数据库可以有哪些操作,用户可能有一个或多个角色;
-
身份认证开始前,需要创建一个具有管理员角色用户,满足如下条件:
- 条件一:用户的身份验证数据库为系统数据库admin;
- 条件二:用户要有userAdmin角色或userAdminAnyDatabase角色;
-
步骤:
- 首先配置服务端
- 配置客户端(.\mongo.exe –port 27017)
-
use admin db.createUser({ user:"myAdmin", pwd:"123456", roles:[{role:"userAdminAnyDatabase",db:"admin"},"readWriteAnyDatabase"] })
- 终止当前程序
- 身份验证,用户登录
mongo --port 27017 -u "myAdmin" -p --authenticationDatabase "admin"
-p提示输入密码,注意密码在输入时不显示
-
测试