gpt4 book ai didi

authorization - 使用 ABAC/XACML,您如何保护报告/大型结果集中的资源?

转载 作者:行者123 更新时间:2023-12-04 06:09:22 24 4
gpt4 key购买 nike

人们如何使用 运行报告甚至只是从数据库中选择多个记录时的方法?

例如,如果您的政策规定:

Doctors can only view patients in their hospital



显然,实现这一点的有效方法是在查询中包含一个过滤器( where hospital = XXX ),但这似乎违反了 ABAC 的原则,因为它将规则烘焙到 SQL 本身中。

我知道 Axiomatics提供了一种反向查询机制,显然可以根据规则为您生成过滤器——但是我的系统有很多复杂的 sql,必须对其进行大量重构才能使用它。

其他人是如何处理这个问题的?

最佳答案

基本上有三种方法可以解决这个问题:

  • 通过您提到的反向查询机制。这确实目前只有 Axiomatics 支持。反向查询背后的想法是,而不是指定一个完整的问题,例如"Can Alice view document #123?" ,您可以指定一个开放式问题,例如"Which documents can Alice view?" .
  • 通过 XACML 3.0 的多决策配置文件,它允许您一次性提出多个问题,例如“爱丽丝可以查看文档 #1、#2、#3 吗?”。 MDP 最多适用于数百个项目。您可以将其与分页策略结合使用。您可以在 MDP here 上阅读更多信息.
  • 通过使用义务。您可以编写一个策略,说明作为一个整体,医生有权查看医疗记录 + 有义务执行过滤 SQL 语句。这种方法的问题在于它将授权语义放在义务内而不是策略内。另外,如果触发多个义务怎么办?
  • 关于authorization - 使用 ABAC/XACML,您如何保护报告/大型结果集中的资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36873881/

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