MongoDB 提供了多种角色来控制用户对数据库的访问权限。这些角色可以分为几大类,包括数据库用户角色、数据库管理角色、集群管理角色、备份恢复角色等。以下是详细的角色与权限划分:
角色分类
- 
数据库用户角色: - read:允许用户读取指定数据库。
- readWrite:允许用户读写指定数据库。
 
- 
数据库管理角色: - dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile。
- dbOwner:包含对数据所有的管理操作权限,即包含角色- readWrite、- dbAdmin和- userAdmin的权限。
- userAdmin:允许用户向system.users集合写入,可以在指定数据库里创建、删除和管理用户。
 
- 
集群管理角色: - clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
- clusterManager:包含对集群监控和管理操作的权限。
- clusterMonitor:监控集群的权限。
- hostManager:管理服务器的功能。
 
- 
备份恢复角色: - backup:提供备份数据所需的最低权限。
- restore:提供从备份中还原数据所需的权限。
 
- 
所有数据库角色: - readAnyDatabase:赋予用户所有数据库的读权限。
- readWriteAnyDatabase:赋予用户所有数据库的读写权限。
- userAdminAnyDatabase:赋予用户所有数据库的userAdmin权限。
- dbAdminAnyDatabase:赋予用户所有数据库的dbAdmin权限。
 
- 
超级用户角色: - root:只在admin数据库中可用,超级账号,超级权限。
 
权限说明
- 
数据库用户角色: - read:允许用户读取指定数据库。
- readWrite:允许用户读写指定数据库。
 
- 
数据库管理角色: - dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile。
- dbOwner:包含对数据所有的管理操作权限,即包含角色- readWrite、- dbAdmin和- userAdmin的权限。
 
- 
集群管理角色: - clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
 
- 
备份恢复角色: - backup:提供备份数据所需的最低权限。
- restore:提供从备份中还原数据所需的权限。
 
- 
所有数据库角色: - readAnyDatabase:赋予用户所有数据库的读权限。
- readWriteAnyDatabase:赋予用户所有数据库的读写权限。
 
- 
超级用户角色: - root:只在admin数据库中可用,超级账号,超级权限。
 
角色与权限的关联
每个角色都有一组预定义的权限,这些权限决定了用户可以对数据库执行哪些操作。例如,dbAdmin角色允许用户在特定数据库中执行管理任务,而root角色则提供了对所有数据库和集群的完全访问权限。
通过合理地划分角色和权限,可以确保MongoDB数据库的安全性,防止未授权访问和数据泄露。

 便宜VPS测评
便宜VPS测评










