gpt4 book ai didi

access-control - 在系统中实现访问控制

转载 作者:行者123 更新时间:2023-12-01 23:15:12 25 4
gpt4 key购买 nike

我在系统中遇到了许多不同的访问控制模型。在任何系统中实现访问控制模型时,我们通常通过为访问控制创建单独的表来对数据库(考虑 RDBMS)中的规则/权限进行硬编码。此外,这些规则/权限可以存储在 XML 数据库中。我想知道在 RDBMS 上存储规则和在 XML 数据库上存储规则有什么区别?另外,我们什么时候应该使用 XACML 在系统中实现访问控制模型?我的意思是,如何决定是应该在数据库中硬编码规则/权限,还是应该使用 XACML 策略语言?

谢谢。

最佳答案

免责声明:我在 Axiomatics 工作,这是 XACML 的供应商实现

如果您按照自己的方式存储授权逻辑,可以在 RDBMS 或 XML 数据库中完成。没关系。我怀疑 XML 会给您带来任何附加功能。

现在,如果您想要一个能够满足 RDBMS 系统和其他类型的应用程序(CRM、.NET、Java...)的授权系统,那么您需要使用一个不可知的解决方案> 它保护的应用程序类型。这就是 XACML(可扩展访问控制标记语言)的目标。

XACML 提供基于属性、基于策略的访问控制(ABAC 和 PBAC)。这使您能够编写极具表现力的授权策略并在单个存储库中集中管理它们。然后,中央授权引擎(称为策略决策点或 PDP)将为您的不同应用程序提供决策服务。

正如贝尔指出的,您需要的最小属性集通常是有关用户(主题)、资源和操作的属性。 XACML 还允许您添加环境属性。这意味着您可以编写以下类型的策略:

Doctors can view the medical records of patients they are assigned to.

  • 医生描述用户/主题
  • View 描述了操作
  • 医疗记录描述了目标资源
  • 患者也描述了目标资源。这是有关资源的元数据
  • 他们被分配到是一个有趣的案例。它是定义医生和患者之间关系的属性。在 ABAC 中,这被实现为 doctor.id==patent.assignedDoctorId。这是使用 XACML 的主要优势之一。

XACML 的优点包括: - Bell 提到的外部化授权逻辑的能力 - 无需经历开发/部署生命周期即可更新授权逻辑的能力 - 能够以相同的方式为许多不同的应用程序实现细粒度授权 - 能够对授权逻辑进行可见性和审核

HTH

关于access-control - 在系统中实现访问控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17347996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com