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

XACML是一个很好的选择吗?是否存在从RBAC源切换到XACML的任何现有应用程序?有什么缺点吗?

有帮助吗?

解决方案

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

我认为XACML是一个很好的选择,主要是因为它几乎可以支持任何安全模型。我建议使用XACML对您现有的RBAC解决方案进行建模(参见个人资料 ),然后扩展它以包括更细粒度的访问控制,您的业务需求需要它。

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

  
    

是否有任何已从RBAC源切换到XACML的现有应用程序?

  

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

其他提示

我是WSO2的安全架构师 - 开发WSO2 Identity Server,一个开源的身份和权利管理服务器,带有XACML支持。

我也相信XACML是从应用程序代码中外部化授权逻辑的一个很好的替代方案。我们最近与少数客户合作[其中一个是财富100强] - 从不同的专有授权规则转向XACML。

我同意IBM和WS02的同行。我为Axiomatics工作。我们专注于基于XACML的授权。

我们的客户从RBAC迁移到ABAC。有些人决定将XACML的RBAC配置文件用作中间步骤(http://docs.oasis-open.org/xacml/3.0/xacml-3.0-rbac-v1-spec-cd-03-en.html)。有趣的是,您可以使用现有的RBAC基础架构来构建ABAC。

我们还没有看到任何缺点。如果有的话,客户可以通过XACML快速查看投资回报率:它更便宜,更灵活。您可以使用多个实现(您可以将IBM,WS02和Axiomatics混合在一起,它仍然可以工作)并得到业界的大力支持。

查看XACML TC页面了解更多信息: http://www.oasis-open .ORG /委员会/ XACML /

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top