mongodb创建local库用户_mongodb用户与角色使用
此文档以mongodb 4.0版本进行对用户权限和角色讲解,更详细内容可参考mongodb官方文档.
官方文档:https://docs.mongodb.com/manual/core/security-users/
一.mongodb内部角色
1.数据库用户角色
read --读取数据库对像的权限
readWrite --读取和修改数据库对像权限
2.数据库管理角色
dbAdmin --执行管理任务角色
dbOwner --数据库所有者,可以对数据库所有操作
userAdmin --当前数据库上创建,修改角色和用户功能
3.集群管理角色
clusterAdmin --集群管理员
clusterManager --管理集群和监控
clusterMonitor --监控集群和只读访问
hostManager --监控和管理服务器功能
4.备份恢复角色
backup --备份数据最小权限
restore --恢复权限
5.所有数据库角色
readAnyDatabase --只读所有数据库角色
readWriteAnyDatabase --读写所有数据库
userAdminAnyDatabase --除local之外的所有数据库相同的用户管理操作访问权限
dbAdminAnyDatabase --除local之外的所有数据库相同的权限
6.超级用户角色
root --提供所有资源readWriteAnyDatabase,dbAdminAnyDatabase,userAdminAnyDatabase,clusterAdmin,restore,backup
7.内部角色
__system --提供对数据库中的任何对象执行任何操作的权限
二.自定义角色
1.自定义角色格式
{
role: "",
privileges: [
{ resource: { }, actions: [ "", ... ] },
...
],
roles: [
{ role: "", db: "" } | "",
...
],
authenticationRestrictions: [
{
clientSource: ["" | "", ...],
serverAddress: ["" | "", ...]
},
...
]
}
2.自定义角色(对config库所有表可以增删改查,对users库usersCollection表更新,插入,删除,对所有数据库有查找权限)
> use admin
switched to db admin
> db.createRole(
{
role: "wuhan123", --角色名
privileges: [
{ resource: { db: "config", collection: "" }, actions: [ "find", "update", "insert", "remove" ] },
{ resource: { db: "users", collection: "usersCollection" }, actions: [ "update", "insert", "remove" ] },
{ resource: { db: "", collection: "" }, actions: [ "find" ] }
],
roles: [
{ role: "read", db: "admin" }
]
}
)
>
3.列出角色和删除角色
> db.getRole("wuhan123") --显示单个角色信息(wuhan123是角色名)
{
"role" : "wuhan123",
"db" : "admin",
"isBuiltin" : false,
"roles" : [
{
"role" : "read",
"db" : "admin"
}
],
"inheritedRoles" : [
{
"role" : "read",
"db" : "admin"
}
]
}
> db.getRoles() --显示当前库所有角色
[
{
"role" : "wuhan123",
"db" : "admin",
"isBuiltin" : false,
"roles" : [
{
"role" : "read",
"db" : "admin"
}
],
"inheritedRoles" : [
{
"role" : "read",
"db" : "admin"
}
]
}
]
> db.dropRole("wuhan123"); --删除角色
true
> db.dropAllRoles(); --删除所有角色
NumberLong(1)
>
三.创建用户并使用角色
1.创建用户格式
{
user: "",
pwd: "",
customData: { },
roles: [
{ role: "", db: "" } | "",
...
],
authenticationRestrictions: [
{
clientSource: ["" | "", ...]
serverAddress: ["" | "", ...]
},
...
],
mechanisms: [ "", ... ],
passwordDigestor: ""
}
2.创建用户使用角色
> use tong --进入数据库
switched to db tong
> db.createUser(
... {
... user: "u_tong", --指定用户名
... pwd: "system123", --指定密码
... roles: [ "readWrite", "dbAdmin" ] --使用数据库中的角色
... }
... )
Successfully added user: { "user" : "u_tong", "roles" : [ "readWrite", "dbAdmin" ] }
>
2.创建用户指定来源IP和目标IP
> use tong
switched to db tong
> db.createUser(
{
user: "u1_tong", --用户名
pwd: "system123", --密码
roles: [ { role: "readWrite", db: "tong" } ], --角色
authenticationRestrictions: [ {
clientSource: ["192.168.1.10"], --客户端IP
serverAddress: ["192.168.1.20"] --服务端IP
} ]
}
)>
3.查看用户和删除用户
> db.getUsers(); --查看当前数据库所有用户
[
{
"_id" : "tong.u1_tong",
"user" : "u1_tong",
"db" : "tong",
"roles" : [
{
"role" : "readWrite",
"db" : "tong"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
},
{
"_id" : "tong.u_tong",
"user" : "u_tong",
"db" : "tong",
"roles" : [
{
"role" : "readWrite",
"db" : "tong"
},
{
"role" : "dbAdmin",
"db" : "tong"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
]
> db.getUser("u_tong"); --查看指定用户
{
"_id" : "tong.u_tong",
"user" : "u_tong",
"db" : "tong",
"roles" : [
{
"role" : "readWrite",
"db" : "tong"
},
{
"role" : "dbAdmin",
"db" : "tong"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
> db.dropUser("u_tong"); --删除单个用户
true
> db.dropAllUsers(); --删除当前库所有用户
NumberLong(1)
>
4.将角色授权给用户
> db.grantRolesToUser(
"u_tong",[ "readWrite" , { role: "read", db: "tong" } ],
> )
mongodb创建local库用户_mongodb用户与角色使用相关推荐
- mongodb创建local库用户_mongodb用户创建与授权
## 1.用户授权 ## (1) 在非--auth模式下启动 /mongodb/bin/mongod --dbpath=/data/mongodb --logpath=/mongodb/logs/mo ...
- mongodb创建用户名和密码_mongodb用studio3T进行数据备份和用户的创建
首先,如果用yum安装mongodb数据库的话,后期是无法使用自带mongodump工具进行导入导出的,另外MongoDB Compass工具无法整个库导出,很不方便,这里就会用到一个mongodb很 ...
- python连接mongodb数据库、创建用户_mongodb对数据库创建用户名和密码
MongoDB 有一个用户管理机制,简单描述为管理用户组,这个组的用户是专门为管理普通用户而设的,暂且称之为管理员.管理员通常没有数据库的读写权限,只有操作用户的权限,我们只需要赋予管理员 userA ...
- mongodb创建普通用户并授权readWrite角色,并允许访问某一数据库
MongoDB 数据库默认角色 数据库用户角色:read.readWrite 数据库管理角色:dbAdmin.dbOwner.userAdmin 集群管理角色:clusterAdmin.cluster ...
- mongodb 创建只读用户
关闭mongo #先找到mongo的进程 ps -ef | grep mongo kill -9 {pid} 先停止mongodb的进程 修改配置文件mongo.conf dbpath=/opt/su ...
- MongoDB创建用户用户权限
创建用户 启动mongo 切换到admin库 创建admin - 可以对所有数据库进行管理 > db.createUser({user: "admin", pwd:" ...
- Mongodb创建用户角色
文章目录 一.Mongodb数据库用户角色? 二.创建用户,其权限有哪些 1.创建用户语法格式 2.字段解析 三.创建用户实列 总结 一.Mongodb数据库用户角色? MongoDB采用基于角色的访 ...
- MongoDB新建数据库、集合以及用户创建和权限设置
有段时间没用MongoDB了,最近因为业务需要开始使用MongoDB.这里就简单总结一下常用命令. 1.连接及查看所有数据库 mongo 主机ip:端口号/连接的数据库名 -u 用户名 -p 密码 / ...
- bartender的安全策略不允许指定的用户执行此操作_MongoDB用户和角色解释系列(上)...
1.介绍 本文讨论保护MongoDB数据库所需的访问控制.具体来说,我们可以使用这些特性来确保只有经过授权的用户才能访问数据库.每个MongoDB用户应该只能访问他们在组织中所扮演的角色所需要的数据, ...
最新文章
- Qt与OpenCV编程:在子线程打开摄像头用主线程显示
- ML之FE:数据处理—特征工程之稀疏特征的简介、如何处理、案例应用之详细攻略
- python逻辑题_这道逻辑题 用 Python 代码 如何实现?
- DWR的学习文档(Hello World,类型转换,Spring,Annotation)
- windows+caffe(三)——求取图片的均值
- UVA-11536 Smallest Sub-Array
- 前端学习(679):switch语句
- jq执行2次同样的方法怎么让第一次执行的不触发_你不知道的CMS GC
- Python编程基础15:异常
- 模型保存的方法-----仅保存权重
- The path ‘E:\ZERO‘ does not belong to a directory.
- 【转】如何使用瑞萨E10A调试SH系列不带片内FLASH的单片机
- Ectouch修改虚拟销售数量的方法
- java计算机毕业设计售楼系统源码+mysql数据库+系统+lw文档+部署
- 原win7系统迁移到SSD固态硬盘
- 汉语拼音声母、韵母表
- 开放平台API接口加密,签名策略
- Java中关于length和length()的问题小结
- 振动力学篇一:基本概念
- Erlang之父Joe Armstrong确认出席SDCC 2016中国软件开发者大会,并发表主题演讲
热门文章
- android最新设计规范,Android应用未来的设计规范
- 谷歌浏览器怎么设置字体 chrome默认字体设置方法
- 用IDEA debug按键功能
- Java JDBC篇4——数据库连接池
- 解决springBoot 的templates中html引入css文件失败
- 输出有样式的php,PHP导出带样式的Excel
- 如何从一张图片里取出其中一部分_如何鉴别坑人的锌合金龙头
- php可以支持代码重用技术的命令,Linux下的编程 PHP高级技巧全放送(一)
- linux必备工具,Linux装机必备工具
- android 动态广告图片,android – 如何在动态壁纸的设置屏幕中添加一个admob广告视图?...