mongoDB权限问题

126 阅读1分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第3天,点击查看活动详情

1、前言

以下内容基于mongoDB 5.0.3。 MongoDB默认是没有开启用户认证的,此时,游客身份即拥有超级管理员的权限。

只有启用授权后,以下内容方可有效。

启用mongoDB授权:

修改bin路径下的 mongod.conf 文件

#启用授权
security:
  authorization: enabled

启用后,游客身份下创建的用户,将无法看到。(启用授权前:users能看到admin数据库的用户user2)

image.png

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

超级账号,超级权限