mongodb用户权限管理

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 用户权限管理简要说明

 创建自定义用户:

 1.添加用于全局管理的角色:

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

image.gif

2.添加管理某一数据库的角色,可以根据需要为其添加权限,也可以之后根据需求添加权限给他:

db.createUser(
   {
     user: "username",
     pwd: "password",
     roles: [{"role":"readWrite","db":"mydb"}]
     "read"
   }
)

image.gif

用户username现在具有读写mydb数据和读其他数据库的权限。

3.启用认证:

编辑mongod.conf文件为:

# mongod.conf
# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:
# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log
# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0
# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo
security:
   authorization: enabled
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:

image.gif

到此准备工作完成,重启mongod。

输入mongo启动客户端显示:

ongoDB shell version v4.4.2
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("791dd61e-6a92-449a-885e-1f5dae2d7c1e") }
MongoDB server version: 4.4.2

image.gif

在客户端输入:

> use admin
switched to db admin
> show users

image.gif

显示:

uncaught exception: Error: command usersInfo requires authentication :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.getUsers@src/mongo/shell/db.js:1639:15
shellHelper.show@src/mongo/shell/utils.js:914:9
shellHelper@src/mongo/shell/utils.js:819:15
@(shellhelp2):1:1

image.gif

未捕获异常:错误:命令usersInfo需要身份验证:

继续输入:

use mydb

image.gif

显示:

> use mydb
switched to db mydb
> show tables
Warning: unable to run listCollections, attempting to approximate collection names by parsing connectionStatus
> show Collections
uncaught exception: Error: don't know how to show [Collections] :
shellHelper.show@src/mongo/shell/utils.js:1191:11
shellHelper@src/mongo/shell/utils.js:819:15
@(shellhelp2):1:1
> show collections
Warning: unable to run listCollections, attempting to approximate collection names by parsing connectionStatus

image.gif

警告:无法运行listCollections,试图通过分析connectionStatus来近似集合名称

切回use admin输入全局管理身份验证:

> use admin
switched to db admin
> db.auth("root","password")
1

image.gif

显示为1,验证通过。

重复上面几个操作:

> use mydb
switched to db mydb
> show tables
depaone
> db.depaone.find()
{ "_id" : ObjectId("5fe044d5a05a6587dd767069"), "name" : "zhangsan", "age" : 23, "sex" : "msle", "wages" : 6000 }
>

image.gif

正常显示,用户权限设置成功!!


相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
5月前
|
JSON NoSQL MongoDB
Rockmongo详解:高效管理MongoDB的图形化利器
Rockmongo详解:高效管理MongoDB的图形化利器
107 0
|
5月前
|
存储 JSON NoSQL
MongoDB 插入文档:轻松管理数据录入与批量导入
MongoDB 插入文档:轻松管理数据录入与批量导入
|
6月前
|
存储 NoSQL 大数据
MongoDB 在内容管理场景的应用
MongoDB 在内容管理场景的应用
201 0
|
缓存 NoSQL Java
Spring Session MongoDB管理会话
Spring Session MongoDB管理会话
100 0
|
NoSQL MongoDB 数据库
分布式服务器框架之Server.Core库中实现YFUniqueEntity、YFUniqueIDBase 管理MongoDB 自定义Id的自增
YFUniqueEntity是数据库中的结构,GetUniqueID函数中会根据Type和自增步长去数据库中寻找该类型的当前ID是多少,然后会用当前的Id去加上步长,把更新后的新ID插入到MongoDB中记录着ID的那张表里。
|
SQL NoSQL MongoDB
分布式服务器框架之Servers.Core库中实现MongoDB对象实体类 管理对象ID
MongoDB中的ID是一个hash码,和传统的关系数据库相比MongoDB没有办法实现ID的自增,如果需要ID自增的话,所以要自己管理ID,并且把对应类型的ID写入到一个专门的Collection(其实就是Sql中的Table)里面去,每次创建新对象的时候,都要取到该类型当前的ID,然后在这个基础上+1,比如当前是角色的ID是1,又创建了一个新的角色,要在原来的基础上+1 ID=2。今天先把MongoDB的对象实体基类实现了。
|
NoSQL 安全 MongoDB
高可用mongodb集群(分片+副本):用户权限配置
高可用mongodb集群(分片+副本):用户权限配置
437 0
|
NoSQL MongoDB 数据库
MongoDB 用户角色管理
MongoDB 服务默认是没有账号密码的,客户端连接上即可进行各种操作。如果在配置文件中,指定了auth=true,即开启了认证,那么客户端连接后需要认证才能执行操作。
MongoDB 用户角色管理
|
存储 JSON NoSQL
4.0版本以上mongodb在Windows下载安装-添加Windows服务-安装可视化工具管理数据教程
4.0版本以上mongodb在Windows下载安装-添加Windows服务-安装可视化工具管理数据教程
203 0
4.0版本以上mongodb在Windows下载安装-添加Windows服务-安装可视化工具管理数据教程