mongodb权限管理篇

前言

开发过管理后台的同学们多多少少都接触过权限管理,所谓的权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源。常用的还是基于角色的权限模型(RBAC),mongodb用户角色管理也是基于RBAC模型。知道了这些我们可以带着问题去做实验,学习mongodb的权限管理。关于mongodb权限管理的更多参考可以查看官方的文档手册,mongodb用户管理方法

一、创建超级管理员

mongodb安装成功之后是没有超级管理员的,需要我们自行创建。默认情况下,mongodb默认有三个集合,分别为admin,config,local,我将会在admin这个集合上创建超级管理员,也就是添加用户与分配角色。

  1. 首先我们进入mongo
[root@iZupocrsg5bjaoZ ~]# mongo
MongoDB shell version v5.0.5
  1. 我们将使用admin这个集合
> use admin
switched to db admin
  1. 创建超级管理员(密码应该设置为强密码,以下只是方便演示)
> db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})
  1. 身份验证,也就是数据库登录,输出1代表登录成功
> db.auth("root","123456")
1
  1. 查看数据库
> show dbs
admin     0.000GB
config    0.000GB
local     0.000GB
  1. 查看当前所在数据库
> db
admin
  1. 获取当前数据库的所有用户
> db.getUsers()
[
	{
		"_id" : "admin.root",
		"userId" : UUID("23a08851-4008-49d7-b0d5-5d8b08c392b3"),
		"user" : "root",
		"db" : "admin",
		"roles" : [
			{
				"role" : "root",
				"db" : "admin"
			}
		],
		"mechanisms" : [
			"SCRAM-SHA-1",
			"SCRAM-SHA-256"
		]
	}
]
  1. 查看当前数据库状态
> db.stats()
  1. 获取当前数据库版本
> db.version()
  1. 查看当前mongodb服务地址
> db.getMongo()
connection to 127.0.0.1:27017

二、创建数据库与分配用户角色

mongodb角色分类,如果不知道角色职责,可以自行百度

  • 数据库用户角色:read、readWrite;
  • 数据库管理角色:dbAdmin、dbOwner、userAdmin;
  • 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
  • 备份恢复角色:backup、restore;
  • 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
  • 超级用户角色:root
  • 系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
  1. 要创建数据库与分配用户角色,我们首先得登进去admin集合
> use admin
switched to db admin
> db.auth("root","123456")
1
  1. 创建数据库,比如创建test数据库,直接use test
> use test
  1. 给test数据库分配用户角色
> db.createUser({user:"yezhiyaun",pwd:"123456",roles:[{role:"dbOwner",db:"test"}]})

三、结语

更多mongodb权限管理的实例同学们可以亲自探索,山外有山,人外有人,多思考,对实践,多反思,祝大家生活愉快。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

1条粉肠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值