社区编辑申请
注册/登录
云数据仓库中的数据安全思考 译文
大数据
在把数据迁移到云数据仓库的过程中,应该注意哪些安全事项?

近年来,由于云计算与云存储具有一定的廉价性和可扩展性,云数据仓库(Cloud data warehouses,CDW)得到了广泛的应用并飞速发展。同时,CDW不但能够存储比本地数据库更多的数据,而且可以通过现代化数据管道,简化了ETL的各种流程,因此许多企业都开始用它来开展大规模的数据分析业务。

其实,早在十多年前,公有云服务提供商便开始以平台即服务(PaaS)的模式发布云端数据仓库了。其中,Google的BigQuery和Amazon的Redshift都能够让组织在几分钟内,完成对CDW的部署,而无需额外安装数据库,或配置服务器。通过将数据从本地迁移到CDW(已被认为是现代数据栈的一部分),数据消费者和生产者在数据的访问过程中,获得了极大的便利性。在某些CDW平台中,企业甚至不需要DBA去维护数据的索引。其整个数据库的管理工作会变得异常简单。

当然,此类技术也面临着包括敏感数据的泄漏、隐私的暴露、数据结构的治理,以及满足合规等方面的挑战。在本文中,我们将和您讨论在将数据迁移到CDW过程中的各种安全注意事项。

迁移到云数据仓库后的安全性问题

我们之所以要将数据迁移到云端数据仓库中,就是为了允许更多的用户去访问我们的数据,并能够从数据中创造更大的价值。这就是业界常说的 “数据民主化(data democratization)”。与此同时,由于CDW是在所谓的“共享责任模型”上实现的,因此云服务提供商需要承担诸如:物理安全、操作系统安全和补丁、甚至是维护基本数据库软件等责任。而这些并非租户企业所需要参与的。因此,他们应当将注意力放在云端的数据安全上。这些往往不只是企业中安全专业团队的责任,而需要数据工程师,乃至业务团队的参与,需要大家共同制定和践行相关的安全策略。 

加密

租户企业必须确保存储的静态数据、以及连接的传输中数据,都得到必要的加密。从安全的角度来说,这些不但对于降低中间人(MITM)的攻击、肆意访问到存储数据的风险是必需的;而且对于满足合规性,也是非常必要的。在一些主流的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对于用户的身份验证,会因平台而异。例如,并非所有平台都支持在BI(业务智能化)工具中,将OAuth用于个人用户的身份验证。此外,有些平台会趋向采取“避重就轻”的途径,绕开那些最适合达到安全效果的身份验证方式。例如,在许多公司中,明明应用程序可以使用更强的、基于密钥(PKI)的身份验证方式,它们却仅使用“用户名+密码”去连接数据仓库。对此,数据和安全团队(有时还应包括IT团队)需要通过协作,来解决并确保有明确的安全指导策略,来具体规定应该使用哪种身份验证的类型。例如:应尽可能地使用与身份提供商(Identity Provider)相集成的方式,让用户遵守组织已有的双因素身份验证策略。 

授权

在数据仓库安全性中,最难管控的部分莫过于授权了。此处的授权是指:一旦用户通过了数据仓库的身份验证,就应该准确授予他们可以访问哪些数据、以及在什么级别上进行访问。不同的CDW有着不同的授权机制。例如,Snowflake具有严格的、基于角色的访问控制模型(RBAC),而Amazon的Redshift最近也推出了自己的RBAC模型。 

总的说来,CDW在授权过程中往往面临着如下安全挑战: 

  • 由于用户量和数据种类比较庞大,因此许多用户往往需要频繁地更改其数据访问的相关权限,这就会给数据工程团队造成工作量上的压力。
  • 企业通常会忽略执行“撤销对用户不再需要的数据访问权限”的流程。
  • 难以出于合规性和安全性的通用需求,及时、准确地跟踪用户对于敏感数据的访问。
  • 用户经常被授予过多的访问权限。

在CDW运行一段时间后,如果我们无法恪守明确的访问规则,他们的访问权限就会很快变得复杂、且难以管理。对此,企业需要启用自动化的数据访问授权、创建和执行明确的安全策略,以及应用到不同数据仓库环境的安全访问规则。 

细粒度的访问控制

在云数据仓库的语境中,我们认为针对诸如:表、视图、模式、以及数据库的访问控制,属于“粗粒度”对象管理。除此之外,我们还会碰到居多“细粒度”管理的安全需求。也就是说,我们需要对于某些用户是否能够仅访问表中的特定行(即,行级别安全性),以及根据用户或其角色,对数据的操作能力予以动态屏蔽。同样,在此方面,不同的CDW也具有不同的能力。在某些平台中,您可以通过使用现成的函数和视图,来设计并实现此类策略;而在其他的平台上,您可能需要自行创建策略,并将其应用于数据对象上。当然,如果数据量和类型过大的话,则需要通过自动化控制机制,来实现大规模数据访问的全覆盖。 

审计和监控

审计和监控既是数据访问平台内部安全的重要组成部分,也是合规性的基本要求。同样,不同的CDW提供不同级别的审计日志,以及启用它们的不同步骤。例如,在Snowflake中,数据访问日志是开箱即用的snowflake.account_usage架构(可使用SQL的选择查询),而对于Amazon的Redshift,您需要通过配置查询日志,以导出到S3存储桶。 

优先级和保护敏感数据

和过去保存在本地的数据类似,在确保CDW的数据安全性时,我们离不开与业务、运维团队的协作,以了解企业的敏感数据到底被存放在哪里,并且根据实际情况排定资源的安全优先级。

下面,我总结了当前四大主流的CDW平台,在上面提到的各项安全控制要点上的显著特点: 


AMAZON REDSHIFT

SNOWFLAKE

AZURE SYNAPSE

GOOGLE BIGQUERY

网络访问控制

作为AWS账户网络策略的一部分

使用SQL予以定义

作为AzureSynapse工作区配置的一部分

G-Suite管理面板中定义

访问控制

使用SQL配置,对用户、组或角色进行授权

使用SQL配置,仅使用角色授权(严格RBAC

使用Azure(用于添加用户)和SQL(用于授予对特定对象的访问权限)对用户或角色进行配置

使用GCPUI/API配置,以授予用户或组访问权限

细粒度的安全性

作为平台一部分,实现列级访问

作为平台一部分,实现动态屏蔽和行级策略

作为平台一部分,实现动态屏蔽、列级和行级策略

作为平台一部分,实现列级和行级策略

审计和监控

提供将审计日志导出到S3所需的配置

虚拟数据库模式(snowflake.account_usage)中的自动访问和查询日志

提供启用对Azure存储的审核所需的配置

作为GCP一部分的自动访问和查询日志(可以使用REST API实现拉取)

小结

云数据仓库能够使数据团队更加专注于增加本企业数据的驱动价值。而随着更多的用户能够访问更多、且不断变化的海量数据,我们对数据访问的安全性保护也需要越来越重视。因此,在将数据迁移至CDW之前,我们需要对平台的安全性做好评估。而在完成迁移并开始使用CDW平台时,安全团队既要能够使用由平台提供的安全管控措施,又要善于使用其他安全元素(如,BI工具或数据访问处理方法),来补齐CDW的本身不足。 

当然,无论您选择了上面提到的何种CDW(可能不仅会考虑平台的安全能力,也会综合考量各种其他因素),请通过明确的安全策略、数据和安全团队之间的紧密协作、以及持续降低数据风险的方案,实现对企业数据的妥善管理。 

译者介绍

陈峻 (Julian Chen),51CTO社区编辑,具有十多年的IT项目实施经验,善于对内外部资源与风险实施管控,专注传播网络与信息安全知识与经验;持续以博文、专题和译文等形式,分享前沿技术与新知;经常以线上、线下等方式,开展信息安全类培训与授课。

原文标题:​​Data Security Considerations in Cloud Data Warehouses​​,作者:Ben Herzberg



责任编辑:莫奇
相关推荐

2022-06-05 21:09:47

Python办公自动化

2022-06-15 11:02:40

网络安全运营

2022-06-16 17:02:49

微软智能云混合云Azure

2022-06-15 08:25:07

Python天气数据可视化分析

2022-06-08 13:25:51

数据

2022-06-30 10:56:18

字节云数据库存储

2022-06-27 23:44:37

云原生云存储云计算

2022-06-16 15:42:16

攻击面管理ASM

2022-06-02 15:28:42

网络安全信息通信数据保护

2022-06-23 12:03:00

网络安全网络安全事故

2022-06-29 14:46:00

网络攻击数据泄露勒索软件

2022-06-07 11:16:51

云原生人工智能运维

2022-06-08 08:38:21

云存储数据安全

2022-06-27 15:25:08

架构模型治理

2022-06-22 05:53:49

城域网广域网VXLAN

2022-06-28 14:47:43

数据中心服务器科技

2022-06-29 16:33:52

安全信息泄露信息安全

2022-06-13 08:00:00

数据湖数据仓库大数据

2022-06-20 13:34:46

漏洞网络攻击

2022-06-09 09:38:39

Cloudlets云存储

同话题下的热门内容

字节跳动数据平台技术揭秘:基于ClickHouse的复杂查询实现与优化高考大数据:2022年最有“钱”途的十大专业如何设计数据可视化平台七个好用常见的大数据分析模型王晶晶:京东零售海量日志数据处理实践如何用好数据科学?“2022大数据十大关键词”发布:数据中台、数据分类分级等上榜七张图,学会做有价值的经营分析

编辑推荐

使用Pandas&NumPy进行数据清洗的6大常用方法2018年7款最佳免费数据分析工具pyspark访问hive数据实战【漫谈数据仓库】 如何优雅地设计数据分层人工智能、大数据与深度学习之间的关系和差异
我收藏的内容
点赞
收藏

51CTO技术栈公众号