本文共 1036 字,大约阅读时间需要 3 分钟。
MongoDB 数据库通常需要建立认证连接,这要求用户对数据库进行管理员和用户认证。在创建管理员和用户时,分配的角色是决定用户操作数据库权限的关键。
MongoDB 4.0 及以上版本支持多种数据库用户角色(Database User Roles),主要包括以下几种:
read:授予用户仅读数据的权限,允许用户读取指定数据库的数据。 readWrite:授予用户读写数据的权限,允许用户读取和写入指定数据库的数据。 此外,MongoDB 还提供了数据库管理角色(Database Administration Roles),主要用于管理数据库的各项操作:
dbAdmin:授予用户在当前数据库中执行管理操作的权限,包括索引的创建、删除、统计及查看等。 dbOwner:授予用户在当前数据库中执行任意操作的权限,包括增、删、改、查等所有操作。 userAdmin:授予用户在当前数据库中管理用户的权限,包括创建、删除和修改用户。 还有一些备份和还原角色(Backup and Restoration Roles),用于数据库的数据备份和恢复操作:
backup:授予用户执行备份操作的权限。 restore:授予用户执行还原操作的权限。 在跨库角色(All-Database Roles)中,MongoDB 提供了以下权限:
readAnyDatabase:授予用户在所有数据库中读取数据的权限,只有管理员账户可用。 readWriteAnyDatabase:授予用户在所有数据库中读写数据的权限,只有管理员账户可用。 userAdminAnyDatabase:授予用户在所有数据库中管理用户的权限,只有管理员账户可用。 dbAdminAnyDatabase:授予用户管理所有数据库的权限,只有管理员账户可用。 对于集群管理角色(Cluster Administration Roles),主要负责管理和监控 MongoDB 集群的权限:
clusterAdmin:授予用户管理集群的最高权限,只有管理员账户可用。 clusterManager:授予用户管理和监控集群的权限。 clusterMonitor:授予用户监控集群的权限,并对监控工具具有只读权限。 hostManager:授予用户管理服务器的权限。 最后,MongoDB 提供了超级角色(Super Master Roles),其中最重要的权限是 root,该角色授予用户最高级别的权限,仅在管理员账户中可用。
转载地址:http://iiffk.baihongyu.com/