团体和角色之间有什么区别?

时间:2010-09-24 07:25:55

标签: terminology

许多身份管理实施除了使用组外还使用角色。他们有什么不同?到目前为止,我还没有找到一个令人信服的用例来分离这两者。我读过的所有解释都是含糊不清的,并且是手持式的。

你能举出一个很好的例子,说明有必要拥有组的角色吗?

5 个答案:

答案 0 :(得分:18)

人 - 组 - 角色

  • 某人是一个或多个团体的成员。
  • 为一个组分配了多个角色。

示例:

  • 系统 stock_purchaser timecard_supervisor 中存在两个角色。
  • 系统 shift_supervisor regional_manager 中存在两个组。
  • regional_manager 具有 stock_purchaser timecard_supervisor 角色。
  • shift_supervisor 具有 timecard_supervisor 角色。

如果创建了新角色(例如 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 中称呼他。可以是用户类型

角色 - 他需要访问或被看到的所有功能都可以归为逻辑角色 - 这不需要总是与组织角色匹配[但是,如果你能达到一二一,那么就没有这样了]

  • 将服务分组为逻辑角色纯粹是为了访问视角。

  • 管理员用户

  • 编辑器

  • 批准后 -金融家

  • 审核员

  • 不要将 RBAC 的角色与组织中的用户游戏混淆 [但是可以保留,但实际上不会那样发生]Myview of RBAC

[![在此处输入图片描述][2]][2]