6

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

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

4

3 回答 3

6

免责声明:我是 IBM 的开发人员,我正在开发广泛使用 XACML 的产品(Tivoli Security Policy Manager)。我有点偏向 XACML。

我认为 XACML 是一个很好的选择,主要是因为它几乎可以支持任何安全模型。我建议在 XACML 中对您现有的 RBAC 解决方案进行建模(请参阅配置文件),然后将其扩展为在您的业务需求需要的地方包含更细粒度的访问控制。

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

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

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

于 2009-10-29T00:18:43.963 回答
2

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

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

于 2011-08-25T17:55:16.350 回答
0

我分别同意 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/committees/xacml/

于 2011-11-03T14:51:29.200 回答