mongodb 角色总结

https://docs.mongodb.org/v3.0/reference/built-in-roles/#dbAdmin

数据库用户角色有:

read

readWrite

数据库管理员角色有:

dbAdmin

dbOwner (包含 dbAdmin,readWrite,userAdmin)

userAdmin

群集管理员角色有:

clusterAdmin (包含 clusterManager,clusterMonitor,hostManager)

clusterManager

clusterMonitor

hostManager

所有的数据库角色有:

readAnyDatabase

readWriterAnyDatabase

userAdminAnyDatabase

dbAdminAnyDatabase

超级用户角色

root(包含 readWriteAnyDatabase,dbAdminAnyDatabase,userAdminAnyDatabase,clusterAdmin)

内置角色(Built-in  Roles)

数据库角色

read:

可以访问非系统级别的所有collections的数据;

也可以读取 system.indexes     system.js    system.namespaces 集合中的数据;

允许调用下列功能:

collStats

dbHash

dbStats

find

killCursors

listIndexes

listCollections

readWrite:

可以调用读所有集合的功能,不能写系统级的集合除 system.js

允许调用下列功能:

collStats

convertToCapped

createCollection

dbHash

dbStats

dropCollection

createIndex

dropIndex

find

emptycapped

insert

killCurrsors

listIndexes

listCollections

remove

renameCollectionSameDB

update

数据库管理员角色

dbAdmin

1、可以在 system.indexes, system.namespaces, system.profile 集合上的下列操作:

collStats

dbHash

dbStats

find

killCursors

listIndexes

listCollections

dropCollection and createCollection on system.profile   only

2、可以在非系统级集合上调用以下操作:

collMod

collStats

compact

convertToCapped

createCollection

createIndex

dbStats

dropCollection

dropDatabase

dropIndex

enableProfiler

indexStats

reIndex

renameCollectionSameDB

repairDatabase

storageDetails

validate

3、dbAdmin角色不可全部访问系统级集合

userAdmin

该数据库管理员角色  提供 在当前数据库中 创建、修改 角色和用户账号的能力。

拥有该角色的用户可以给其他用户授予任何权限(包括userAdmin角色),这样就会间接导致超级用户的产生;

提供下列功能:

changeCustomData

changePassword

createRole

createUser

dropRole

dropUser

grantRole

revokeRole

viewRole

viewUser

dbOwner

该数据库管理员角色 具有 readWrite ,dbAdmin userAdmin 的所有角色

集群(复制集)管理员角色

clusterAdmin

该角色包含:clusterManager、clusterMonitor、hostManager和 dropDatabase

clusterManager

可以访问 local 和config 数据库

addShard

applicationMessage

cleanupOrphaned

flushRouterConfig

listShards

removeShard

replSetConfigure

replSetGetStatus

replSetStateChange

resync

enableSharding

moveChunk

splitChunk

splitVector

可以对 config 数据库执行

insert

remove

update

collStats

dbHash

find

killCursors

clusterMonitor

db.createUser({user:"mmsUser",pwd:"[email protected]",roles:["clusterMonitor"]})

connPollStats

cursorInfo

getCmdLineOpts

getLog

getParameter

getShardMap

hostInfo

inprog

listDatabases

lisstShards

netstat

replSetGetStatus

serverStatus

shardingState

top

collStats

dbStats

getShardVersion

在sharding的config 上提供

collStats

dbHash

dbStats

find

killCursors

hostManager

applicationMessage

closeAllDatabases

connPoolSync

cpuProfiler

diagLogging

flushRouterConfig

fsync

invalidateUserCache

killop

logRotate

resync

setParameter

showdown

touch

unlock

所有数据库角色 All-Database Roles

readAnyDatabase

在集群的所有数据库上  提供与 read角色相同的权限 ,同时提供 listDatabases 命令权限

readWriteAnyDatabase

在集群的所有数据库上  提供与 readWrite 角色相同的权限 ,同时提供 listDatabases 命令权限

userAdminAnyDatabase

在集群中的所有数据库上  提供和 userAdmin角色相同的权限,除此外还提供一下权限

authSchemaUpgrade

invalidateUserCache

listDatabases

该角色还提供在  admin数据库的 system.users   and   system.roles 上下列执行权限

collStats

dbHash

dbStats

find

killCursors

planCacheRead

createIndex

dropIndex

dbAdminAnyDatabase

在集群的所有数据库上  提供与 dbAdmin角色相同的权限 ,同时提供 listDatabases 命令权限

超级用户角色 Superuser Roles

root

可以运行 rolesInfo 命令来查询 某个角色在指定的数据库上具有的详细权限

db.runCommand({rolesInfo:{role:"dbAdmin",db:"dbName"}.showPrivileges:true})

亦或

db.runCommand({rolesInfo:[{role:"roleName",db:"dbName01"},{role:"roleName02",db:"dbName02"}],showPrivileges:true})

 

查看所有用户自定义角色和系统内置角色

db.runCommand({rolesInfo:1,showBuiltinRoles:true})

 

查看所有用户自定义角色

db.runCommand(rolesInfo:1,showPrivileges:true)

时间: 2024-10-14 19:46:46

mongodb 角色总结的相关文章

MongoDB学习笔记——数据库安装及配置

MongoDB数据库安装 MongoDB官方下载地址:https://www.mongodb.com/download-center 首先需要根据Windows版本选择正确的MongoDB版本进行安装,可以在命令行中输入以下指令检查Windows版本: wmic os get osarchitecture 32 位版本的 MongoDB 只支持 2G 以下的数据库,只适用于测试及评估. 点击下载下来的安装文件进行MongoDB数据库安装,如:mongodb-win32-x86_64-2008pl

Centos下mongodb的安装与配置

安装MongoDB的方法有很多种,可以源代码安装,在Centos也可以用yum源安装的方法. 1.准备工作 运行yum命令查看MongoDB的包信息(正常是没有信息提示的,我这里已经按安装好了) [[email protected]~]# yum info mongodb-org Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Installed Packages Name : mongodb-or

MongoDB学习--安装与管理

一.简介 MongoDB是一种强大.灵活,且易于扩展的通用型数据库.他能扩展出非常多的功能.如二级索引(secondary index).范围查询(range query).排序.聚合(aggregation),以及地理空间索引(geospatial index). 1.易于使用 MongoDB是一个面向文档(document-oriented)的数据库,而不是关系型数据库.面向文档的数据库不在有"行(row)"的概念,取而代之的是更为灵活的"文档(document)&quo

CentOS MongoDB 高可用实战

原文:https://www.sunjianhua.cn/archives/centos-mongodb.html 一.MongoDB 单节点 1.1.Windows 版安装 1.1.1 获取社区版本A. 查看Windows版本 cmd输入: B. 下载对应Windows版本地址: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/ 1.1.2 安装Windows社区版本 mongodb-win32-x86_6

Nodejs系列课程,从入门到进阶帮你打通全栈

本课程由社区博主:Scott 编写 本文通过提供给大家学习的方法,以及我个人录制的一系列视频,帮助你更快更好的学习 Nodejs,了解前后端的 HTTP 知识,以及配置和使用阿里云 ECS 来部署你的 Nodejs 项目,成为那个具有争议的全栈开发工程师. 要不要学习 Nodejs 如果你是前端开发工程师,你本地电脑上不可避免的要安装 Nodejs,作为工具也好,作为服务器也好,要帮助你做掉很多又脏又累的事情,比如 less/scss 的编译,ES6/7 到 ES5 的转换,Javascript

mongod.conf

mongod -f 'config path' MongoDB引入一个YAML-based格式的配置文件.2.4版本以前的仍然兼容. 我的mongodb配置文件: systemLog: destination: file path: "/var/log/mongo/mongod.log" quiet: true logAppend: true timeStampFormat: iso8601-utc storage: dbPath: "/var/lib/mongo"

Mongodb的副本集节点角色介绍及选举过程浅析

一个副本集ReplicaSet一般由一组mongod实例组成,这组mongod实例协调配合工作,共同向外提供高可用的数据库访问服务. 副本集中的不同节点虽然都是mongod实例,但是角色上却有不同,一般分为三种:主节点.副本节点和仲裁者节点. 主节点:负责所有的数据库写操作,默认情况下,主节点也负责处理所有的数据库读操作: 副本节点:负责同步主节点的数据操作日志更新本地数据库,从而保证副本节点的数据和主节点上的数据的一致性:副本节点的从某种意义上来讲有点像赛跑,永远在追赶主节点的数据操作: 仲裁

MongoDB用户及权限管理(一):角色说明

mongodb安装完后默认是不开启auth模块的,普通用户和超级管理员均不通过认证就可操作.当然裸奔有风险,安全起见还是开启auth模块. 首先需要了解下面几点: 1.mongodb是没有默认管理员账号,所以要先添加管理员账号,然后开启权限认证. 2.切换到admin数据库,添加的账号才是管理员账号. 3.用户只能在用户所在数据库登录,包括管理员账号. 4.管理员可以管理所有数据库,但是不能直接管理其他数据库,要先在admin数据库认证后才可以.这一点比较怪. 1.用户权限角色说明 1.1  D

MongoDB的内置角色 Built-In Roles

关于芒果的权限控制说白了就是定义 Role(角色) 来控制对数据库进行的操作(调用的方法比如查询方法find). 系统内置的Role分为 以下几大类: Database User Roles 这个是针对非系统数据库和部分系统表的角色组 Database Administration Roles 可以操作所有数据库 Cluster Administration Roles 管理员族 针对整个系统进行管理 Backup and Restoration Roles 备份还原角色组 All-Databa