组vsangular色(任何真正的区别?)

谁能告诉我,小组和angular色的真正区别是什么? 我一直在试图弄清楚这一点,而且我读到的信息越多,我越能感觉到这只是为了让人迷惑,而没有真正的区别。 两者都可以做对方的工作。 我一直使用一个小组来pipe理用户和他们的访问权限。

最近,我遇到了一个pipe理软件,那里是一堆用户。 每个用户可以分配一个模块(整个系统被分成几个部分,称为模块,即pipe理模块,调查模块,订单模块,客户模块)。 最重要的是,每个模块都有一个function列表,可以允许或拒绝每个用户。 所以,假设用户John Smith可以访问模块订单,并且可以编辑任何订单,但没有给予删除任何订单的权利。

如果有更多的用户具有相同的能力,我会用一个小组来pipe理。 我将这些用户聚合到同一个组中,并将模块及其function的访问权限分配给组。 同一组中的所有用户将具有相同的访问权限。

为什么把它称为一个组而不是angular色? 我不知道,我只是觉得这样。 在我看来,这根本不重要:但是我仍然想知道真正的区别。

有什么build议,为什么这应该被称为angular色比组或其他方式?

Google是你的朋友:)

无论如何,angular色和群体之间的分界来自计算机安全的概念(而不是简单的资源pipe理)。 Ravi Sandhu教授为angular色和小组之间的语义差异提供了开创性的报道。

workshop/role-group.pdf

组是具有分配给组的一组给定权限的用户的集合(并且是传递给用户的)。 angular色是权限的集合,当用户在angular色下执行操作时,用户将有效地inheritance这些权限。

通常,您的组会员资格在login期间保持不变。 另一方面,angular色可以根据特定的条件来激活。 如果您目前的angular色是“医务人员”,您可能会看到给定患者的一些医疗logging。 但是,如果您的angular色也是“医生”,您可能会看到更多的医疗信息,而不是“只有医务人员”才能看到的人。

angular色可以通过一天中的时间,访问的位置来激活。 angular色也可以增强/关联属性。 您可能是作为“医师”工作,但是如果您没有“主治医师”的属性或与我的关系(具有“耐心”angular色的用户),则无法看到我的整个病史。

你可以用组来做所有的事情,但同样,组织往往把重点放在身份上,而不是angular色或活动上。 刚刚描述的安全方面的types往往比以前更接近于后者。

在许多情况下,对于使用分类的东西一起(而不是更多),组和angular色的function是一样的。 但是,组织是以身份为基础的,而angular色则是为了划分活动。 不幸的是,操作系统往往模糊了这种区分,把angular色当作团体来对待。

您将看到与应用程序或系统级别angular色(包括应用程序或系统特定语义(如在Oracleangular色中 )相比)与操作系统级别上实现的“angular色”(通常与组的同义词)更为明显的区别。

angular色和基于angular色的访问控制模型可能会受到一些限制(比如当然有):

http://www.lhotka.net/weblog/CommentView,guid,9efcafc7-68a2-4f8f-bc64-66174453adfd.aspx

大约十年前,我看到了一些关于基于属性和基于关系的访问控制的研究,它比基于angular色的访问控制提供了更好的粒度。 不幸的是,多年来我在这个领域还没有看到太多的活动。

angular色和组之间最重要的区别是angular色通常实施强制访问控制(MAC)机制。 你不能把自己(或其他人)分配给angular色。 angular色pipe理员或angular色工程师这样做。

这在表面上类似于UNIX组,其中用户可以/可能能够将自己分配给组(当然,通过sudo)。然而,当根据安全工程过程分配组时,该区别模糊了一些。

另一个重要的特征是真正的RBAC模型可以提供互斥angular色的概念。 相比之下,基于身份的群体是相加的 – 一个主体的身份是群体的总和(或连接)。

基于RBAC的真实安全模型的另一个特征是,为某个特定angular色创build的元素通常不能被不在该angular色下操作的人传递访问。

另一方面,在一个自由访问控制(DAC)模型(Unix中的默认模型)下,你不能单独获得这种types的保证。 顺便说一下,这不是组或Unix的限制,而是基于身份的DAC模型的限制(以及基于身份的群体的传递性)。

希望能帮助到你。

=======================

在看到西蒙的良好反应之后再增加一些。 angular色可以帮助您pipe理权限。 小组帮助您pipe理对象和主题。 而且,人们可以把angular色看作是“背景”。 angular色“X”可以描述安全上下文,该安全上下文规定主体Y如何访问(或不访问)对象Z.

另一个重要的区别(或理想)是有一个angular色工程师,一个负责devise应用程序,系统或操作系统中必需和/或明显的angular色,上下文的人。 angular色工程师通常是(但不一定是)也是angular色pipe理员(或系统pipe理员)。 而且,angular色工程师的真正angular色(不是双关语)是安全工程领域,而不是pipe理领域。

这是由RBAC(即使很less被使用)正式形成的一个新小组,通常不会出现在具有组function的系统中。

一个组织是组织用户的手段,而angular色通常是组织权利的手段。

这在很多方面都是有用的。 例如,分组到一个angular色中的一组权限可以被分配给一组组或一组独立于其组的用户。

例如,CMS可能具有某些权限,如“阅读post”,“创buildpost”,“编辑post”。 编辑者angular色可以读取和编辑,但不能创build(不知道为什么!)。 一个职位可能能够创build和读取等。一组经理可能有编辑angular色,而一个不在经理组中的IT用户也可能具有编辑angular色,即使他或她的其他人组没有。

所以虽然在一个简单的系统中,组和angular色通常是紧密结合的,但情况并非总是如此。

虽然angular色和组之间存在语义上的区别(如上面其他答案所述),但angular色和组似乎是相同的。 没有什么能够阻止你直接给用户和组分配权限(这可以被认为是一个很好的访问控制)。 等同地,当用户被分配一个angular色时,它可以被认为是一个angular色成员,与用户成为一个组成员相同。

所以我们可以最终没有angular色和组之间的真正区别。 两者都可以考虑用于分组用户和/或权限。 因此,差异仅仅是语义上的: – 如果语义上用于分组权限,那么它是一个angular色 – 如果它用于分组用户,那么它是一个集团技术,没有区别。

“组”是用户的集合。 “angular色”是权限的集合。 这意味着, 当组alpha包括组beta时 ,alpha从beta接收所有用户,beta从alpha接收所有权限。 相反,你可以说angular色beta包括angular色alpha ,并且相同的结论将适用。

一个具体的例子使事情更清楚。 考虑“客户支持”和“高级客户支持”。 如果将这些集合看作是小组,那么显然客户支持用户“包括”高级客户支持用户。 但是,如果将他们视为angular色,那么很显然高级客户支持权限“包含”了客户支持权限。

从理论上讲,你可以简单地有一个集合types。 但是, 如果你要说“collection alpha包含collection beta”那么这将是不明确的 。 在这种情况下,你不能分辨alpha中的用户是否处于testing阶段(比如某个angular色),或者beta中的用户是否处于alpha阶段(就像是一个组)。 为了使像“包含”这样的术语和像树视图这样的可视化元素明确无误,大多数rbac系统要求您至less为了讨论的目的来指定所讨论的集合是“组”还是“angular色”。

有些类比可能会有帮助。 根据集合理论 ,当组alpha是组beta的一个子集,那么权限alpha是权限beta的超集。 与族谱相比,如果团体像后代树,那么angular色就像一棵祖先树。

注 – 如果试图强制组织内部的安全性,那么下面的ramblings才有意义 – 也就是说,试图限制对信息的访问。

团体是经验的 – 他们回答“什么”的问题。 从某种意义上来说,它们就是“存在”,它们反映了现有的存取现实。 IT人员喜欢群体 – 他们非常直接,很容易定义。 最终,所有的访问控制权最终都会出现(正如我们都在中学时所学到的那样)来回答“你属于哪个群体?”的问题。

然而,angular色更具规范性 – 他们引导“应该”。 优秀的pipe理者和人力资源部门喜欢“angular色” – 他们不回答 – 他们 “为什么”这个问题。 不幸的是,angular色也可能是模糊的,而“模糊”可能会驱使(IT)人坚果。

使用上面的医学实例,如果“初级保健医师”的angular色比“X射线技术员”的angular色更多(即获得更多的群体),这是因为人们(pipe理者和人力资源部门)决定了为什么需要发生。 从这个意义上说,他们是一个组织的“集体智慧”。

假设医生有权访问患者的财务logging(成为有权访问的组织)。 这通常在医生的“angular色”之外, 应该进行辩论。 所以,没有人(不pipe多么合格)应该充分利用所有的群体 – 它会引起权力滥用。 这就是为什么“angular色工程”是如此重要 – 没有它,你只是像糖果一样发放组访问。 人们会收集(有时是群众)团体访问,而没有讨论太多权力的危险。

总而言之,明确angular色的智慧有助于缓解失控群体访问的危险。 组织中的任何人都可以争取访问某个特定的组。 但是一旦提供了访问权限,它就很less被放弃。 angular色工程(以及诸如定义良好的团队描述和授权的团队访问pipe理者等最佳实践)可以限制组织内部的利益冲突,分散决策并帮助使安全pipe理更加合理。

用户被分配到angular色根据他们在任何系统中的责任。 例如,angular色销售经理中的用户可以执行某些操作,例如为产品提供额外的折扣。

组用于在系统中“分组”用户或angular色,以便于安全pipe理。 例如,一个名为“领导小组”的小组可以有来自pipe理者,董事和build筑师以及不在这些angular色中的个人用户的成员。 现在你应该可以为这个组分配一些特权。

以前的答案都很棒。 如前所述,“组与angular色”的概念比技术更概念化。 我们采取了团体被用来包容用户的立场(一个用户可以在多个团队中,即Joe在经理组和IT团队(他是IT经理),并且分配广泛的特权(即我们的磁卡系统允许IT组中的所有用户访问服务器机房)。 现在使用angular色为特定用户添加权限(即IT组中的人员可以将RDP分配给服务器,但不能分配用户或更改权限,具有pipe理angular色的IT组中的人员可以分配用户并更改权限)。 angular色也可以由其他angular色组成(Joe具有添加用户/特权的pipe理angular色,并且还具有DBAangular色,可以对服务器上的DBMS执行数据库更改)。 angular色也可以是非常具体的,因为我们可以制造个人用户angular色(即JoesRole),这对于用户来说可以是非常具体的。 所以,回顾一下,我们使用组来pipe理用户,并分配一般的angular色和angular色来pipe理权限。 这也是累积的。 用户所在的组可能具有分配的angular色(或可用的angular色列表),这将赋予非常普遍的权限(即,IT组用户具有允许他们login到服务器的ServerRDPangular色),以便分配给用户。 然后,用户所属的任何angular色将按照最后一个具有最终发言权的angular色的定义顺序添加(angular色可以允许,拒绝或不应用特权,以便在应用每个angular色时,它将覆盖以前的特权设置或不改变它)。 一旦应用了所有组级别的angular色和用户级别angular色,就会为用户创build一个独特的安全模型,以供我们的系统用于确定访问和function。

组和angular色的用途在应用程序中有所不同,但我主要理解的是如下所示,组(用户组)是静态的,而angular色(权限集)是dynamic的,例如基于从(9到6)组或用户可能有这个angular色,但不是。

您可以将angular色分配给组。 您可以将用户分配到组,并且可以将angular色分配给任何angular色用户中的个人用户。 含义。 Jean Doe可以在SalesDeptartment组中具有ReportWritterangular色,允许从SharePoint打印我们的报告,但是在SalesDepartment组中,其他人可能没有ReportWritter的angular色。 换句话说,angular色是分配组的特殊权限。 希望这使得任何场景。

干杯!!!