细粒度访问控制是什么

Z, ZLW 1080

根据控制对象的粗细程度,访问控制可分为粗粒度和细粒度两种 通常把规定访问整个数据库表或由基本表导出的视图的某个层称为粗粒度的访问控制,而细粒度控制则是把安全控制细化到数据库的行级或列级。

我们给银行上了一套系统,银行的政策允许所有财务经理可以访问所有账户持有人的信息,但在最近,对该政策做了改变只允许财务经理访问特定的客户集,那么为了使应用程序符合新的政策,我们必须对应用程序进行修改,有三种选择

1.         修改应用程序代码,使所有SQL语句都包含一个WHERE子句。但如果将来政策又有变化,则必须再一次修改代码,所以从长远考虑这不是一个好方法

2.         保持应用程序不动,用判定词创建表的视图,并用与表名一样的名字为这些视图创建同义词 。从应用程序不变更和安全性的角度来看这种方法比较好,但可能难于管理,因为有大量潜在的视图需要跟踪和管理

3.         保持应用程序不动,使用Truman模型实现。

Truman 模型

U.C. Berkeley 的 Shariq Rizvi 和其他人提出了 Truman 模型,该模型基于数据库级别修改查询。 Truman 模型的想法是为每个用户提供数据库的个人视图。为实现此目的,需要对用户的查询进行修改以确保用户不能查看允许之外的内容。

     Truman 模型:用户向数据库提交 SQL 语句,修改器拦截用户提交的语句,通过一定的策略修改语句后再执行。如下图:

在 Truman 模型下,相当于每个用户都拥有自己的私有数据库,用户在该数据库中进行数据管理(如查询,添加和修改数据)。

Truman 模型有时也称为细粒度访问控制 (FGAC) 或行级安全 (RLS) 。(该模型名称的灵感源自于 1998 年的电影 The Truman Show 中 Truman Burbank 角色所处的人工世界)。

该模型的优点包括:单点授权实施、可以拥有动态的集合、最终用户查询功能以及高效的数据处理(这是空间数据一个主要方面)。

回复

我来回复
  • 暂无回复内容

站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部