# 用户自定义角色

MongoDB提供了许多内置角色。如果内置角色无法满足描述权限集,可以创建自定义角色。

# 角色管理接口

MongoDB提供了db.createRole() (opens new window)方法添加角色。MongoDB还提供了更新现有自定义角色的方法。更多方法请查看Role Management (opens new window)

# 作用域

添加角色时,在指定的数据库中创建角色。MongoDB使用数据库和角色名的组合来唯一定义一个角色。

除了在admin数据库中创建的角色外,角色只能包含适用于其数据库的权限,并且只能从其数据库中的其他角色继承权限。

在admin数据库中创建的角色能够包含应用于admin数据库、其他数据库或集群资源的权限,并且可以从其他数据库和admin数据库中的角色继承权限。

# 角色数据集中化

MongoDB将所有的角色信息存储在admin数据库的system.roles表。

不要直接访问此表,要通过角色管理命令 (opens new window)来管理自定的角色。