MongoDB用户,角色管理 --- MongoDB基础用法(三)
用户管理
用户创建
MongoDB采用基于角色的访问控制(RBAC)来确定用户的访问。 授予用户一个或多个角色,确定用户对MongoDB资源的访问权限和用户可以执行哪些操作。 用户应该只有最小权限集才能确保最小权限的系统。
MongoDB系统的每个应用程序和用户都应该映射到不同的用户。 这种访问隔离便于访问撤销和持续的用户维护。
创建管理员用户
要在MongoDB部署中创建用户,请连接到部署,然后使用db.createUser()方法或createUser命令添加用户。
> use admin
> db.createUser(
{
user:"root",
pwd:"123456",
roles:[{role:"root",db:"admin"}]
}
)
修改密码
db.changeUserPassword("username","newpassword")
用户删除
db.dropUser("root")
用户认证
db.auth('user','pwd')
用户查询
db.system.users.find()
删除用户角色
db.revokeRolesFromUser(
"usename",
[
{ role: "readWrite", db: "accounts" }
]
)
添加用户角色
db.grantRolesToUser(
"reportsUser",
[
{ role: "read", db: "accounts" }
]
)
角色管理
自定义角色保存在admin数据库system.roles集合中
添加角色
db.createRole(
{
role: "<name>",
privileges: [
{
resource: { db: "myApp", collection: "" },
actions: [ "insert", "dbStats", "collStats", "compact" ]
}
...
],
roles: [
{ role: "<role>", db: "<database>" } | "<role>",
...
],
authenticationRestrictions: [
{
clientSource: ["<IP>" | "<CIDR range>", ...],
serverAddress: ["<IP>" | "<CIDR range>", ...]
},
...
]
}
)
查看角色
db.getRole("rolename",{showPrivileges:true})
删除角色
db.dropRole("rolename")
角色权限
| 角色 | 权限 |
|---|---|
| read | 允许用户读取指定数据库 |
| readWrite | 允许用户读写指定数据库 |
| dbAdmin | 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile |
| dbOwner | 允许在当前DB中执行任意操作 |
| useradmin | 允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户 |
| readAnyDatabase | 赋予用户所有数据库的读权限,只在admin数据库中可用 |
| readWriteAnyDatabase | 赋予用户所有数据库的读写权限,只在admin数据库中可用 |
| userAdminAnyDatabase | 赋予用户所有数据库管理User的权限,只在admin数据库中可用 |
| dbAdminAnyDatabase | 赋予管理所有数据库的权限,只在admin数据库中可用 |
| root | 超级账号,超级权限,只在admin数据库中可用。 |
| clusterAdmin | 赋予管理集群的最高权限,只在admin数据库中可用 |
| clusterManager | 赋予管理和监控集群的权限 |
| clusterMonitor | 赋予监控集群的权限,对监控工具具有readonly的权限 |
| hostManager | 赋予管理Server |
更多:https://docs.mongodb.com/manual/core/security-user-defined-roles/
MongoDB用户,角色管理 --- MongoDB基础用法(三)的更多相关文章
- 七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理
系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 七天学会ASP.NET MVC (三)— ...
- 七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理 【转】
http://www.cnblogs.com/powertoolsteam/p/MVC_five.html 系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会 ...
- MongoDB用户权限管理配置
MongoDB系列第一课:MongDB简介 MongoDB系列第二课:MongDB环境搭建 MongoDB系列第三课:MongDB用户管理 MongoDB系列第四课:MongoDB数据库.集合.文档的 ...
- MongoDB用户权限管理
创建用户账号: (roles参数指定了用户的角色以及这个账号授权的数据库,在同一个数据库中不能同时创建两个用户名相同的账号) Mongodb内置的用户角色: 数据库用户角色:read.readWrit ...
- mongodb用户权限管理的CRUD
https://blog.csdn.net/weixin_34332905/article/details/88759759?utm_medium=distribute.pc_relevant.non ...
- soanr - 企业用户角色管理
首先sonar支持群组 即 支持企业角色权限管理,其次sonar支持单项目用户权限管理 即 外包,客户,外编人员用户权限管理. (视图内可看到源码) 按照 管路员.产品/项目管理.产品/项目开发.外包 ...
- [MongoDB] 用户权限管理
在新环境按照原来的步骤新装了MongoDB,结果出现了一些错误,才发现版本升到了2.6.1,用户权限相关的内容全部改掉了. 现在使用Role来管理用户,有一些内置的Role,也可以自定义Role. 内 ...
- mongodb用户权限管理(二)
数据库 分配用户权限 有了创建语法,和参数说明,接下来开始实践. 注意,还有一点,账号是跟着数据库绑定的,在那个库里授权,就在那个库里验证(auth) 否则会失败 创建 账号管理授权权限 的账号 &g ...
- MongoDB 用户角色
Read:允许用户读取指定数据库 readWrite:允许用户读写指定数据库 dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建.删除,查看统计或访问system.profile user ...
随机推荐
- 【FastDFS】小伙伴们说在CentOS 8服务器上搭建FastDFS环境总报错?
写在前面 在[冰河技术]微信公众号的[分布式存储]专题中,我们分别搭建了单节点FastDFS环境和高可用FastDFS集群环境.但是,之前的环境都是基于CentOS 6.8服务器进行搭建的.很多小伙伴 ...
- 爬虫日志监控 -- Elastc Stack(ELK)部署
傻瓜式部署,只需替换IP与用户 导读: 现ELK四大组件分别为:Elasticsearch(核心).logstash(处理).filebeat(采集).kibana(可视化) 在elastic官网下载 ...
- APPCNA 指纹验证登录
今天在APP中集成了指纹与手势登录功能,本文章分两部分进行记录.一是手势功能的逻辑.二是代码实现.该APP是采用APPCAN开发,直接用其已写好的插件,调用相当接口就要可以了. 1.在APP的个人中心 ...
- 对于filter的理解
filter语法:使用filter会创建一个新数组,所以原数组不变 array.filter(function(value,index,arr), thisValue) 其中:arr:数组(可选) i ...
- Python-如何拆分含有多种分隔符的字符串?
案例: 把某个字符串依据分隔符拆分,该字符包含不同的多种分隔符,如下 s = '12;;7.osjd;.jshdjdknx+' 其中 ; . + 是分隔符 有哪些解决方案? 方法1:通过str.spl ...
- 03 Comments in C Programming C编程中的注释
Comments 注释简介 Let's take a quick break from programming and talk about comments. Comments help progr ...
- Pock 把 Touch Bar 变成系统中的 Dock 栏
Pock 把 Touch Bar 变成系统中的 Dock 栏 Pock 是一款 macOS App,你可以通过它把 Touch Bar 变成系统中的 Dock 栏,直接用来切换和启动 App,尽享全屏 ...
- 3-kubernetes监控与日志管理
监控集群资源利用率 metrics-server是一个集群范围的资源使用情况的数据聚合器,作为一个应用部署在集群中 metrics-server从每个节点上kubelet API收集指标,通过kube ...
- Angluar2 项目搭建
一 使用 Angular CLI 官方脚手架 1.安装 cli npm install -g @angular/cli 2.创建工作空间和初始应用 ng new my-app 二 tsLint 代码格 ...
- day46 Pyhton 数据库Mysql 03
一内容回顾 存储引擎:主要描述的是数据存储的不同方式 innodb 支持事务\支持外键\行级锁\聚焦索引 myisam 不支持事务\不支持外键\表级锁\非聚焦索引 memory 只能在内存中存储表数据 ...