📅  最后修改于: 2021-01-07 06:01:19             🧑  作者: Mango
数据仓库的目的是使用户易于访问大量数据,从而使用户能够提取有关整个业务的信息。但是我们知道,可能会对数据施加一些安全限制,这可能会成为访问信息的障碍。如果分析师对数据的查看受到限制,那么就不可能完全了解业务趋势。
每个分析师的数据都可以汇总,然后传递给管理层,汇总不同的汇总。由于汇总的汇总不能与汇总的汇总相同,因此除非有人正在分析整个数据,否则可能会错过数据中的某些信息趋势。
添加安全功能会影响数据仓库的性能,因此,尽早确定安全要求非常重要。数据仓库上线后,很难添加安全功能。
在数据仓库的设计阶段,我们应该记住以后可能添加哪些数据源,以及添加这些数据源的影响。在设计阶段,我们应考虑以下可能性。
新数据源是否需要实施新的安全性和/或审核限制?
是否添加了新用户,这些新用户限制了对通常已经可用的数据的访问?
当未来的用户和数据源不为人知时,就会出现这种情况。在这种情况下,我们需要利用业务知识和数据仓库的目标来了解可能的需求。
以下活动受到安全措施的影响-
我们首先需要对数据进行分类,然后根据用户可以访问的数据对其进行分类。换句话说,根据用户可以访问的数据对他们进行分类。
资料分类
以下两种方法可用于对数据进行分类-
数据可以根据其敏感性进行分类。高度敏感的数据被归类为高度受限,敏感度较低的数据被归类为限制性较低。
还可以根据作业函数对数据进行分类。此限制仅允许特定用户查看特定数据。在这里,我们限制用户仅查看他们感兴趣并负责的那部分数据。
第二种方法存在一些问题。为了理解,让我们举个例子。假设您正在为银行建立数据仓库。考虑到存储在数据仓库中的数据是所有帐户的交易数据。这里的问题是,谁可以看到交易数据。解决方案在于根据函数对数据进行分类。
用户分类
以下方法可用于对用户进行分类-
可以根据组织中用户的层次结构对用户进行分类,即可以按部门,部门,组等对用户进行分类。
还可以根据用户的角色对用户进行分类,并根据他们的角色在部门之间对人员进行分组。
按部门分类
让我们举一个数据仓库的例子,用户来自销售和市场部门。我们可以通过自上而下的公司视图来确保安全性,并以不同部门为中心进行访问。但是对不同级别的用户可能会有一些限制。下图显示了此结构。
但是,如果每个部门访问不同的数据,那么我们应该分别设计每个部门的安全访问权限。这可以通过部门数据集市来实现。由于这些数据集市与数据仓库是分开的,因此我们可以对每个数据集市实施单独的安全限制。下图显示了这种方法。
基于角色的分类
如果数据通常可供所有部门使用,则遵循角色访问层次结构将很有用。换句话说,如果数据通常被所有部门访问,则根据用户角色来应用安全限制。角色访问层次结构如下图所示。
审计是安全性的子集,这是一项昂贵的活动。审核会导致系统的大量开销。为了及时完成审核,我们需要更多的硬件,因此,建议尽可能关闭审核。审核要求可以分类如下-
注–对于上述每个类别,有必要审核成功,失败或两者。从安全原因的角度来看,故障审核非常重要。失败的审核非常重要,因为它们会突出显示未经授权或欺诈的访问。
网络安全与其他证券一样重要。我们不能忽视网络安全要求。我们需要考虑以下问题-
在将数据传输到数据仓库之前是否需要加密?
数据可采用的网络路由是否受到限制?
这些限制需要仔细考虑。以下是要记住的要点-
加密和解密过程将增加开销。这将需要更多的处理能力和处理时间。
如果系统已经是一个已加载的系统,则加密的成本可能很高,因为加密是由源系统承担的。
移动数据时存在潜在的安全隐患。假设我们需要将一些受限数据作为要加载的平面文件进行传输。将数据加载到数据仓库中时,会引发以下问题-
如果我们谈论这些平面文件的备份,则会引发以下问题-
还需要考虑其他一些形式的数据移动,例如查询结果集。创建临时表时提出的问题如下-
我们应避免意外违反安全限制。如果有权访问受限数据的用户可以生成可访问的临时表,则未经授权的用户可以看到数据。我们可以通过为访问受限数据的用户提供一个单独的临时区域来解决此问题。
审核和安全要求需要正确记录。这将被视为理由的一部分。该文档可以包含从以下位置收集的所有信息:
安全性会影响应用程序代码和开发时间表。安全影响以下领域-
安全性会影响整个应用程序的开发,还会影响数据仓库重要组件(例如负载管理器,仓库管理器和查询管理器)的设计。负载管理器可能需要检查代码以过滤记录并将它们放置在不同的位置。隐藏某些数据可能还需要更多的转换规则。也可能需要额外的元数据来处理任何额外的对象。
为了创建和维护额外的视图,仓库经理可能需要额外的代码以加强安全性。可能必须将额外的检查编码到数据仓库中,以防止其被愚弄到将数据移到不应使用的位置。查询管理器需要进行更改以处理所有访问限制。查询管理器将需要知道所有其他视图和聚合。
数据库布局也受到影响,因为当实施安全措施时,视图和表的数量会增加。增加安全性会增加数据库的大小,因此会增加数据库设计和管理的复杂性。这也将增加备份管理和恢复计划的复杂性。
测试数据仓库是一个复杂而漫长的过程。为数据仓库增加安全性也会影响测试时间的复杂性。它通过以下两种方式影响测试-
这将增加集成和系统测试所需的时间。
新增了要测试的功能,这将增加测试套件的大小。