一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第3天,点击查看活动详情。
1、前言
以下内容基于mongoDB 5.0.3。 MongoDB默认是没有开启用户认证的,此时,游客身份即拥有超级管理员的权限。
只有启用授权后,以下内容方可有效。
启用mongoDB授权:
修改bin路径下的 mongod.conf 文件
#启用授权
security:
authorization: enabled
启用后,游客身份下创建的用户,将无法看到。(启用授权前:users能看到admin数据库的用户user2)
2、DataBase Roles
2.1 数据库用户角色 read、readWrite
为用户指定 read 角色后,该用户只能查询指定数据库 为用户指定 readWrite 角色后,该用户只能读写指定数据库
2.2 数据库管理角色 dbAdmin、dbOwner、userAdmin
dbAdmin: 在当前数据库中执行管理操作的权限,如索引创建、删除,查看统计或访问system.profile dbOwner: 在当前数据库中执行任意操作 userADmin: 在当前db中管理user的权限
3、Administration Roles
3.1、集群相关的角色
暂时没搞集群,按下不表
3.2、所有数据库角色
readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase 赋予用户所有数据库的权限,权限分类为:read、readWrite、userAdmin、dbAdmin
3.3、root
超级账号,超级权限