开发者学堂课程【SaaS 模式云数据仓库实战:持续定义 SaaS 模式云数据仓库
——MaxCompute 数据的持续保护】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/332/detail/3722
持续定义 SaaS 模式云数据仓库——MaxCompute 数据的持续保护
在企业数字化的今天,大数据成为业务发展的重要驱动力,数据成为资产的同时也正在面临诸多风险。
本节内容主要讲解几个方面:SaaS 模式、云数据仓库 MaxCompute 、企业及安全性能力、如何应对大数据平台安全挑战的最佳实践
一、云上大数据平台的发展趋势及面临的安全挑战
1.目前面临的安全挑战
近年来,用户隐私的泄露越发严重,企业数据平台的环境安全和数据安全受到网络威胁,个人无意或者恶意的操作给公司带来严重损失的后果。在该前提下,国内外均陆续出台各种相关政策,法规法律,我国《数据安全法》《个人信息保护法》在不断的完善,这些法律均旨在于保护个人的隐私的数据,当下,企业的数据安全不仅仅是数据企业的内部财产,同时企业也要扛起相关的社会责任和法律责任,数据安全须更加重视。
在此背景之下,企业大数据的安全能力在不同层面面临着诸多特点和挑战,从两方面讲解,一方面是企业大数据平台管理使用方面特点,大数据平台区别于数据库平台,有不同的特点和挑战。
(1)企业数据规模爆发式增长,依据大数据理念,企业数据资产被集中存储使用,以便快速的关联、分析、挖掘。
(2)通常保存着大量企业核心敏感数据如企业服务的客服隐私数据。这两点集中在一起,一旦企业数据泄露,其影响的广度和深度超越以往。
(3)被众多不同的业务和数据智能部门使用。现在强调的是数据如何能被企业不同业务或不同智能团队充分挖掘,民主化消费,从而帮助业务。即现在的数据资产服务的范围对象超越以往,可能企业内一半以上的员工都有权限、能力去进行利用企业数据资产创新,这同时带来了新的挑战。
(4)数据类型多样,对海量数据对象、访问人员分类、分级以及权限控制管理困难。
(5)行业客户面临更为严格的合规审计要求,保障业务连续性和应用安全有更高的要求,如异地容灾,增加了管理难度和使用成本。
另一方面企业在搭建建设平台时多选择类似 Hadoop 的解决方案,利用这种开元的技术栈可以很快搭建企业的平台基于开源自建大数据平台在技术解决方案上面临的挑战:
(1)数据加工链路长,需要使用众多开源组件搭建平台且组件的默认安全策略存在风险。
(2)企业拥有很多发行版的解决方案,但对于大型客户,开源解决方案缺少企业级的完整的安全解决方案,由图可知常见的开源方案有很多种组件,但组件没有覆盖常见的安全要求,企业需要慎重组合不同开源解决方案,满足企业自身管理要求。
(3)开源组件漏洞一般是公开的,更容易被攻击者恶意针对并利用。由图可见,2011-2019年发布的Hadoop相关解决方案存在较多漏洞,包含攻击访问、跨战略脚本攻击等开放的、被广为人知的漏洞,导致恶意攻击者根据此类漏洞进行针对性的攻击。
4.自建一个平台,团队需要较强的安全管理能力进行及时的补丁升级和安全管理,对企业管理团队的管理水平和技术能力提出要求和挑战。
2.提高企业安全管理水平
在云计算的时代,云计算给大数据带来了更多的资源弹性和开箱即用的业务敏捷性,云计算和大数据的结合,产生的趋势是云上的大数据明显的往全托管的、 SaaS 化模式上演进,全托管大数据平台能够内建完善安全方面的管理能力,这些能力是开箱即用,不需要企业过多设置和自定方案的设定,提高企业安全管理水平。
如图可知,明显的趋势即企业自建大数据平台具有这几种方案,最左边是在自己的 IDC 自行管理数据中心,然后在数据中心进行搭建自己的数据管理平台。而云上的大数据也存在不同的交互模式,最右边的模式即 SaaS 模式 (SoftWare as a Service)从不同层次方面把企业技术平台,大数据管理能力以及大数据应用访问这些安全管理应用的能力都可以覆盖到,从而形成完整的安全方案的能力。
左边指现代化大数据管理平台,全托管的模式能够从技术平台,从大数据的平台安全和应用安全几个方面能够提供更完整的解决方案。
如图所示:
3.MaxCompute:SaaS 模式企业级云数据仓库
就阿里云的大数据提供的一种 SaaS 模式企业级云数据仓库即 MaxCompute 实际上是构建在阿里云上的超大规模的技术存储,自由池上的仓库服务,对外提供一套在线的Web接口服务,企业仅需调用外部的这种服务就可完成企业数据紧固和分析,它拥有这些特点即:
首先其建立在阿里云,用户不需要做资源的开通,不需要自行规划,开箱即用,同时运用语言的这种弹性能力 MaxCompute 是一套 service 架构,带来良好的资源弹性伸缩能力,精确的匹配度管理需求。
更重要的是一套 Sass 模式的云数仓除了提供弹性能力、算力和应用场的支持能力外,托管各种企业的认证,网络控制以及各种相关的安全管理能力。基于此种服务的能力,企业不需要过多的配置管理就能享用开箱即用的平台安全。
如图所示:
4.Saas 模式的服务与常见大数据平台对比
Saas 模式的服务和常见企业自建的大数据平台做对比,由图可知,左边企业往往选择 Hadoop-Base 大数据平台,右边是之前提到的阿里云 Saas模式大数据服务——MaxCompute ,MaxCompute 从安全管理的纬度上自身的特点:
(1)物理安全方面,需要管理主机,保证数据中心、网络、服务器的安全, MaxCompute 由于构建阿里云之上,阿里云团队负责数据中心设施的保障及安全的管理,管控网络的安全。
(2)大数据平台软件的能力,自建大数据平台开源的提供诸多的安全组件,需要集成安全解决方案,而 MaxCompute 开箱即用默认内件在产品服务中,包含访问控制授权,由于 MaxCompute 与阿里云的 wrap 体系相连,对于大数据平台每个访问的账号可以绑定员工个人身份,接入控制 MaxCompute 支持白名单策略,可设置 IP 访问时段,范围,是 VPC 访问还是员工 IP 的访问,同时权限的策略, MaxCompute 不仅仅支持传统的数据处理授权,更多是系统的授权。
(3)安全隔离,云上突出的特点是多租户共享,很多企业做数据中台建设,即使是在一套物理的集群上,其实也希望企业的不同组织可以相互隔离,隔离空间保障不同内部组织之间相互安全隔离, MaxCompute 提供了强力的隔离方案的能力。
(4)风控与审计,MaxCompute默认提供了 InformationSchema 数据库标准,开放用户系统的元数据和使用信息 MaxCompute 提供实施审计日志,通过所有的操作使用,如删除数据,复全,下载能够实时推送给客户,通过该行为进行安全审计。
同时在数据保护方面 MaxCompute 也采用诸多措施,提供数据加密的方式,云上数据最主要的是数据托管给云服务商,通过数据加密及 BYOK 的方式能够在存储册加密企业数据,加密密钥掌握在企业自身手中,加强数据安全。企业很大的风险是敏感数据泄露, MaxCompute 脱敏及敏感数据的自动发现的能力,敏感数据在访问查询时的默认脱敏,是一种产品内件的能力。
不管平台任何用户以何种形式访问都会统一的对敏感数据进行控制。在应用安全方面,企业的数据平台能够被更多的应用方,企业的数据人员去探索,对数据进行最小权限的管理,结合企业的管理流程进行全新的控制。 MaxCompute 和 Base 提供的产品化的数据授权管理流程能力,同时利用了数据 portion 产品,提供了数据风险识别预警能力,加强对敏感数据的发现,对敏感数据的分类以及数据把控的能力。
归纳发现,自建大数据平台和 SaaS 模式大数据平台最大的区别在于自建平台的安全能力需要前期投入大量的成本,需要接触很复杂的问题来达到良好的安全管理能力。
SaaS 模式将安全能力内建于服务当中,所以是强安全低成本的解决方案。
5.MaxCompute发布内容
MaxCompute 重大安全能力的发布有:
实施审计日志、细粒度授权、数据脱敏能力、存储加密即 BYOK支持用户自定义密钥 、产品内建自动持续备份恢复防止数据无存储的情况、跨地域的容灾备份。
二、SaaS 模式云数据仓库 MaxCompute 安全最佳实践
1.MaxCompute 企业级安全能力发布
主要功能:细粒度授权、数据脱敏(数据保护伞)、数据加密 (BYOK) 、持续备份恢复、跨地域的容灾备份、实施审计日志。
新的功能介绍结合安全方向上的几大风险以及如何应对讲解。
从宏观来看大数据安全体系,从底层往上看,基础安全和平台可信,例如数据中心的安全保障、设施保障、网络安全等等。再往上一层是大数据平台安全,大数据平台安全主要由访问控制和鉴权,安全隔离,风控与审计,数据保护几个维度构成。再往上一层是应用安全,基于大数据平台安全能力,向用户从安全层面提供数据管理工具,风险保障工具等等,给用户更好的使用体验。
三、数据安全风险
从数据的几种安全风险来说,常见的数据安全风险有数据无用、数据滥用、数据泄露、数据丢失。
针对每种具体风险,先要了解数据安全的现状,比如企业的数据有什么、在哪里,哪些用户在使用数据,数据的使用是否合规、是否存在风险等。
1.数据误用
首先从数据误用分析,数据误用指数据的错误使用,原因是用户对数据的了解不够,应对方法从了解数据开始。在 MaxCompute 云数据仓库层面, MaxCompute 提供了统一的元数据管理,以及发布的新功能 Information Schema ,基于平台上的新功能,平台上的元数据管理,DataWork数据地图给予用户图形化的界面、图形化的工具,使用户更好更直观的了解数据。简言之,MaxCompute 提供基础元信息, DataWork 的数据地图给用户图形化界面的工具。
主要讲解其数据地图上的功能:数据展示、访问信息展示、选元分析、产出朔源等等。
从截图可见,用户可以方便直观的了解到有哪些数据,数据总量情况如何,有哪些表。对于具体的表,其元数据情况如何,其数据定义如何,产出信息什么样,访问统计如何。最重要的一环:在数据地图的选元关系说明数据的起源与结果,是从哪个表格出现,又有哪些节点使用。数据的产出数据,数据的选元分析能够使用户很好的了解到数据的来龙去脉;在具体的业务场景使用中,更好的发挥其价值,用到正确的位置。
2. 数据滥用
数据滥用指数据的过度使用及数据的过度分析,比如要看店铺的日常运营情况,可能仅需该店铺日常运营。在实际情况中,可能会获取到更多的数据,比如说:其他店铺的运营情况,或者其他地域甚至是国家层面的店铺运营情况产出这份数据。
此情况下涉及数据滥用问题,应对方案核心思路是做精细化的权限管理,把数据的使用限制在最小授权范围,具体操作即: MaxCompute 大数据平台支持一个细粒度的权限管理体系,从不同的方面,不同的纬度做到精细化权限管理能力。其次在 MaxCompute 大数据平台上最好有一个图形化的工具例如白屏化的工具能让用户方便化的去使用,方便实时权限管理。
(1)MaxComputes 字段级粒度权限体系
在近期的安全能力升级中,权限管理体系的新功能主要是权限模型2.0,这是权限模型的升级,光说模型的升级对用户来说这是概念,重点是在成像模型升级中它的不同之处是细粒度的权限管理到字段级细粒度的的权限管理, MaxCompute 的权限体系是支持不同的权限管理机制,首先是 ACL ,是一种用户自主访问控制,由用户控制对对象进行授权,即权限的授予和收回均是由用户控制。
其次 MaxCompute 支持强制的访问控制,通过 label 机制,列级别访问机制实现。强制的 MAC 权限机制属于全局范围,个人用户或者单个用户无法自主选择是 ground 或是 review。 第三种权限机制是 robust access control , 基于 role 的角色管理。在这些权限机制之外,通过 protect 模式和 package 模式做到项目之间的隔离和数据共享,无论那种权限机制或哪种功能目前都涉及三个要素,第一要素即 action 权限操作,具体的操作比如说 select 数据授权鉴权,insert update 数据鉴权,在功能发布中细粒度权限体系中,添加对下载权限的支持,即 download 权限管理,数据下载通常涉及到大批量的数据,数据共享或者数据下载,这种大批量的数据共享,下载,面临风险比单个的 slide quarrel 要大,在此之前批量下载的权限并没有独立,与 select 相混。
在近期的权限功能中把 download 下载权限管理独立,对大批量的数据进行分发精喜的控制。在权限中的第二要素是 object 对象,对 table、view、resource、 我们的用户词定义函数等等。新功能中的 high line 是字段级的权限管理,包括权限的授予与收回,权限的有效期管理等。
第三个要素 subject 即这个权限是给单个用户还是某一类角色,近期支持一类名为 super administrator ,该角色的主要应用场景是可以帮助一些列项目层面的权限管理和项目管理的管理工作,通常工作的主账号集中于几人使用,有 super administrator 之后可以把管理权限分发到管理团队,而不再由 project owner 集中承担。
在近期细粒度权限支持中,除了之前提到的权限管理,字段级权限管理之外,还支持 package 细粒度线路管理,跟以往的区别是 之前package 是作为一个整体,其中所有的 table、toilet、UDF、reasons 均是放在 package 中,统一授权到 project 某个用户,一旦将 package 授权到另一个项目的用户,被授权用户就拥有 package 所有内容的访问权,对权限的精喜管理并不是非常理想的操作,涉及到数据的过度使用及过度授权,以往的情况下,更精细的管理需要将更大的 package拆分为若干个小的 package 然后对用户授权仅授权到小的 package 上,在新版本中也支持了 package 下,所有内容的细粒度权限的管理,把 package 中的某一个 table 授权给另一个项目的用户,把所有需要共享的数据放到大的 package 中,在对 package 下的内容进行精细化管理,改善用户的使用体验并且支持多个 package 的分享
这是近期安全能力升级中权限体系中的新功能,基于 MaxCompute
平台化的权限,体系能力。
在此之上,构建了白屏化的权限管理工具,用户通过 DataWork 的安全中心使用,通常推荐的在权限管理上的最佳实践,首先对数据进行分类分级管理,基于对数据的分级管理,然后第二步推荐时间做具体授权审批,每次数据的使用都要通过用户,申请权限,然后通过管理员做程序审批授权进行数据分发共享以及最后的数据使用,第三步进行定期审计,需要项目管理团队,对所有的数据使用,权限授予情况以及其他的一些数据共享情况,做定期审计,最后基于定期使用结果,对权限进行及时的清理和回收,例如对于离职转岗人员及时更新其账号状态,回收其过期权限等。
在安全中心中主要模块是权限查看,比如本人操作列出其名下所有的数据以及相应的权限内容、内容的有效期,可以做权限申请,可以做某个表,细化到某一个字段做权限申请,由具体 owner 或者审批员做一个权限审批,最后去安全中心做安全审计。比如某表上有哪些用户,哪些权限都是可以清楚的看到。
3.数据泄露
数据安全风险中的数据泄露。数据的生命周期由数据采集开始进入大数据平台,进行数据传输数据处理、数据交互、数据存储最后直到数据被销毁或者说退出大数据平台,这是完整的数据生命周期。提到数据周期主要是因为数据泄露可能发生在数据生命周期的任何一个阶段,数据应对措施结合相对的数据生命周期的某一个阶段来讲具体的应对措施。
(1)应对数据泄露
首先了解数据流转(如图),从各个渠道应用端、采集端,采集到各类数据通过各种特殊渠道传输进入大数据平台,以 MaxCompute 为例,在大数据平台之内,这些数据会被进行各种计算出理,会做各种交换及共享,最后被存储在大数据平台上,最后被处理的数据通过不同的出口,不同的形式被交换共享到下游的数据应用,不如常见的比亚应用,或者数据产品中去也可能被终端用户 end user 直接访问到,这是数据在大数据平台流转的情况。
应对数据泄露可能发生在数据生命周期的任意时段,需结合发布的新功能,首先观察在数据存储的周期内,通过近期发布的新功能数据发布功能为了保障用户的数据存储,在数据落盘时,提供数据加密功能,在数据落盘时, MaxCompute 根据不同用户的选择来使用特定的密钥选择特定的算法对数据进行加密在数据被用户读取时或者计算时又会进行自动解密,加密解密过程对用户而言透明可见,只是在落盘存储时被加密过,以防万一被恶意访问到数据,保护数据。
MaxCompute 的密钥管理基于阿里云的密钥管理服务的,用户在使用时相应的开通KMS 服务。在近期数据加密,实际上还发布了新功能,即用户新功能自定义密钥(如图),支持国密算法,原先密钥支持的算法有 AES 等,国家推动算法的合理化,国密算法作为新的合规标准之一。
用户在使用加密存储时,新建项目时,可以选择对数据进行加密或者不加密,选择密钥是服务密或是自定义密,使用相应的算法来进行加密功能,对于浅量的项目用户可以提供代理性 MaxCompute 人员来客户提供服务,开通功能。
在数据处理过程中应对数据泄露, MaxCompute 提供的服务有强大的安全沙箱隔离机制, MaxCompute 支持完整的用户自定义函数的种类,支持不受限的 Java 和 Python 的沙箱,同样支持 negative binary 扩展,除此之外, MaxCompute 还支持用户自定义的引擎,比如说 spark、flink、title flock 等开源计算引擎,通过沙箱隔离及时,用户自定义引擎保障安全。
用户在数据共享中应对数据泄露,在用户的交换、数据处理、存储各级中都有,在共享过程中,首先在项目之间,比如同一个租户下不同项目间可以通过 protect 模式和 package 来实现数据的隔离和一定程度上的共享,保障不用业务之间的数据安全,防止数据泄露。对于不同租户、不同账户之间,存在租户隔离来保障租户之间的数据安全防止数据泄露。
如图所示:为 package 和 protect 模式
以上就是租户隔离机制 MaxCompute 所具备的基础功能。
(2)端识别和 download 权限
数据从大数据平台发到下游的数据应用或者用户时,通过 download 权限进行大批量的分发,同时也可以通过端识别机制对应用进行签名,即对不同的应用赋予不同的权限让它们获得不同的数据进行不同的管理类别的操作,保障访问该访问数据,只执行其范围内能够进行的操作。
(3)数据敏感保护
应对数据泄露,常见的还有敏感数据保护,贯穿整个数据的生命周期但在其应对周期,应结合新功能进行数据分类分级和脱敏。在进行数据采集时,数据进入大数据平台时,可以使用 MaxCompute 的列级别权限控制,对数据进行字段级别的分类分解。可以表识不同数据安全分类,不同的安全等级来进行权限访问控制。
对于敏感的数据给予更高级别安全权限来限制访问人身份。另外在做数据共享时,可以进行数据脱敏,对于敏感的信息,身份证信息,银行卡信息,电话号码信息等信息在做数据呈现,涉及个人隐私不能做全量的呈现,这时就可使用数据脱敏功能,脱敏功能基于 MaxCompute 平台的能力,数据提供保护伞,提供工具层面的脱敏应用。
(4)具体使用脱敏伞的操作
通过 DataWorks 进入数据保护伞,然后对数据脱敏进行配置。比如说可以对哪些敏感数据采用什么样的脱敏算法进行脱敏。脱敏可以从
DataWorks 层面脱敏,可以清晰的看到用户执行敏感数据被模糊化,不会进行脱敏展示。如果用户选择在 MaxCompute 进行底层脱敏,其脱敏的效果除了在 DataWorks 的基础上,通过其他方式查询也无法看到敏感词汇。比如说通过 MaxCompute consumer 端, MaxCompute SDK 或者其他形式来进行查询,这些数据均被脱敏。保证脱敏的一致性。
4.数据丢失
常见是由于用户的误操作或灾害情况造成的数据丢失。应对用户误操作的数据丢失即:近期 MaxCompute 发布了备份与恢复能力,在数据开发过程中,用户难免会有一些误操作。比如说:不小心删除了数据或者不小心覆盖原有数据。用户想要恢复数据到之前的版本,需要使用新版的备份与功能,无需用户手动备份,新版会自动记录用户每次的数据变化,用户找到历史记录并恢复到对应历史版本。如图所示右上角为例,找到对应的历史版本以及对应历史版本的分区号,最后执行恢复操作,恢复数据。
另外一种情况即:灾害情况或者意外情况的发生也会导致数据丢失,这种情况推荐使用异地容灾功能,做到把数据备份在不同地域的两个集群。如果用户为某个 MaxCompute 指定异地容灾备份, MaxCompute 会自动的把主集群的数据同步备份到备级群,一旦灾害发生需要做备份切换时,自动切换到备级群,使用备级群的计算资源去访问备级群数据,切换过程保持相对透明。(如图所示)
四、应对数据风险——风险预警和审计
风险的预警和审计即审计与风控,贯穿于数据误用、数据滥用、数据泄露、数据丢失中。审计与风控主要回答所有的操作、数据使用是否合规,是否有危险的问题。除了主动的防御措施和事前的措施,事后可以做审计分析来进行补救。风险预警和审计可分为两方面。
1.MaxCompute 大数据平台提供平台的能力。
近期发布的新功能主要对应实施审计日志,提供完整的用户操作日志,基于平台能力 DataWorks 上的数据保护伞或者安全中心,通过工具化白屏化的数据平台,让用户进行更方便的使用,更直观的进行风控与审计。观测 MaxCompute 的能力,实施审计日志会完整的记录用户 MaxCompute 上的操作行为,然后把这些用户的操作行为接入到 action trail 服务,在此用户可以查看解锁其用户在 MaxCompute 项目中所做的任何操作,并把所需要的数据投递到阿里云日志或者 OSS上并且进一步对此进行分析预警。
审计日志功能可以满足它的实施审计,它的数据和分析两方面的功能。其应用的场景是基于日志以及日志上的行为分析帮助用户回答我们的权限是否被合理使用。这其中包含鉴权的日志,其权限是否得到合理使用。敏感数据是否被不合理的访问或者使用。
或者使用的数据下载评率是否显示异常、用户使用的数据范围是否有异常。实施审计日志仅是操作行为的记录,若用户想有一个风控和审计的日志,不想做数据开发,DataWorks数据保护伞为大家提供分控审计和风类管理功能。
总结:
大数据平台的功能和安全能力一一对应数据的生命周期,进行概述,新功能的了解与使用可以去 MaxCompute 的官网,对于正式发布的功能可以看发布历史几率进行了解。对于在要测或公测的项目,可通过新功能审计入口申请试用。
MaxCompute 已经通过国际国家的合规安全认证。 MaxCompute 总体竞争力在国内大数据中属于较为领先的一款产品,详细的合规认证介绍,可访问阿里云新人中心,了解通过的一系列合规认证及相应的说明。(如图)