9

对于概念证明,我想存储权利。我知道有不同的访问控制方式(DAC、MAC、RBAC、..)。我的第一个想法是使用数据库,但我正在寻找一些更成熟的标准,如 XACML,但不幸的是我还没有找到一些真正的替代品。感谢任何提示!

4

1 回答 1

20

首先,退后一步,看看可比较的项目。

在访问控制中,您有不同的模型,这些模型随着时间的推移而出现。从历史上看,您首先拥有 DAC 和 MAC。您有访问控制列表(也称为基于身份的访问控制或 IBAC)的概念。

然后突然之间,一个用户的唯一身份已经不够了。我们开始将用户组织成角色和组。这导致了 NIST 正式化为标准的 RBAC 或基于角色的访问控制的创建。

快进 10 年以上,角色已经不够了。ACL 和 RBAC 过于以用户为中心。他们不迎合上下文或关系。它们的粒度不够细。出现了一种称为 ABAC 或基于属性的访问控制的新模型。NIST 也在标准化 ABAC 的过程中。ABAC 能够实现任何类型的访问控制要求,并且可以满足用户、资源、操作和上下文属性。

您可以在此处阅读有关ABAC 的更多信息。

那么,XACML 呢?XACML -可扩展访问控制标记语言- 是 ABAC 模型的实现。它是 ABAC 最广泛传播的实现。你问是否有替代品。想到的一些包括:

  • SecPal:这是(曾经?)微软的一项研究计划。据我所知,它不用于外部研究。
  • Permis是一种基于策略的访问控制模型。它也没有广泛传播。
  • Microsoft 有自己的 Windows Server 语言,称为 SDDL。您可以从 Microsoft 阅读更多相关信息

但在实践中,我见过的大多数 ABAC 实现都使用 XACML 或本地代码 + RBAC 的组合。不用说,后者并不能很好地扩展并且难以维护。

如果您想了解更多信息,请查看以下资源:

于 2014-10-28T00:54:39.433 回答