【问题标题】:Attribute-based access control with database基于属性的数据库访问控制
【发布时间】:2018-02-07 08:42:21
【问题描述】:

我在一家软件公司工作,我正在寻找一种方法来验证数据库访问权限,如下所示:

  1. 个人数据存储在表中的人需要读取他的 个人行,他有权访问该表。
  2. 检索到请求的行后,我需要进行外部检查 这确保他有权阅读该特定行,检查 某些表的字段包含在同一行中。

在我看来,基于属性的访问控制是我正在寻找的,但我不确定。您能否确认它是否能够满足我的需求?

【问题讨论】:

    标签: database authorization access-control abac


    【解决方案1】:

    是的,ABAC(模特)可以做到这一点。但是,检查通常会在您访问数据之前进行 - 实际上这更好(它避免检索数据)。

    ABAC 为您提供两件事:

    • 一种策略语言,用于表达可以发生和不能发生的事情。比如

    用户可以查看他们拥有的记录,但不能查看信用卡字段

    • 请求/响应方案或如何执行政策。

    在以数据为中心的访问控制的情况下,策略被转换为 SQL 过滤器。例如,您将从:

    • SELECT * FROM 交易;

    • SELECT amount, owner, CASE WHEN (0=1) THEN CREDITCARD ELSE 'xxxx' FROM transactions WHERE owner = 'Alice'

    这称为动态数据过滤和动态数据屏蔽。一些数据库供应商已经具备这种能力,例如Oracle 和 VPD 或 MySQL 和 FGAC。最近的趋势是将此类行为外包给 Informatica DDM 或 Axiomatics ADAF MD(我工作的地方)等工具。

    【讨论】:

      猜你喜欢
      • 2015-11-07
      • 2010-11-23
      • 1970-01-01
      • 2011-04-10
      • 1970-01-01
      • 2017-01-01
      • 2013-08-28
      • 1970-01-01
      • 2022-08-13
      相关资源
      最近更新 更多