Dwh 简明教程
Data Warehousing - Security
数据仓库的目标是让用户可以轻松访问大量数据,从而让用户能够提取有关整个业务的信息。但我们知道,可以对数据应用一些安全限制,这可能会成为访问信息时的障碍。如果分析师对数据的看法受到限制,那么就不可能全面了解业务中的趋势。
可以汇总每个分析师的数据并传递给管理层,在管理层可以汇总不同的汇总。由于汇总汇总与整体汇总不同,因此有可能错过数据中的一些信息趋势,除非有人整体分析数据。
Security Requirements
添加安全功能会影响数据仓库的性能,因此尽早确定安全需求非常重要。在数据仓库正式投入使用后添加安全功能很困难。
在数据仓库的设计阶段,我们应该记住将来可能添加哪些数据源,以及添加这些数据源会产生什么影响。我们在设计阶段应该考虑以下可能性。
-
新数据源是否需要实施新的安全和/或审计限制?
-
是否添加了对已普遍可用的数据具有受限访问权限的新用户?
当未来的用户和数据源不明确时,会出现这种情况。在这种情况下,我们需要利用业务知识和数据仓库的目标来了解可能的条件。
以下活动会受到安全措施的影响 −
-
User access
-
Data load
-
Data movement
-
Query generation
User Access
我们需要先对数据进行分类,然后再根据用户可以访问的数据对用户进行分类。换句话说,用户会根据其可访问的数据进行分类。
Data Classification
可以使用以下两种方法对数据进行分类 −
-
可以根据其敏感性对数据进行分类。高度敏感的数据归类为高度受限,敏感性较低的数据归类为受限性较低。
-
还可以根据工作职责对数据进行分类。此限制仅允许特定用户查看特定数据。我们在此限制用户仅查看他们感兴趣并负责的数据部分。
第二种方法存在一些问题。为了理解,我们举个例子。假设您正在为银行构建数据仓库。请考虑存储在数据仓库中的数据是所有帐户的交易数据。问题是,谁可以查看交易数据。解决方案在于根据职能对数据进行分类。
User classification
下列方法可用于对用户分类 −
-
用户可以按照组织中的用户层次结构进行分类,即,用户可以按部门、科室、组等分类。
-
用户还可以根据其角色进行分类,其中根据角色将跨部门的人员归为一组。
Classification on basis of Department
让我们举一个数据仓库的示例,其中用户来自销售和营销部门。我们可以通过自上而下的公司视图进行安全管理,访问权限以不同部门为中心。但对不同级别的用户可能会有一些限制。此结构如下图所示。
但是,如果每个部门访问不同的数据,那么我们应该为每个部门单独设计安全访问权限。可以通过部门数据市实现此目的。由于这些数据市与数据仓库分离,因此我们可以在每个数据市上强制执行单独的安全限制。此方法如下图所示。
Classification Based on Role
如果数据通常对所有部门可用,那么遵循角色访问层次结构十分有用。换句话说,如果数据通常由所有部门访问,那么按照用户的角色应用安全限制。角色访问层次结构如下图所示。
Audit Requirements
审计是安全性的子集,也是一项成本高昂的活动。审计可能会导致系统的大量开销。为了及时完成审计,我们需要更多的硬件,因此,建议在可能的情况下关闭审计。审计要求可分类如下 −
-
Connections
-
Disconnections
-
Data access
-
Data change
Note −对于上述每个类别,都需要审计成功、失败或两者。从安全性的角度考虑,审计失败非常重要。审计失败很重要,因为它们可以突出显示未经授权或欺诈性访问。
Network Requirements
网络安全与其他安全性一样重要。我们不能忽视网络安全要求。我们需要考虑以下问题 −
-
在将数据传输到数据仓库之前有必要加密数据吗?
-
网络数据传输是否有路由限制?
这些限制需要谨慎考虑。以下是需要记住的要点 −
-
加密和解密过程将增加开销。这需要更多的处理能力和处理时间。
-
如果系统已经是一个负载系统,则加密成本可能很高,因为加密是由源系统承担的。
Data Movement
在移动数据时存在潜在的安全隐患。假设我们需要传输一些受限数据作为需要加载的平面文件。将数据加载到数据仓库时,会产生以下问题 −
-
平面文件存储在哪里?
-
谁有权访问该磁盘空间?
如果我们讨论这些平面文件备份,将出现以下问题 -
-
你备份加密版本还是解密版本?
-
是否需要将这些备份做成存储单独的特殊磁带?
-
谁可以访问这些磁带?
数据移动的其他一些形式(如查询结果集)也需要考虑。创建临时表时提出的问题如下 -
-
临时表应该存放在哪里?
-
你如何让此类表可见?
我们应该避免意外违背安全限制。如果一个可以访问受限数据的用户可以生成可访问的临时表,数据将对未授权用户可见。通过为有权访问受限数据的用户提供一个单独的临时区域,我们可以解决这个问题。
Documentation
审计和安全要求需要得到妥善的记录。这将被视为证明的一部分。本文件可包含从下列信息收集的所有信息 -
-
Data classification
-
User classification
-
Network requirements
-
数据移动和存储要求
-
All auditable actions
Impact of Security on Design
安全性会影响应用程序代码和开发时间表。安全性影响以下领域 -
-
Application development
-
Database design
-
Testing
Application Development
安全性会影响整体应用程序开发,并且也会影响数据仓库中加载管理器、仓库管理器和查询管理器等重要组件的设计。加载管理器可能需要检查代码以过滤记录并将其放在不同位置。也可能需要更多转换规则来隐藏某些数据。也可能需要额外的元数据来处理任何额外对象。
为了创建和维护额外的视图,仓库管理器可能需要额外的代码来实施安全性。可能必须将额外检查编码到数据仓库中,以防止数据仓库在不应该提供的位置移动数据时受到愚弄。查询管理器需要进行更改以处理任何访问限制。查询管理器需要了解所有额外视图和聚合。