order_main 仅读、order_log 可写),通过自定义角色精确限定到目标集合,避免使用 readWrite 等粗粒度角色导致越权。find、insert,不允许 drop、update)时,通过自定义角色组合具体 Action,将权限范围严格收敛到业务实际需要的命令集。admin 库;通过 mongo shell 或驱动直接在非 admin 库创建的自定义角色也支持在角色列表中展示和管理。角色类别 | 作用范围 | 适用场景 |
数据库角色 | 单个数据库下的全部集合 | 单库读写、单库管理 |
全局角色 | 实例内全部数据库或整个集群 | 跨库读写、集群管理、备份恢复 |
自定义角色 | 由角色定义决定,可精确到集合和 Action | 库表级精细授权、命令级权限管控 |
角色名 | 功能含义 | 典型使用场景 |
read | 在指定数据库内执行查询操作,可读取所有非系统集合的数据。 | 业务只读账号、报表查询账号、运营数据查询账号。 |
readWrite | 在指定数据库内执行读写操作,包含查询、插入、更新、删除以及集合管理。 | 业务读写账号,是最常用的应用接入角色。 |
dbOwner | 在指定数据库内拥有最高权限,包含 readWrite 的全部能力,并可进行用户管理和数据库管理操作。 | 单库管理员、独立业务线 DBA。 |
userAdmin | 在指定数据库内管理账号和角色(创建、修改、删除),但不具备数据读写能力。 | 数据库权限管理员,与数据使用人员职责分离。 |
dbAdmin | 在指定数据库内执行管理操作,如创建索引、查看统计信息、修改集合结构,但不具备数据读写权限。 | 性能优化人员、DBA 运维账号。 |
角色名 | 功能含义 | 典型使用场景 |
readAnyDatabase | 对实例内所有数据库具有读权限,等同于在每个数据库都绑定 read 角色。 | 全局只读账号、跨库报表分析账号。 |
readWriteAnyDatabase | 对实例内所有数据库具有读写权限,等同于在每个数据库都绑定 readWrite 角色。 | 跨多库的业务账号、数据迁移账号。 |
userAdminAnyDatabase | 对实例内所有数据库具有账号和角色管理权限,但不具备数据读写能力。 | 全局权限管理员。 |
dbAdminAnyDatabase | 对实例内所有数据库具有管理操作权限(索引、统计、集合结构),但不具备数据读写能力。 | 全局 DBA 运维账号。 |
root、__system)可对实例进行任意操作,建议仅在应急运维、迁移等特定场景下短期授予,不建议长期分配给业务账号。directShardOperations 绕过了 mongos 的统一路由,误用可能导致集群无法正常工作甚至数据损坏,请仅在腾讯云技术支持指导下使用。角色名 | 功能含义 | 典型使用场景 |
root | 拥有实例几乎所有的内置角色权限,可对实例进行任意操作。 | 应急运维、故障处理。不建议长期分配给业务账号。 |
__system | MongoDB 内部专用角色,可对集群内任意对象执行任意操作。 | 仅供 MongoDB 内部系统调用。不建议授予任何用户账号。 |
directShardOperations 绕过了 mongos 的统一路由,误用可能导致集群无法正常工作甚至数据损坏,请仅在腾讯云技术支持指导下使用。角色名 | 功能含义 | 典型使用场景 |
clusterManager | 在集群上执行管理和监控操作(如配置分片、添加节点),不包含数据访问权限。 | 集群运维账号。 |
clusterAdmin | 集群最高管理权限,组合 clusterManager、clusterMonitor、hostManager 三个角色的全部能力。 | 集群级管理员。 |
clusterMonitor | 对集群进行只读监控访问,可查看集群运行状态、节点信息、慢日志等。 | 监控采集账号、巡检账号。 |
hostManager | 对集群中的服务器进行运维操作(如关闭节点、刷新配置)。 | 集群运维账号。 |
directShardOperations | 允许直接连接分片节点执行运维命令(仅 MongoDB 8.0及以上版本支持)。 | 仅在维护操作或腾讯云技术支持指导下使用。误用可能导致集群异常或数据损坏。 |
enableSharding | 允许对数据库启用分片以及对集合进行分片操作。 | 分片集群初始化账号。 |
searchCoordinator | 协调 Atlas Search 等搜索类工作负载所需的集群权限。 | Atlas Search 场景的运维账号。 |
角色名 | 功能含义 | 典型使用场景 |
backup | 提供使用备份工具(如 mongodump)对实例进行全量备份所需的最小权限集。 | 备份工具账号。 |
restore | 提供使用恢复工具(如 mongorestore)将备份数据恢复到实例所需的权限集。 | 恢复工具账号。 |

字段名称 | 字段说明 |
角色名 | 角色的唯一标识。 内置角色名为 MongoDB 标准角色名(如 readWrite)。自定义角色名为创建时设定的名称。 |
角色类别 | 取值为数据库角色、全局角色、自定义角色三类。 |
所属数据库 | 角色所属的数据库名称。对于全局角色和部分特定内置角色,通常归属于 admin 数据库。 |
授权角色和命令 | 仅自定义角色展示该字段,列出该角色继承的角色清单和直接配置的 Action 清单。内置角色该字段为‘--’。 |
操作 | 自定义角色支持修改、删除操作;内置角色仅支持查看操作。 |

audit_readonly。权限来源 | 说明 | 与账号直接绑定角色的差异 |
全局角色 | 继承一个或多个系统预设的全局角色权限,其权限效力作用于实例下的所有数据库。 | |
全局操作 | 按操作命令(Action)粒度授予全局维度的管理权限(如 listDatabases、shutdown)。 | 账号直接绑定角色时不支持此粒度。 |
数据库角色 | 继承一个或多个特定数据库的角色权限,其权限效力作用于指定的数据库。 | |
数据库操作 | 按操作命令(Action)粒度授予指定数据库维度的管理权限(如 listCollections、createCollection)。 | 账号直接绑定角色时不支持此粒度。 |
collection 操作 | 按操作命令(Action)粒度授予指定数据库下特定集合(Collection)的数据操作权限(如 find、insert、update、remove)。 | 账号直接绑定角色时不支持此粒度。 |
自定义角色 | 继承一个或多个已存在的其他自定义角色权限,实现权限的层级嵌套与复用。 说明: 自定义角色继承不支持循环引用(如角色 A 继承 B,B 又继承 A),系统会在创建时进行校验拦截。 |

API 接口名称 | 描述 |
DescribeInstanceRoles | 查询当前实例的角色列表 |
CreateInstanceRole | 创建自定义角色 |
UpdateInstanceRole | 修改自定义角色 |
DeleteInstanceRole | 删除自定义角色 |
read、readWrite),用户仅可查看和使用,不能修改或删除其权限定义。自定义角色由用户根据业务需要创建,支持组合多种权限来源(全局角色 / 数据库角色 / Action / 已有自定义角色),并可精确到数据库、集合和单个操作命令的粒度。当内置角色无法满足业务的精细授权需求时,建议使用自定义角色。admin 库的自定义角色并展示在角色列表中,对应的修改、删除操作在控制台和内核之间保持数据一致。建议统一通过控制台进行角色管理,避免控制台与内核中同名角色的权限差异。文档反馈