MongoDB用户权限相关

发布时间:2024年01月24日

mongodb 权限表格

Mongodb用户权限说明
用户管理校色角色说明
Read允许用户读取指定数据库
readWrite允许用户读写指定数据库
dbAdmin 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
dbOwner允许在当前DB中执行任意操作
readAnyDatabase赋予用户所有数据库的读权限,只在admin数据库中可用
readWriteAnyDatabase赋予用户所有数据库的读写权限,只在admin数据库中可用
userAdminAnyDatabase赋予用户所有数据库管理User的权限,只在admin数据库中可用
dbAdminAnyDatabase 赋予管理所有数据库的权限,只在admin数据库中可用
root超级账号,超级权限,只在admin数据库中可用
集群管理角色
clusterAdmin赋予管理集群的最高权限,只在admin数据库中可用
clusterManager 赋予管理和监控集群的权限
clusterMonitor 赋予监控集群的权限,对监控工具具有readonly的权限
hostManager赋予管理Server

创建角色

  • 查看数据库
    show dbs
  • 进入数据库
    use test
  • 查看当前数据库用户权限
    show users

    创建用户语句

# 为用户 user 设置了密码 :123456789
# 赋予了用户 user 对 admin 数据库的 clusterAdmin, readAnyDatabase 的权限
# 赋予了用户 user 对 testDB 数据库的 readWrite 权限
db.createUser(
    {
        user:"user",
        pwd:"123456789",
        roles:[  
            {role:"clusterAdmin", db:"admin" },         
            {role:"readAnyDatabase",db:"admin" }, 
            {role:"readWrite",db:"testDB" } 
        ]
    }
)

修改密码

  • 方式一
db.changeUserPassword("user","changepass");
  • 方式二
db.updateUser("user",{pwd:"changepass1"});

修改权限

  • 将用户 user 对 testDB 数据库的操作权限由 readWrite 权限替换为 read
db.updateUser("user",{roles:[ {role:"read",db:"testDB"} ]})

删除用户

db.dropUser('user')
文章来源:https://blog.csdn.net/Deeply_bless/article/details/135779093
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。