RBAC 和用户管理¶
角色和权限¶
Galaxy NG 使用基于 Django 权限模型的基于角色的权限系统。权限分组为角色,角色通过组分配给用户。例如,如果用户希望授予帐户添加用户和组的权限,他们可以创建一个具有以下权限的角色并将该角色分配给用户的组。
- 添加用户
- 查看用户
- 添加组
- 查看组
最终,应用程序只检查权限,但是权限不能直接分配,必须通过角色分配。
要创建新角色,请导航到“用户访问 > 角色”。此页面允许管理员创建和编辑现有角色。Galaxy NG 默认情况下也提供一组预定义的角色,这些角色应该涵盖大多数用例。
用户也可以被授予超级用户状态。这将绕过权限系统并授予用户访问每个操作的权限。超级用户状态只能由其他超级用户授予,可以通过转到“用户访问 > 用户”并选择用户的编辑来获得。
全局角色¶
全局角色是指赋予用户访问特定类型所有对象的权限的角色。例如,全局分配具有“编辑命名空间”权限的角色将授予拥有该角色的任何用户编辑系统中任何命名空间的权限。
可以通过“用户访问 > 组”页面将全局角色分配给组。在此处选择要编辑的组并导航到“访问”选项卡。此处可以查看、添加和删除分配给该组的所有角色。
对象角色¶
对象角色分配给对象的特定实例,并且仅授予用户对这些单个对象执行操作的权限。例如,在命名空间foo
上分配具有“编辑命名空间”权限的角色的用户只能编辑命名空间foo
,而不能编辑任何其他命名空间。
注意
如果用户同时拥有对象权限和全局权限,则全局权限优先,他们将能够编辑给定对象的任何实例。
目前有两个地方使用对象角色: