【发布时间】:2021-08-01 23:35:55
【问题描述】:
我需要在我的应用程序中实现一个非常复杂的 RBAC 模型。 它非常类似于 Azure RBAC:https://docs.microsoft.com/en-us/azure/role-based-access-control/overview
让我用一个例子来解释一下:
假设我有一个资源类型:server_group。
然后我有角色:
-
admin(可以在server_group上执行CRUD+ 其他权限) -
editor(可以在server_group上执行RU+ 其他权限) -
viewer(只能Rserver_group+其他权限)
这些角色是租户范围的角色:这里的操作范围是当前用户注册所在的组织。
这是为资源类型分配角色权限的传统模型。
但是,如果您需要向具有viewer 角色但在资源类型的特定实例范围内的特定用户授予更多权限怎么办?
Mark 是管理员,他创建了一个server_group sg1,他想将server_group_editor 的角色分配给拥有viewer 租户范围角色的Alice。
server_group_editor 角色有一个适用范围:server_group。
server_group_editor 添加了更新server_group 资源类型的功能。
由于 Alice 在 sg1 实例中具有 server_group_editor 的角色,因此她现在可以编辑此资源。
以前她不能这样做,因为她的租户范围的权限只允许她列出所有服务器组。
我希望这是有道理的。
话虽如此,我很想知道是否有产品支持这种灵活的 RBAC 模型,无论是 SaaS 还是可以作为独立服务部署的应用程序?
我正在查看 Auth0、Okta、KeyCloak,但我看不到它们支持这个模型。
提前致谢!
【问题讨论】:
-
这不是 Azure-rbac 问题,而是 Auth0、Okta、KeyCloak rbac 问题。我删除了 Azure rbac 标签。