我想要存储权利的概念证明。我知道有不同的访问控制方式(DAC,MAC,RBAC,..)。我的第一个想法是使用数据库,但我正在寻找一些更加成熟的标准,如XACML,但遗憾的是我无法找到一些真正的替代品。 感谢任何tipps!
答案 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最广泛实施的实施方案。你问是否有其他选择。想到的一些包括:
在实践中,我见过的大多数ABAC实现都使用XACML或本地代码+ RBAC的混合。毋庸置疑,后者并不能很好地扩展并且难以维护。
如果您想了解更多信息,请查看以下资源: