许多身份管理实施除了使用组外还使用角色。他们有什么不同?到目前为止,我还没有找到一个令人信服的用例来分离这两者。我读过的所有解释都是含糊不清的,并且是手持式的。
你能举出一个很好的例子,说明有必要拥有和组的角色吗?
答案 0 :(得分:18)
人 - 组 - 角色
示例:
如果创建了新角色(例如 review_leave_requests ),则可以将其添加到需要此角色的所有群组中。在只有角色的系统中,将角色添加到需要它的所有人中可能是一项费力的任务。
答案 1 :(得分:16)
角色是一组权利
群组是一组人
想象一下,你有两组人(G1,G2)使用一个应用程序(A1),你有两种类型的用户:管理员和只读用户。
您可以在A1上创建管理员角色,定义其权限并为G1赋予此角色 如果G2也需要这些权利,你不必一个一个地授予它们,你可以简单地给G2你为G1创建的相同角色
答案 2 :(得分:1)
所有评论中缺少的一个重要事实是,您可以将角色分配给各个用户,而不仅仅是分组。
这是一个用例: 一位大学物理学教授进行了等级测试"特定课程或一组课程的角色(又名权利或特权)。然而,他决定继续休假一年,并希望另一名教练(或者可能是几名教练 - 一组),即他的替代者,在同一套课程中拥有相同的角色(特权)。注意,替换教师可以属于不同的用户组。管理员可以轻松地将相关角色分配给单个用户或用户组。 当然,在终身教授回来后,管理员可以撤销这些角色(特权)。
从系统角度来看,我们只关心允许用户(或一组用户)执行哪些方法。在执行受限方法之前,我们通过调用通常返回布尔值的其他方法来检查用户角色。
答案 3 :(得分:1)
对我而言,"群组之间的差异"和#34;角色"在Cardinality
组不能包含组。但角色可以包含角色。
我喜欢PostgreSQL处理它的方式:来自Database Roles and Privileges
可以将角色视为数据库用户或一组数据库用户,具体取决于角色的设置方式
这意味着使用角色可以使应用程序更简单,更灵活。想象一下问题跟踪工具。使用外键作为角色,您可以处理两种情况:您可以引用一个人或几个人。
答案 4 :(得分:-1)
在设计 SAAS 时,角色、用户类型通常被视为彼此重合。
用户 - 在组织中工作的人[某些情况下不需要]出于某种目的在应用程序中使用 /logs
如果用户在组织中工作,他将拥有 [ 职称 - 纯粹是为了薪酬/领导层级观点] 对于指定,他可能在一个部门工作,在那里他扮演一个角色
这是真实的世界
从应用程序的角度来看 [ 名称 - 可以根据应用程序的需要被视为类型或适当地 - 用户] 您希望他如何在应用程序中被看到以进行报告,或在 UI 中称呼他。可以是用户类型
角色 - 他需要访问或被看到的所有功能都可以归为逻辑角色 - 这不需要总是与组织角色匹配[但是,如果你能达到一二一,那么就没有这样了]
[![在此处输入图片描述][2]][2]