gpt4 book ai didi

ldap - 代表 LDAP 中的 RBAC 参与者

转载 作者:行者123 更新时间:2023-12-02 11:02:38 26 4
gpt4 key购买 nike

当使用 LDAP 存储实现 RBAC 模型时(我使用 Apache Directory 1.0.2 作为测试平台),一些参与者显然可以映射到特定的对象类:

  • 资源 - 我没有看到此资源的清晰映射。 applictionEntity 似乎只是为了这个目的而切线
  • 权限 - 权限可以被视为单一用途的角色;显然我没有考虑 LDAP 权限,因为它们管理对 LDAP 对象和属性的访问,而不是对资源的 RBAC 权限
  • 角色 - 相当直接映射到 groupOfNames 或 groupOfUniqueNames,对吗?
  • 用户 - 人

过去,我见过一些模型,其中资源不以任何方式在目录中处理,并且权限和角色被映射到 Active Directory 组。

有没有更好的方式来代表这些 Actor ?讨论架构的良好映射和意图的文档怎么样?

最佳答案

RBAC 不是 RBAC 不是 RBAC,RBAC 在纸面上很困难,但在现实生活中几乎不可能实现。

每个人都有自己的 RBAC“想法”,并且大多数人对与 RBAC 相关的每个事物都使用不同的术语。一般来说,从 LDAP 实现的角度来看,您很少拥有在​​ LDAP 中进行正确实现的所有“部件”。

简单来说,“零件”是:

S = 主题 = 个人或自动代理或用户

P = 权限 = 批准访问目标资源的模式

T = 目标资源 = 您要为其分配权限的对象

角色至少需要关联权限和用户。目标资源可以完全位于 LDAP 之外。因此它可能是 Tomcat 服务器上的应用程序,也可能只是读取 LDAP 服务器中“其他”条目的权限。

因此,通常您在 LDAP 中最好的做法是设置一个包含用户列表的对象,如果 LDAP 中存在某些资源,请为这些目标资源分配适当的目录权限。

然后是实现上的小问题。

我们现在需要一项政策来履行我们的职责。因此,如果没有关于如何使用它的策略,我们的角色(我们将其称为 USER-READ-ONLY)就没有用。

在我们的例子中,我们可以说 USER-READ-ONLY 角色可以读取我们组织中的任何内容。

所以我们现在有一个政策。该策略存储在哪里?保单的数字表示形式存储在“保单信息点”或 PIP 中。

我们如何解释 PIP 提供的政策?政策由政策决策点 (PDP) 解释。

谁决定主体(用户)是否可以访问资源?政策执行点 (PEP)。

将所有这些策略内容放在一起,我们最终得到策略的数字表示,由策略信息点提供给策略决策点,然后策略决策点将决策传递给策略执行点,在策略执行点允许或拒绝访问。

那么在我们的 RBAC 故事中,PIP、PDP 和 PEP 在哪里?好吧,如果目标资源位于 LDAP 目录中,那么 LDAP 目录就是 PIP(我们可能对其进行了硬编码并且未进行抽象,PIP 同样如此,PEP 也是如此,这很容易。

但是如果是我们的 Tomcat 应用程序,它必须是 Tomcat 应用程序中的一个可以中断的方法,知道必须使用一个方法来表示“我有这个主题(用户)并且他想要访问这个目标资源( list )”执行此权限(只读)”。

当然,所有这些东西都有一些标准。 (Google XAML、RFC3198、ISO10181-3、NIST),但它们是与实际实现存在很大差距的标准。

因此请记住,真正实现 RBAC 是很困难的。

当然,恕我直言,我们应该了解 RBAC,研究论文并将其作为战略方向,但在广泛的供应商和应用程序基础上的现实生活中的实现,我们还没有实现。

-吉姆

关于ldap - 代表 LDAP 中的 RBAC 参与者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/923594/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com