針對每個數據庫進行控制。
read :提供了讀取全部非系統集合,以及系統集合中的system.indexes, system.js, system.namespaces
readWrite: 包含了全部read權限,以及修改全部非系統集合的和系統集合中的system.js的權限.mongodb
每個數據庫包含了下面的數據庫管理角色。
dbOwner:該數據庫的全部者,具備該數據庫的所有權限。
dbAdmin:一些數據庫對象的管理操做,可是沒有數據庫的讀寫權限。(參考:http://docs.mongodb.org/manual/reference/built-in-roles/#dbAdmin)
userAdmin:爲當前用戶建立、修改用戶和角色。擁有userAdmin權限的用戶能夠將該數據庫的任意權限賦予任意的用戶。數據庫
admin數據庫包含了下面的角色,用戶管理整個系統,而非單個數據庫。這些權限包含了複製集和共享集羣的管理函數。
clusterAdmin:提供了最大的集羣管理功能。至關於clusterManager, clusterMonitor, and hostManager和dropDatabase的權限組合。
clusterManager:提供了集羣和複製集管理和監控操做。擁有該權限的用戶能夠操做config和local數據庫(即分片和複製功能)
clusterMonitor:僅僅監控集羣和複製集。
hostManager:提供了監控和管理服務器的權限,包括shutdown節點,logrotate, repairDatabase等。
備份恢復權限:admin數據庫中包含了備份恢復數據的角色。包括backup、restore等等。服務器
admin數據庫提供了一個mongod實例中全部數據庫的權限角色:
readAnyDatabase:具備read每個數據庫權限。可是不包括應用到集羣中的數據庫。
readWriteAnyDatabase:具備readWrite每個數據庫權限。可是不包括應用到集羣中的數據庫。
userAdminAnyDatabase:具備userAdmin每個數據庫權限,可是不包括應用到集羣中的數據庫。
dbAdminAnyDatabase:提供了dbAdmin每個數據庫權限,可是不包括應用到集羣中的數據庫。函數
root: dbadmin到admin數據庫、useradmin到admin數據庫以及UserAdminAnyDatabase。但它不具備備份恢復、直接操做。ui
system.*集合的權限,可是擁有root權限的超級用戶能夠本身給本身賦予這些權限。spa
2.二、2.四、2.5的角色能夠賦予相應的用戶。設計
2.1的角色能夠賦予相應的用戶。rest
2.3的角色能夠賦予相應的用戶。對象