配置自定义数据库角色
如果内置角色不包括您所需的权限集,您可以在 Atlas 中创建自定义角色。Atlas 同时应用每个数据库用户的自定义角色与:
您可以为每个数据库用户分配多个自定义角色。
注意
免费集群、共享集群和无服务器实例限制
在 M0
免费集群、M2/M5
共享集群和无服务器实例中部署自定义角色的更改可能需要长达 30 秒。
可用于 自定义角色 和 自定义角色 API 的权限 操作 是可用于 内置角色的权限操作的子集。
要查看自定义角色特权列表,请参阅 API 参考资料。
考虑因素
重要
您必须使用Atlas CLI 、 Atlas Administration API 、Atlas UI 或支持的集成来添加、修改或删除 Atlas 集群上的数据库角色。否则,Atlas 将回滚任何角色修改。
您最多可以向单个数据库用户分配20个自定义角色,每个项目最多可以创建100自定义角色。如果您需要为每个数据库用户或每个项目提供更多自定义角色,请联系Atlas 支持部门。
Atlas 审核项目操作日志中的自定义 MongoDB 角色的创建、删除和更新操作
如果为用户分配了多个角色,而这些角色授予 某个对象的权限相互冲突,则 Atlas 会尊重任何角色内的 最高权限。
例子
您创建两个自定义角色,并将其分配给用户 A:
第一个自定义角色仅授予数据库上的
read
特权。它还在数据库上授予bypassDocumentValidation 权限。第二个角色授予对数据库的
dbAdmin
特权。它不授予bypassDocumentValidation ,这是对绕过权限的隐式拒绝。
用户 A 将拥有数据库的所有
dbAdmin
特权,因为dbAdmin
是更高的数据库访问权限。用户 A 也将拥有bypassDocumentValidation ,因为bypassDocumentValidation是更高的旁路权限。
必需的访问权限
要配置自定义数据库角色,您必须拥有 Atlas 的 Organization Owner
或 Project Owner
访问权限。
添加自定义角色
查看自定义角色
修改自定义角色
删除自定义角色
出现以下情况时无法删除自定义角色:
删除角色后,一个或多个子角色将没有父角色或操作。
当删除角色会导致一个或多个数据库用户没有角色时。
分配自定义角色
添加数据库用户或修改数据库用户时,可以在 Atlas 用户界面中分配自定义角色。要通过 Atlas Administration API 分配自定义角色,请参阅创建数据库用户或更新数据库用户。