代码之家  ›  专栏  ›  技术社区  ›  spa

XACML是现有应用程序中的一个演进步骤

  •  6
  • spa  · 技术社区  · 15 年前

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

    XACML是一个很好的替代方案吗?是否有从RBAC源站切换到XACML的现有应用程序?有什么缺点吗?

    3 回复  |  直到 9 年前
        1
  •  6
  •   craigforster    15 年前

    免责声明 :我是IBM的开发人员,我在我们广泛使用XACML(Tivoli Security Policy Manager)的产品上工作。我对xacml有点偏见。

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

    将授权代码外部化到策略中有一个额外的优点,即可以在不重新编译应用程序的安全模型的情况下对其进行修改。

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

    不幸的是,我不知道有什么特别的例子,至少我可以公开谈论。有一个内部IBM项目为实现其授权模块分配了一个月的时间,但是通过使用我们的xacml实现将其外部化,在一周内完成了这一任务。这显然不同于您的示例,因为它是一个“绿色领域”开发项目,但强调了使用您正在考虑的一般方法可以获得一些好处。

        2
  •  2
  •   David Brossard    9 年前

    我是wso2的安全架构师,它开发了wso2 Identity Server,这是一个开放源代码身份和授权管理服务器,支持xacml。

    我也相信xacml是一个很好的替代方法,可以从应用程序代码中外部化授权逻辑。我们最近与少数客户(其中一位是《财富》100强)合作——从不同的专有授权规则转向XACML。

        3
  •  0
  •   David Brossard    13 年前

    我分别同意IBM和WS02的同行。我为公理学工作。我们只关注基于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和公理化混合在一起,它仍然可以工作),并且有来自业界的强大支持。

    查看xacml tc页面了解更多信息: http://www.oasis-open.org/committees/xacml/