MongoDB的权限控制
来源:互联网 发布:新一代人工智能规划 编辑:程序博客网 时间:2024/06/06 16:37
权限控制API
所有数据库的角色控制
首先在启用权限控制时,需要在启动MongoDB时指定启动,可以通过配置文件或启动命令添加:
D:\MongoDB\Server\3.2\bin>mongod --auth
再次连接到MongoDB,执行命令时显示无权限了:
> show dbs2017-03-08T10:22:53.340+0800 E QUERY [thread1] Error: listDatabases failed:{ "ok" : 0, "errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }", "code" : 13} :
然后停掉授权模式,重新启动mongod,添加用户,分配权限:
> db.createUser({user:'linfenliang',pwd:'123456',roles:[{role:'root',db:'admin'}]})Successfully added user: { "user" : "linfenliang", "roles" : [ { "role" : "root", "db" : "admin" } ]}
再次连接到Mongodb,查看:
D:\MongoDB\Server\3.2\bin>mongo.exe -u linfenliang -p 1234562017-03-08T10:26:43.075+0800 I CONTROL [main] Hotfix KB2731284 or later update is not installed, will zero-out data filesMongoDB shell version: 3.2.9connecting to: test> show dbsadmin 0.000GBlocal 0.000GBtest 0.013GBuser_restore 0.000GB
查看admin下的system.users可以看到用户信息:
> use adminswitched to db admin> show collectionssystem.userssystem.version> db.system.users.find(){ "_id" : "test.linfenliang", "user" : "linfenliang", "db" : "test", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "K65ZgJZS9hUtULJHAZ7vcg==", "storedKey": "pkki81sYP0tvuO4F6YcXTQCm3es=", "serverKey" : "/7y0nALEIU9PSeXNhXTVjmkAiLA=" } }, "roles" : [ { "role" : "root", "db" : "admin" } ] }
role中root是权限最大的橘色,还有一些其他角色,可供参考:
readAnyDatabase
readWriteAnyDatabase
userAdminAnyDatabase 针对所有数据库的用户管理权限
dbAdminAnyDatabase 针对所有数据库的管理权限
单个数据库的角色控制
主要是role改成了 dbOwner,
命令如下所示:
> db.createUser({user:'lin',pwd:'123',roles:[{role:'dbOwner',db:'user_restore'}]})Successfully added user: { "user" : "lin", "roles" : [ { "role" : "dbOwner", "db" : "user_restore" } ]}
然后在admin库中授权,然后切换到user_restore即可:
> use adminswitched to db admin> db.auth('lin','123')1> use user_restore
单个数据库的授权,除了dbOwner以外,还有如下常用角色:
dbAdmin
userAdmin
复制集与集群的权限控制
复制集以及集群的权限控制稍微要麻烦一些
复制集中:
- 创建一个包含6个字符以上的文件,并被部署到复制集中的每一个节点上,作为授权码
- 在每一个节点启动时,添加 –keyFile选项,并指向该文件地址
分片集群中:
与复制集中相似,均需要在启动时添加 keyFile选项并指向密码文件。
0 0
- MongoDB的权限控制
- mongodb 访问权限控制
- MongoDB 安全权限访问控制
- MongoDB 安全权限访问控制
- MongoDB高可用架构 集群权限控制
- mongoDB 3.0 安全权限访问控制(转)
- mongoDB 3.0 安全权限访问控制
- mongoDB 3.0 安全权限访问控制
- mongoDB 3.0安全权限访问控制
- mongoDB 3.0 安全权限访问控制
- mongoDB 3.0 安全权限访问控制
- mongoDB 3.0 安全权限访问控制
- MongoDB 3.0+ 安全权限访问控制
- mongoDB 3.0 安全权限访问控制
- MongoDB 3.0安全权限访问控制
- mongoDB 3.0 安全权限访问控制
- mongoDB 3.0 安全权限访问控制
- mongoDB 3.0 安全权限访问控制
- GCD
- jsp页面乱码
- C# 处理word IOException
- Linux下用户组、文件权限详解
- Android File存储
- MongoDB的权限控制
- 基于 okhttp 封装网络库 (2)
- “认知安全”是怎样一种安全?
- 设计模式-命令模式
- ionic打包apk报错问题A problem occurred configuring root project 'android'.
- Logstash
- org.apache.hadoop.io.nativeio.NativeIO$Windows.access0
- Android 无限循环ViewPager滑动空白Bug及报错跳坑
- 关于UDP和TCP通讯的介绍