近年来,由于云计算和云存储的低成本和可扩展性,云数据仓库(Clouddatawarehouses,CDW)得到了广泛的应用和快速的发展。同时,CDW不仅可以存储比本地数据库更多的数据,还可以通过现代数据管道简化ETL的各种流程,因此很多企业开始使用它来开展大规模的数据分析服务。事实上,早在十多年前,公有云服务商就开始以平台即服务(PaaS)的模式发布云数据仓库。其中,Google的BigQuery和Amazon的Redshift可以让组织在几分钟内完成CDW的部署,而无需额外安装数据库或配置服务器。通过将数据从本地迁移到CDW(已经被认为是现代数据堆栈的一部分),数据消费者和生产者在数据访问过程中获得了极大的便利。在一些CDW平台中,企业甚至不需要DBA来维护数据索引。其整个数据库的管理将变得异常简单。当然,这些技术也面临着敏感数据泄露、隐私暴露、数据结构治理和合规性等挑战。在本文中,我们将与大家一起探讨数据迁移到CDW过程中的各种安全注意事项。迁移到云数仓后的安全问题我们之所以要将数据迁移到云数仓,是为了让更多的用户访问我们的数据,从数据中创造更大的价值。这就是业界常说的“数据民主化”。同时,由于CDW是在所谓的“责任共担模型”上实施的,云服务提供商需要承担诸如:物理安全、操作系统安全和补丁,甚至维护基本数据库软件等责任。而这些都不是租户企业需要参与的。因此,他们应该关注云中的数据安全。这些往往不仅是企业内部安全专业团队的职责,还需要数据工程师乃至业务团队的参与,需要大家共同制定和实施相关的安全策略。加密租户必须确保静态存储的数据以及传输中的连接数据得到适当加密。从安全的角度来看,这些不仅是降低中间人(MITM)攻击和任意访问存储数据的风险所必需的;还要满足合规要求。在一些主流的CDW平台中,它们默认对静态和传输中的数据进行加密。在其他平台上,您需要手动配置存储数据的加密,并在访问数据的过程中强制使用加密协议。网络访问控制在大多数情况下,设置网络访问策略是降低CDW风险级别的一种简单而有效的方法。某些平台默认情况下根本无法访问公共互联网;在某些平台上,您需要配置额外的网络访问规则。在一些特定的应用场景中,还需要为特定的用户或用户组设置更具体的网络访问策略。下面以Snowflake为例,制定需要应用于特定用户的网络访问策略:CREATEORREPLACENETWORKPOLICYus_employeesALLOWED_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='美国员工办公室,不包括访客WiFi网关';/*将策略分配给用户*/ALTERuserus_marketing_analystsSETNETWOREK_EPO;AuthenticateCDW以进行用户身份验证,因平台而异。例如,并非所有平台都支持在BI(商业智能)工具中使用OAuth进行个人用户身份验证。此外,一些平台往往采取“无为”的做法,绕过那些最适合达到安全效果的认证方式。例如,在许多公司中,应用程序仅使用“用户名+密码”连接到数据仓库,而它们可以使用更强大的基于密钥(PKI)的身份验证方法。在这方面,数据和安全团队(有时还有IT团队)需要共同努力解决并确保有明确的安全策略来指定应使用哪种类型的身份验证。例如:应尽可能使用与身份提供者的集成,以允许用户遵守组织现有的双因素身份验证策略。授权数据仓库安全性中最难管理的部分是授权。这里的授权意味着一旦用户通过数据仓库的身份验证,他们应该被授予他们可以访问的数据以及在什么级别。不同的CDW有不同的授权机制。例如,Snowflake有严格的基于角色的访问控制模型(RBAC),Amazon的Redshift最近也推出了自己的RBAC模型。总的来说,CDW在授权过程中经常面临以下安全挑战:由于用户数量多、数据类型多,很多用户往往需要频繁更改自己的数据访问相关权限,这会给数据工程团队带来工作压力。量化压力。企业常常忽视实施撤销对用户不再需要的数据的访问权限的过程。合规性和安全性的共同需求很难及时准确地跟踪用户对敏感数据的访问。用户通常被授予过多的访问权限。在CDW运行一段时间后,如果我们不遵守明确的访问规则,他们的访问权限会很快变得复杂且难以管理。为此,企业需要启用自动数据访问授权,创建并实施明确的安全策略,以及适用于不同数据仓库环境的安全访问规则。细粒度访问控制在云数据仓库的上下文中,我们认为表、视图、模式和数据库的访问控制属于“粗粒度”对象管理。此外,我们还会遇到多为“细粒度”管理的安全需求。也就是说,我们需要根据某些用户是否只能访问表中的特定行(即行级安全性)并根据用户或其角色来动态屏蔽操作数??据的能力。同样,不同的CDW在这方面具有不同的能力。在某些平台上,您可以使用现成的函数和视图来设计和实现此类策略;在其他平台上,您可能需要创建自己的策略并将其应用于数据对象。当然,如果数据量和类型过多,则需要自动化控制机制来实现大规模数据访问的全覆盖。审计和监控审计和监控既是数据访问平台内部安全的重要组成部分,也是合规性的基本要求。同样,不同的CDW提供不同级别的审计日志记录,以及启用它们的不同步骤。例如在Snowflake中,数据访问日志是开箱即用的snowflake.account_usageschema(可以使用SQLselectquery),而对于Amazon的Redshift,需要配置查询日志导出到S3bucket.敏感数据的优先级和保护类似于过去本地存储的数据。保障CDW数据安全,离不开与业务和运维团队的协作,了解企业的??敏感数据存放在哪里,并根据实际情况安排资源的安全优先级。下面,我总结一下目前四大主流CDW平台在上述安全控制点上的显着特点:Azure中的Synapse工作区配置已在G-Suite管理面板中定义用户)和SQL(用于授予对特定对象的访问权限)使用GCP的UI/API配置用户或角色以授予用户或组访问权限作为平台的一部分细粒度安全性作为平台的一部分,列级访问实现动态屏蔽和行级策略作为平台的一部分,实现动态屏蔽,列级和行级策略作为平台的一部分,实现列级l和行级策略审计和监控提供审计日志导出到S3所需配置虚拟数据库架构中的自动访问和查询日志(snowflake.account_usage)提供启用Azure存储审计所需的配置自动访问和查询日志作为一部分GCP的(pull可以使用RESTAPI实现)总结云数据仓库使数据团队能够更专注于增加企业数据的驱动价值。而随着越来越多的用户接触到越来越多、不断变化的海量数据,我们也越来越需要重视数据访问的安全保护。因此,在将数据迁移到CDW之前,我们需要对平台的安全性进行评估。当完成迁移并开始使用CDW平台时,安全团队不仅要能够使用平台提供的安全控制措施,还要善于使用其他安全要素(如BI工具或数据访问处理方式))来补充CDW本身的不足。当然,无论您选择以上哪种CDW(您可能不仅要考虑平台的安全能力,还要考虑其他各种因素),请通过明确的安全策略,数据和安全团队之间的紧密协作,以及计划持续降低数据风险,实现企业数据的妥善管理。译者介绍51CTO社区编辑JulianChen。他在实施IT项目方面拥有超过十年的经验。善于控制内外部资源和风险。他专注于传播网络和信息安全方面的知识和经验。翻译等形式分享前沿技术和新知识;经常在线上和线下开展信息安全培训和讲座。原标题:云数据仓库中的数据安全考虑,作者:BenHerzberg
