我需要为几个.NET应用程序使用的框架实现一个灵活的访问控制系统。
我研究了基于属性的访问控制(ABAC)和XACML,这似乎提供了必要的灵活性,不仅可以根据用户身份做出决策,而且还可以根据所请求的资源的信息进行决策。
我需要这样的典型场景:
只允许分配给病人的医生访问病人档案。
但是,将授权外部化给第三方提供者或另一个PDP服务器,因为这意味着每次PEP (应用程序)执行必须经过授权的操作时,都会有一个网络调用。
在嵌入式PDP中使用XACML有意义吗?也就是说,应用程序将授权决策转换为XACML请求,然后使用解析它的请求调用嵌入式PDP模块,查询DB以获取资源和策略信息,并生成XACML响应。
还是XACML仅在分布式访问控制场景中有用?如果我不打算将决策点外部化,那么实现自定义访问控制系统通常更有用吗?
发布于 2014-05-06 09:39:54
是的,嵌入PDP是有意义的。
XACML的更多内容是:
这并不意味着PDP不能嵌入。重要的是您集中地定义和管理您的策略,但是您始终可以将它们分发给嵌入式PDP或服务PDP。您甚至可以混合使用嵌入式/服务PDP。
我为公理化工作-- XACML供应商--我们看到许多客户使用嵌入式PDP可能是出于性能原因,但通常更多是出于生命周期的原因(即客户不想设置和维护单独的服务器)。
嵌入PDP有两个可能的缺点:
https://softwareengineering.stackexchange.com/questions/237982
复制相似问题