我已经开始对XACML和外部授权进行一些研究。现在,我有一个利用RBAC模型的现有应用程序。但是该实现有很多缺点(角色不容易定义,角色过于粗糙)。

XACML是一个不错的替代选择吗?是否有从RBAC起源切换到XACML的现有应用程序?有什么缺点吗?

最佳答案

免责声明:我是IBM的开发人员,我致力于广泛使用XACML的产品(Tivoli安全策略管理器)。我对XACML有点偏见。

我认为XACML是一个不错的选择,主要是因为它可以支持几乎所有安全模型。我建议您在XACML中为您现有的RBAC解决方案建模(请参阅the profile),然后将其扩展为在您的业务需求需要的地方包括更细粒度的访问控制。

将您的授权代码外部化为策略还具有其他优点,即无需重新编译即可修改应用程序的安全模型。



不幸的是,我不知道任何特定的例子,至少我可以公开谈论这些例子。有一个内部IBM项目分配了一个月的时间来实现他们的授权模块,但是使用我们的XACML实现对其进行了外部化使其在一周之内完成。这显然与您的示例不同,因为它是一个“绿色领域”开发项目,但强调指出,您正在考虑的一般方法可以带来很多好处。

关于architecture - XACML作为现有应用程序中的演进步骤,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1625726/

10-13 03:28