《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 业界动态 > 数据仓库安全模型分析

数据仓库安全模型分析

2009-08-06
作者:王子高1, 马艳锋2

  摘  要: 对数据仓库安全模型进行了分析,讨论了现有的数据仓库安全模型,并对数据仓库安全模型的发展方向进行了展望。
  关键词: 数据仓库  数据仓库安全  安全模型

 

  数据仓库是在以事务处理为主要任务的数据库基础上发展起来的,但是它与数据库有着根本的不同。数据仓库的主要特征是面向主题的、集成的、与时间相关的、不可修改的数据集合[1]。数据仓库是一种决策支持系统,它主要是对企业决策提供强有力的支持,因此它的安全性更加重要。因为数据仓库中数据的丢失将损害企业的决策,所以数据仓库的安全性相对于数据库来说更为重要。

  近几年来,虽然对数据仓库的研究较多,但是控制对数据仓库的访问却是一个正在发展的技术领域,对数据仓库的安全控制方面的研究仍旧涉及很少。对数据仓库的安全控制和对于传统的操作型数据库的安全控制是不同的。数据仓库的控制有着更高的复杂性,原因主要在于数据仓库的建立目的与限制对数据的访问是矛盾的;数据仓库中存在着不同粒度的数据;数据仓库中的数据是以多维的方式存在的。这些因素决定了数据仓库安全的研究是一个复杂的领域。目前对于数据仓库安全性的研究还比较少,国内还处于起步阶段,但是它却有着极其重要的现实意义。本文主要是通过对几个数据仓库安全模型的研究,对数据仓库安全性目前研究的主要内容、现状和发展趋势进行了分析,并给出了一些模型的应用实例。

1  数据仓库安全模型

  一个好的安全模型是数据仓库安全性的重要保障。现存的许多数据仓库在设计阶段都没有能够很好地在数据仓库的安全方面进行很好的设计,这使得在数据仓库建成之后再添加关于安全方面的设计时成本大增,而且在数据仓库建成之后再实施安全策略时也比较困难。因此在设计阶段就设计好数据仓库的安全模型对于构建一个安全的数据仓库有着极其重要的意义。本文主要分析了四种关于数据仓库和OLAP的安全模型。

1.1 基于元数据的数据仓库安全模型设计

  元数据是描述数据仓库内数据的结构和建立方法的数据。元数据是数据仓库中很重要的一部分,它将会影响数据仓库中所有的层次,常被开发者用来管理控制和开发数据仓库。元数据也是用户访问数据仓库的一部分,它常被用来控制访问控制和分析数据。

  通过对元数据的控制来加强数据仓库的安全性,这种情况下与安全主题和客体相关的访问规则被以元数据的形式存储。当一个用户访问数据仓库中的数据时,安全查询机制层将会查询这个访问是否被允许。为了保证查询的正确进行,可通过分析“安全元数据”来分析相应的访问许可机制。

  N.Katic于1998年提出一个基于元数据的安全模型[2]。这是通过“安全管理者”的方式来实现的。通过它可以管理、定义、描述用户和用户群体。此外还设置了一个安全查询管理层(SQML),它的作用是通过检查是否允许一个任务的执行来过滤用户的查询。图1描述了这个安全模型。

 

  此模型的主要作用是如果用户企图查询他没有访问权限的数据,则由“安全管理者”和“信息服务器”可以把用户想查询而又没有查询权限的那部分数据过滤掉,而只把他可以访问的那些数据返回给他。这种操作对于用户来说是透明的,用户并不知道还有些数据他没有访问到。数据仓库的信息对于用户来说好像是提供了他所需要的所有数据。这是一个很重要的安全策略,使用户不知道自己被禁止了部分数据,因而他不会去试图访问他原本看不到的数据。这样也极大地增强了数据仓库中数据的安全性。

  该模型主要特点是把数据仓库中的元数据扩充为二类元数据:结构元数据和访问元数据。利用访问元数据来控制用户对数据仓库的访问。充分利用了元数据在数据仓库中的作用。通过元数据减少了用户试图访问无权访问的数据的可能性,减少了攻击数据仓库的行为,从而增强了安全性。

1.2 基于角色的数据仓库安全性模型设计

  角色是数据库中一个很重要的概念。通过角色的定义可以加强数据库的安全性。由于数据仓库中的数据存储与数据库中的数据存储有着诸多的不同,所以将数据库中角色的实现照搬到数据仓库中是行不通的。

  Remzi Kirkgoze,Nevena Katic于1997年提出一种基于角色的OLAP数据立方体访问控制策略[3]。这个模型是一个基于AMAC(Adapted Mandatory Access Control)的控制OLAP多维立方体的安全控制策略。

  在这个模型中主要描述了数据仓库中每个角色的安全限制规则。每个用户有一个角色,每个角色对应一个安全规则表。这些规则表组成了角色的安全限制文件。根据这个角色安全限制文件,每个用户可以访问到他被授权访问的数据。

  这个模型是一个只有“角色”作为安全主体(Scurity Subject)的数据仓库安全模型,该模型权限只能赋予角色。安全对象(Secrtity Object)是安全系统中的客体,在OLAP环境中维表、事实表及它们的属性都是安全对象。每一个安全主体被授权能对安全对象进行某种操作,这些操作称为访问类型。

  把每个安全对象应用分段策略得到所有单级片段后,应用谓词访问策略得出每种角色能访问的片段集。假设用户现在的角色是R,如果他想访问某个对象,则该系统能产生访问该对象的片段集合A,并与安全限制规则表中R能访问的片段集合B进行比较;如果A包含于B,则系统将处理查询,否则将被拒绝访问。

  此模型的特点是能为不同的子立方体赋予不同角色,并能为系统用户赋予不同角色,达到灵活性与安全性的统一。此模型是对于关系型数据库中基于角色的访问控制的一种扩展,是角色的访问控制在数据仓库中的应用。

1.3 基于授权的安全模型

  授权是指一个对象对系统对象或者系统本身所拥有的合法访问权限。Edgar Weippl等人提出了一种对数据仓库和OLAP的一个授权模型[4],他们通过一种简单的描述符号来描述这种访问授权,它比用SQL的授权机制更直观。

  在这个授权模型中包括主体对象、访问类型、客体对象和谓词。对象指的是数据仓库中多维立方体中的维度、维度中的层次、事实表。访问类型主要考虑六种基本的操作:read,drill-down,roll-up,slice,dice,drill-through。

  模型中以用户而不是角色作为授权对象。本文通过下面的例子来说明这个模型。例如数据仓库中的一个销售链包括四个维度:时间、地理位置、商品、销售度量。

  时间:日-月-年

  商品:产品-子类别-类别

  地理位置:乡镇-县市-地区-省份

  销售度量:单价、利润

  考虑地方经理和产品经理二个不同的角色,他们职责不同,地方经理可能是一个地方的管理者,而一个产品经理可能主要是负责一个单独的商品销售情况和各种商品的销售情况。

  下面通过一个例子来说明此模型的使用。例如:

  (张三,{单价},{(时间,{(Drill-Down,月)}),(地理位置,{(Drill-Down,省份),(Roll-Up,地区)}),(商品,{(Drill-Down,类别),(Roll-Up,产品)})})。

  这说明允许张三访问每种产品的单价,但是不允许访问每种产品的利润,允许访问子类别或者类别。同时,他也不能检索基于每年或者每天的合成数据,但是允许访问每个城市或商店的数据。如果加上下面的集合:

  (张三,{单价,利润},{(时间,{(Drill-Down,年)}),(地理位置,{(Drill-Down,省份),(Roll-Up,商店),(Slice,地区=“济南”)}),(商品,{(Drill-Down,类别),(Roll-Up,商品)})})。

  这样,张三就能够完全访问济南地区的所有商店的数据。由这二个数据集他就能够完成他的工作:监督济南地区的商店并且能以综合的方式比较它们的性能如何。

  此模型的特点是:从逻辑上把授权模型分为二部分SUBJECT和OBJECT,通过一种简单的操作用户可以方便地描述所需要的安全访问权限,从而增强了表述能力和安全的可用性。通过一套简单的描述符号,对于任意一种给定的安全策略,都可以很容易地实现它的访问控制权限。此模型主要是作者通过对关系数据库中SQL语言机制的演变,提出的一种更适合数据仓库中多维数据访问的策略。但是要实现此种控制还需要开发能够解释此种语言的机制。

1.4 基于视图的数据仓库安全模型

  A.Rosenthal等人在2000年提出了一种基于视图的数据仓库安全模型[5]。这个模型是通过从数据库与数据仓库的联系方面来解决问题的。现在,在数据仓库中访问控制的管理常常存在于一个与数据源策略相互独立的地方。其结果是造成不一致性,对于变化反映滞后,并且浪费管理工作。针对这种情况,本文提出把源数据所在的数据源和数据仓库都看作是同一个分布式数据库的一部分。由于在数据库中已经有了比较成熟的依靠视图机制来控制各个用户的访问权限的方法,把数据仓库和数据源作为同一个分布式数据库的一部分,这样在数据仓库中就不用再单独定义数据的视图机制,而让它延续用数据库中的视图访问机制即可。这就是说,允许自动配置对数据仓库的许多访问控制。从某种意义上说,这样减少了管理员学习过程中要走的曲线过程,同时也减少了软件提供商需要实现的软件数量。上述安全模型可用图2描述。

 

  这种安全模型的特点是系统易于管理,使得授权管理系统及其应用更健壮。系统能够自动地从数据源分析用户对于数据的访问权限,然后自动地生成用户在数据仓库中所能够访问的数据。因为数据仓库中的数据都是通过数据抽取转换工具从数据源处得到的。这样就减少了技术人员在数据仓库中在进行相应方位策略的配置问题。同时能够很好地解决变化之后的问题。但是仅仅通过从数据库沿用过来的视图安全是不能够满足数据仓库需要的。因为数据仓库的数据模型是多维数据和关系数据的混合,它要比数据库中单纯的关系型数据复杂得多。视图机制对于数据库中writeupdate操作机制很奏效,而在数据仓库中主要进行的操作是读取数据分析数据,仅有此不能很好地满足数据仓库的需要。但是这确实提供了一种安全机制。

2  总结与展望

  本文分析的几种数据仓库安全模型具有很强的代表性。它们分别以不同的方式达到了增强数据仓库安全性的目的。基于元数据的模型,充分考虑了元数据在数据仓库中的重要作用。通过一些限制对元数据访问的方法来减少数据仓库受攻击的可能性。其他几种基于角色的模型、基于授权的模型以及基于视图的模型也都有其各自的特点。但是可以看出,这些安全模型大部分都是在数据库安全模型方面的扩展。当然这也是一种理所当然的趋势,因为毕竟数据库的安全理论已经比较成熟。可是由于数据仓库的建立目的、数据模型、访问策略等与数据库不同,二者的安全策略也是有相应区别。从数据仓库本身的特点出发,利用一些已经成熟的安全理论来构造一种更加安全的、实施更加方便的安全模型,这也是下一步工作的重点。

  总之,数据仓库是一项基于数据管理和利用的综合性技术和解决方案,它将成为数据库市场的新一轮的增长点。对数据仓库的安全性访问作为数据仓库技术与信息安全技术的结合点,必将会面临更大的挑战和机遇。

 

参考文献

1  Inmon W H著,王志海译.Building the Data Warehouse. 北京:机械工业出版社,2000

2  Katic N,Quirchmayr G,Schiefer J et al.A Prototype Model for DataWarehouse Security based on Metadata.

IEEE Computer Society,1998;8

3  Kirkgoze R,Katic N,Stolba M et al.A Security Concept for OLAP.in:Proceedings of the 8th.International

Workshop on Database and Expert Systems Applications(DEXA′97),IEEE Computer Society,1997

4  Weippl E,Mangisengi O,Essmayr W et al.An Autho rization Model for Data Warehouses and OLAP.in:

Proceedings of the Workshop on Security in Distributed Data Warehousing,in Conjunction with 2th.IEEE Symposium Reliable Distributed Systems (SRDS′2001),2001

5  Rosenthal A,Sciore E.View Security asthe Basis for Data Warehouse Security.in:Proceedings of the International Workshop on Design and Management of Data  Warehouse(DMDW′2000),Sweden,2000

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。