0


Mongodb安全访问控制操作案例

文章目录

安全访问控制

新建mongodb用户

  • 在虚拟机中控制mongodb,并在admin数据库中新建用户
db.createUser({user:"taotao",pwd:passwordPrompt(),roles:[{role:"userAdminAnyDatabase",db:"admin"}]})

在这里插入图片描述

修改配置文件开启权限访问

vi /opt/servers/mongodb_demo/mongodb/conf/mongod.conf 
security:
  authorization: enabled

在这里插入图片描述

重启mongodb服务

这里我们重启服务使用重启虚拟机方式(比较方便)

启动

mongod -f /opt/servers/mongodb_demo/mongodb/conf/mongod.conf 

权限说明(PPT)

在这里插入图片描述
在这里插入图片描述

尝试直接访问数据库

数据库为空,因为我们设置了用户权限,必须登录才能正常访问数据库

在这里插入图片描述

直接切换admin进行控制,登录用户taotao

  • 注意,需要先使用指定库,再进行登录操作
use admin
db.auth("taotao","12345")

在这里插入图片描述

创建基于管理员用户的“子用户”

创建一个基于Admin-taotao的用户taotaouser1,该用户只有admin数据库的read权限

db.createUser({user:"taotaouser",pwd:"12345",roles:[{role:"read",db:"admin"}]})

在这里插入图片描述

检查是否创建成功

show users

在这里插入图片描述

查看指定用户信息

db.getUser("taotaouser")

在这里插入图片描述

尝试使用子用户进行数据库操作

向集合中插入数据

向mycollection集合插入数据

db.mycollection.insert({"a":1,"b":2})

权限不足

在这里插入图片描述

使用admin用户给taotaouser赋予write权限

db.grantRolesToUser("taotaouser",[{role:"readWrite",db:"admin"}])

在这里插入图片描述

再次尝试使用taotaouser用户添加数据

写数据成功

在这里插入图片描述

其他权限、功能赋予或删除[图文]

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

问题(多个role,代表担任多个角色)

表示此用户既可以读,又可以读写
在这里插入图片描述


本文转载自: https://blog.csdn.net/qq_39123467/article/details/127712112
版权归原作者 鬼鬼骑士 所有, 如有侵权,请联系我们删除。

“Mongodb安全访问控制操作案例”的评论:

还没有评论