云数据仓库(CDWs)中的数据安全考虑因素

130 阅读8分钟

云数据仓库(CDWs)在企业规模化分析数据的方式上取得了快速的发展。由于云存储的弹性和廉价,以及现代数据管道简化了ETL过程,它们通常可以扩展到比内部数据仓库存储更多的数据。这显然包括敏感数据,导致安全、隐私、治理和合规方面的挑战。在这篇文章中,我们将讨论向CDWs的转移和使用CDWs时的安全考虑。

向云数据仓库的转移

十多年前,公共云公司开始以平台即服务(PaaS)模式发布数据仓库。重要的是,2010年的谷歌BigQuery和2012年的亚马逊Redshift使企业能够在几分钟内部署一个CDW,而不需要安装数据库或配置服务器。随后,其他供应商也纷纷推出并逐渐壮大,后来凭借其数据云成为最大的软件IPO。

向CDW(被认为是现代数据堆栈的一部分)的转移对数据消费者和生产者访问数据的便利性有重大影响。云计算允许弹性,存储变得更便宜,更容易增加(或减少),数据库管理变得更简单(例如,在一些CDW平台,没有DBA需要维护的索引)。

云数据仓库安全方面的考虑因素

当企业使用CDW时,信息安全的基本要素保持不变,但有些事情与拥有一个内部数据仓库,甚至是你手动安装在云基础设施上的数据仓库不同。部分区别是由于分担责任的模式。你的供应商对某些事情承担全部责任,如物理安全、操作系统安全和补丁,甚至维护数据库软件。这给你留下了更窄的重点领域。

然而,在许多情况下,迁移到云端也允许更多的用户访问并从你的数据中获得价值(即所谓的 "数据民主化")。从特定的团队使用数据到许多团队访问数据,并拥有不断变化的数据,这带来了更多的挑战。

此外,企业内部数据存储的一些假设(包括它默认与互联网断开连接)在云数据存储中并不总是正确的。将数据安全应用于CDW的复杂性还在于组织中管理CDW的人。这些人大多是数据工程师,而不是安全专家,在许多公司,这就造成了一种情况,即CDW对于安全团队来说是一个 "黑盒子",他们不能完全控制安全策略。

让我们来讨论一些主要的安全考虑。

加密

企业必须确保存储的数据(静态)和连接的数据(传输中)都是加密的。从安全的角度来看,这很重要(减少风险,如MITM攻击和对存储数据的访问)。在面临合规性审计时,这也很重要。在某些CDW平台上,数据在静止状态和传输过程中是默认加密的。在其他平台中,你需要配置它来加密存储的数据,并在访问数据时只执行加密的协议。

云数据仓库的访问控制

满足安全--以及合规和隐私--要求的很大一部分是建立对你所存储的数据的有效访问控制。这在很大程度上取决于你的公司、你的安全政策、数据的类型等。然而,让我们讨论一下CDW中访问控制的一些主要方面。

网络访问控制

在大多数情况下,设置网络访问策略是降低你的CDW风险水平的一个简单而有效的方法。一些平台默认没有公共互联网接入,在一些平台上,你需要配置网络策略。在某些情况下,你还想为特定的用户或用户组设置更具体的网络访问策略。以Snowflake为例,下面是如何设置网络访问策略并将其应用于特定用户。

CREATE OR REPLACE NETWORK POLICY us_employees
   ALLOWED_IP_LIST = ( '1.1.1.0/24', '2.2.2.0/24', '3.3.4.5' )
   BLOCKED_IP_LIST = ( '1.1.1.128', '2.2.2.128' )
   COMMENT = 'US employees offices, excluding guest WiFi gateways';
   
/* Assigning the policy to a user */
ALTER user us_marketing_analysts SET NETWORK_POLICY=US_EMPLOYEES;

认证

用户对 CDW 的认证因平台而异。例如,并非所有的平台都支持商业智能工具中个人用户认证的 OAuth。此外,不使用现有的最安全的认证选项是很常见的。例如,在许多公司,应用程序用用户名和密码连接到数据仓库,而他们可以使用更强大的基于密钥的认证。

这通常需要在数据和安全团队(有时也包括IT身份团队)之间进行合作,以确保在使用哪种认证类型方面有明确的安全准则。一个很好的例子是,在可能的情况下,使用身份提供者的整合,使人类用户遵守组织的认证政策(包括使用双因素认证)。

授权

也许数据仓库安全最难的部分是授权(即,一旦用户被认证使用数据仓库,他们可以访问什么数据,在什么级别?)不同的CDWs有不同的授权机制。例如,Snowflake有一个严格的基于角色的访问控制模型(RBAC),而Amazon Redshift最近推出了自己的RBAC模型。

以下是CDW授权中的一些常见安全挑战。

  • 许多用户需要改变他们的数据访问,在许多情况下,必须由数据工程团队来完成,这就造成了一个瓶颈。
  • 往往没有好的流程来撤销用户不再需要的数据的访问。
  • 追踪用户对敏感数据的访问(这通常是出于合规和安全的原因而需要的)是难以应用的。
  • 用户往往得到过于广泛的访问权。
  • 一段时间后,如果没有明确的访问设计,访问权限可能会变得复杂和难以管理。

这些问题是有解决办法的,例如,实现自助式数据访问,创建和执行明确的安全策略,以及在比数据仓库本身独立的环境中应用安全访问策略。

细致的访问控制

除了管理对诸如表、视图、模式或数据库等 "粗略 "对象的数据访问外,在许多情况下,还需要应用细粒度的安全。这可能意味着你希望某些用户只能访问表中的特定行(如行级安全),或者根据用户(或其角色)对数据进行动态屏蔽。在这些能力中,不同的CDW有不同的能力。在某些情况下,你可能需要通过使用函数和视图来设计这种策略,而在其他平台上,你可能需要创建策略并将其应用于数据对象。

请注意,这种策略在这些平台中都有不同的实现。此外,通常很难大规模地管理这些能力。通常情况下,当这一工作在规模上进行时,公司要么建立一个内部覆盖来自动访问控制,要么使用一个数据访问解决方案。

审计和监控

审计和监控你的数据访问是你的安全的内在组成部分--也是合规要求。再次,不同的CDW提供不同级别的审计日志,以及启用它们所需的不同步骤。例如,在 Snowflake,数据访问日志在snowflake.account_usage 模式中是现成的(可使用 SQL 选择查询),而对于亚马逊 Redshift,你需要配置查询日志导出到 S3 桶。

优先处理和保护敏感数据

确保CDW的数据安全需要数据和安全团队之间的资源和协作,而这些团队已经非常繁忙。在许多情况下,最重要的步骤之一是知道你的敏感数据在哪里,并将资源优先用于其安全,作为最优先项目。这些是在不同的CDW中如何进行不同安全控制的几个例子。显然,这只是一个总结,我们建议自行检查你所需要的具体要求。

总结

CDW的安全性--在一个越来越多的用户访问越来越多的数据并不断变化的时代,确保对数据的访问是一个挑战。另一方面,一些重点领域被排除在外,使数据团队能够集中精力提高公司的数据驱动价值。所有现代CDW都允许公司以安全的方式管理数据。在评估CDW时,重要的是将安全团队带入讨论,了解不同的安全能力将如何发挥作用。此外,一些安全要素可能在CDW本身之外处理(在BI工具或数据访问平台中)。

无论你选择什么样的CDW(它有许多其他因素需要考虑,而不仅仅是安全能力),通过有明确的安全策略,数据和安全团队之间的合作,以及一个持续降低风险的计划,公司可以为其CDW安全的成功做好准备。