mongodb内置角色

一、内置角色组织结构图

二、角色解释

2.1数据库用户角色

针对每个数据库进行控制。
read :提供了读取全部非系统集合,以及系统集合中的system.indexes, system.js, system.namespaces
readWrite: 包含了全部read权限,以及修改全部非系统集合的和系统集合中的system.js的权限.mongodb

 

2.2.数据库管理角色

每个数据库包含了下面的数据库管理角色。
dbOwner:该数据库的全部者,具备该数据库的所有权限。
dbAdmin:一些数据库对象的管理操做,可是没有数据库的读写权限。(参考:http://docs.mongodb.org/manual/reference/built-in-roles/#dbAdmin
userAdmin:为当前用户建立、修改用户和角色。拥有userAdmin权限的用户能够将该数据库的任意权限赋予任意的用户。数据库

 

2.3.集群管理权限

admin数据库包含了下面的角色,用户管理整个系统,而非单个数据库。这些权限包含了复制集和共享集群的管理函数。
clusterAdmin:提供了最大的集群管理功能。至关于clusterManager, clusterMonitor, and hostManager和dropDatabase的权限组合。
clusterManager:提供了集群和复制集管理和监控操做。拥有该权限的用户能够操做config和local数据库(即分片和复制功能)
clusterMonitor:仅仅监控集群和复制集。
hostManager:提供了监控和管理服务器的权限,包括shutdown节点,logrotate, repairDatabase等。
备份恢复权限:admin数据库中包含了备份恢复数据的角色。包括backup、restore等等。服务器

 

2.4.全部数据库角色

admin数据库提供了一个mongod实例中全部数据库的权限角色:
readAnyDatabase:具备read每个数据库权限。可是不包括应用到集群中的数据库。
readWriteAnyDatabase:具备readWrite每个数据库权限。可是不包括应用到集群中的数据库。
userAdminAnyDatabase:具备userAdmin每个数据库权限,可是不包括应用到集群中的数据库。
dbAdminAnyDatabase:提供了dbAdmin每个数据库权限,可是不包括应用到集群中的数据库。函数

2.5. 超级管理员权限

    root: dbadmin到admin数据库、useradmin到admin数据库以及UserAdminAnyDatabase。但它不具备备份恢复、直接操做。ui

    system.*集合的权限,可是拥有root权限的超级用户能够本身给本身赋予这些权限。spa

2.6. 备份恢复角色

    backup、restore;

2.7. 内部角色

    __system

三、角色设计

3.1用户管理

    2.二、2.四、2.5的角色能够赋予相应的用户。设计

3.2数据库管理

    2.1的角色能够赋予相应的用户。rest

3.3集群管理

    2.3的角色能够赋予相应的用户。对象

相关文章
相关标签/搜索