如何存储权利? XACML的替代品

时间:2014-10-27 18:57:23

标签: authorization access-control xacml abac

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

1 个答案:

答案 0 :(得分:14)

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

在访问控制中,您有不同的模型可以提供时间。从历史上看,你首先拥有DAC和MAC。您有访问控制列表的概念(也称为基于身份的访问控制或IBAC)。

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

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

您可以在ABAC here上阅读更多内容。

那么,XACML呢? XACML - eXtensible Access Control Markup Language - 是ABAC模型的实现。它是ABAC最广泛实施的实施方案。你问是否有其他选择。想到的一些包括:

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

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

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