DataWorks数据安全能力模块介绍及最佳实践 | 《一站式大数据开发治理DataWorks使用宝典》

作者:DataWorks产品经理 刘天鸢&贾茜


一、数据安全保护的背景

数据使用的历史可以分成1.0,2.0,3.0三个阶段。1.0阶段的特点是单一的数据使用者,因此数据安全保护也非常单一,采用制度规范以及事后的审计来进行数据安全的管理。到了2.0阶段,数据工作开始结构化,形成数据开发,BI,挖掘建模等多角色;数据安全保护采用虚拟机连接的方式。到了3.0阶段之后,数据量变多,数据角色变得更复杂,从数据里面挖掘价值需要更多的参与者,包括运营,产品,研发等,此时数据安全管理的方式一般以数据的分类分级为基础,在此基础上进行权限管控,脱敏,加密、审计等访问控制。

DataWorks数据安全能力模块介绍及最佳实践 | 《一站式大数据开发治理DataWorks使用宝典》

企业面临的三个主要问题:


第一点,因为数据量非常大,对于企业管理者来说,最大的问题是敏感数据到底分布在哪里?在此基础上才可以去构建权限管控、加密、脱敏等。  


第二点,全球几乎50% 敏感数据的泄漏是由黑客和内部人员的恶意犯罪行为造成的,然而在实际管理过程中,会忽略掉内部人员的数据安全管控。数据泄漏除了会造成经济损失,还会引起客户流失等严重后果。  


第三点,监管合规对各个企业的要求越来越高,数据安全越来越受国家重视。同时,由于使用数据的人比较复杂,数据安全管理的难度更大。


二、数据安全治理体系

数据安全治理体系是从制度,产品和运营三个方面来进行的,需要三个部分的共同协作,缺一不可。


  • 制度:制定一个标准,确定红线,比如数据分类分级的标准,账号权限的管控,数据安全审计的流程,数据权限申请的标准等,让企业的数据管理人员以及企业数据的使用者明白标准是什么,哪些线是不能踩的,然后再用产品进行制度的落地。
  • 产品:利用产品上的功能,把分类分级的标准、权限管控、审计流程等制度,具象化到产品功能上面去。DataWorks整体体系的产品功能是比较全的,能够覆盖到包括加密、升级、脱敏、安全权限等一系列的数据安全要求。
  • 运营:最后需要运营人员去做风险管理、策略优化、安全加固等来完成整个闭环。


制度上确定了哪些是可以做的,哪些是不能做的,随后用产品去具象化这些制度,最后运营根据这些制度去奖惩、优化。这样就可以形成一个制度、产品、运营协同的数据安全治理体系的闭环。


因此,阿里云DataWorks结合各引擎为企业提供一站式开箱即用的安全能力,这些能力可以覆盖《数据安全能力成熟度模型 GB/T37988—2019》(DSMM)中所述的几个重要的数据安全过程:传输、存储、处理、交换、通用等。

DataWorks数据安全能力模块介绍及最佳实践 | 《一站式大数据开发治理DataWorks使用宝典》

从另一个维度来看,我们的产品安全能力也覆盖了事前、事中、事后结合的工作周期,从事前与事中的规范化开发生产、数据可用不可见,到数据风险行为管控,再到事后的敏感数据管控,为企业提供了周全的数据风险控制能力。

DataWorks数据安全能力模块介绍及最佳实践 | 《一站式大数据开发治理DataWorks使用宝典》


三、安全核心能力

(一)快速帮助企业建设基础安全设施

DataWorks天然具备的生产开发隔离、RABC角色权限体系、可视化数据权限管理能力结合引擎的安全特性如精细化授权、数据加密存储、数据备份等,即可解决此前提到的“事前安全”、“边界安全”,让企业快速解决安全治理的第一步。


同时用户也能借助一键诊断来了解日常开发工作中可能存在风险的配置项,如“不测试即发布”、“自己开发自己发布”、“未进行下载权限管控”等风险行为。

经过简单配置,DSMM中的大半部分要求即得到了覆盖。

DataWorks数据安全能力模块介绍及最佳实践 | 《一站式大数据开发治理DataWorks使用宝典》


(二)敏感数据管理

DataWorks数据保护伞提供自动化、智能化敏感数据发现常见场景下的敏感数据保护。如下图所示,首先基于数据本身以及元数据,会有一个自动化的分类分级管理系统,对用户的数据进行自动化的敏感数据识别和分类分级。在这个过程中,可能需要由安全人员来配置规则。自动化分类分级之后,最终的结果会生成一个分类分级的数据库,这个数据库可以由业务人员去修正,由安全人员去管理。基于这个数据库,可以在最上层的安全管控层,在数据使用的整个流程里面基于分类分级来做数据安全管控。比如数据展示场景要脱敏、数据使用场景要权限管控、数据输出场景要评审以及全部场景都会有操作审计等。 

DataWorks数据安全能力模块介绍及最佳实践 | 《一站式大数据开发治理DataWorks使用宝典》

四、企业数据安全最佳实践

DataWorks数据安全能力主要回答四个问题:

  • 事前:企业里面到底有哪些敏感数据,而这些敏感数据又分布在哪里?(对应DataWorks数据保护伞的数据分类分级功能)。
  • 事中:隐私数据如何保护,如何可以做到数据可用不可见?(对应DataWorks数据保护伞的数据脱敏技术);什么样的数据资源访问、高危行为操作需要经过上级同意?操作时需要完成什么样的审批流程?(对应DataWorks的数据审批策略、高危行为审批策略定义功能)。
  • 事后:谁在用什么方式使用这个数据?这些使用操作里面有哪些是有风险的数据操作?(对应DataWorks数据保护伞的监控和审计功能)。
  • 数据泄露以后,怎么能找到泄露的原因?(即溯源,对应DataWorks数据保护伞的数据水印功能)。


(一)DataWorks重点数据安全最佳实践介绍

智能、自动分类分级功能

DataWorks数据保护伞的核心优势是能提供比较丰富的识别规则和配置方式。


首先,DataWorks数据保护伞内置了50种个人敏感信息的识别模型,如手机号,身份证号,银行卡号等。其次,有自定义的识别功能,用户可以定义正则表达式或训练一些识别模型。另外还可以自己去定义元数据识别,即有一些敏感数据类型,内容特征不是很明显,比如工资信息,只包含一些数字,针对这样的数据,建表时可以用一些比较特殊的命名规范,也可以去指定某个项目的某个表的某一列就是这种类型的敏感数据。


然后可以根据定义好的这些规则做一定的血缘扩散。即新建一张表,可能并没有匹配到定义好的数据规则,但是它的原表命中了其中某一种敏感数据类型,这种情况下是可以扩散到新建的表中去的。


最后在这些核心优势的基础上再去做分级、脱敏、水印等,还可以将这些统计的结果展示在DataWorks数据保护伞的页面上,让用户清晰地看到这些图表。

DataWorks数据安全能力模块介绍及最佳实践 | 《一站式大数据开发治理DataWorks使用宝典》

数据脱敏 – 数据使用过程中的安全保护

引擎层包括MaxCompute,E-MapReduce以及其他引擎内数据的访问基本上是汇集在大数据平台DataWorks上的。在数据查询、迁移、下载的各个场景里,用户都可以在DataWorks数据保护伞页面上进行灵活的配置。可以配置对哪一种类型的敏感数据进行什么样的脱敏,也可以配置对什么场景进行什么样的脱敏。DataWorks数据保护伞提供遮盖,Hash和假名这三种脱敏方式。遮盖脱敏主要用在BI场景下,BI同学需要分析一下数据,比如分析出来是手机号,中间四位可以用四个星号代替。对于ETL场景,可能需要发布一些生产任务,做一下Join操作,这时并不需要知道数据特征是什么,这种场景其实是非常适合用Hash脱敏的,比如可以把原始手机号脱敏成一串Hash值。但是对于算法模型来说,需要知道数据特征,这种场景就非常适合用假名脱敏这种方式,原来手机号可以脱敏成另外一个假的手机号,但看上去还是个手机号。

DataWorks数据安全能力模块介绍及最佳实践 | 《一站式大数据开发治理DataWorks使用宝典》

操作风险识别

一般用户可以看到谁在什么时间操作了什么,所有的记录都可以查看到,但不知道哪些操作是有风险的。DataWorks数据保护伞可以提供行为检测,用户也可以去自定义风险规则,并且可以内置一些专家模型,根据用户操作的特征、环境、历史、账号等维度来判断哪些是正常操作,哪些是可能会有问题的操作。

DataWorks数据安全能力模块介绍及最佳实践 | 《一站式大数据开发治理DataWorks使用宝典》

数据水印溯源

对于大数据引擎来说,大部分数据操作都在一站式大数据开发治理平台DataWorks里完成。在不同的场景下,不管是下载数据,或者通过某种方式导出数据,或者就简单查询数据,然后拍了张照片,这些情况都会导致数据泄露。而不管哪一种方式,每一个查询出来的数据,DataWorks数据保护伞都会去嵌入数据水印,并且生成一个操作数据库。当有数据被泄露了,用户拿着被泄露的数据,回到DataWorks数据保护伞的页面上,可以去查询操作数据库,DataWorks数据保护伞可以帮用户回溯出来这个数据可能是谁在什么时间写了什么SQL泄露的。这是数据泄露之后用户去溯源的方案。

DataWorks数据安全能力模块介绍及最佳实践 | 《一站式大数据开发治理DataWorks使用宝典》

以上是DataWorks数据保护伞的主要功能,以及它如何跟企业的制度、运营相结合来形成一个企业的数据安全最佳实践。


自主可控的登录认证体系

部分企业倾向于统一管理一套本地账号,而不愿去管理另一套云账上的子账号。

DataWorks满足这样的诉求,即:允许用户通过本地账号扮演一个RAM Role,即以角色扮演的方式登录至阿里云管控台上使用DataWorks;RAM Role可被加入至

DataWorks空间作为空间成员,一个RAM Role可以被多人扮演,也可以被一个人扮演。通过这样的方式企业实现统一认证管理,做到自主可控。

DataWorks数据安全能力模块介绍及最佳实践 | 《一站式大数据开发治理DataWorks使用宝典》

符合企业内部合规要求的权限管控(流程)

DataWorks不仅支持定义精细化数据权限管控流程,同时支持定义数据服务API发布、数据同步任务导出的管控流程。

DataWorks数据安全能力模块介绍及最佳实践 | 《一站式大数据开发治理DataWorks使用宝典》

对企业安全管理者来说,如何制定数据安全策略是安全规划的重中之重,存在诸多问题需安全管理者慎重考虑,如:哪些行为是高危行为?哪些人可能产生高危行为?如何避免风险行为的产生?谁能监督相关人员的高危行为?


DataWorks为安全管理者预定义了面对几个典型高危场景时的管控方案,除了天然支持数据精细化(列级别、Download/Update/Drop/Alter/Select/Desc)权限管控能力之外,同时支持管理者针对不同安全级别的数据定义不同的审批流程;除此之外,对于某些高危行为,如:数据下载、数据导出、数据服务API发布均允许用户设定不同的管控流程。通过上述手段来增强对数据事中安全的安全性。


例一:企业数据按风险等级从高到低分为C1、C2、C3三种敏感级别,当开发者需申请访问C1数据时,可定义为仅表Owner审批即可;当申请访问C2时,可定义为表Owner与部门主管审批;当访问C3时,可定位为需表Owner、部门主管、企业CIO审批。


例二:企业要求数据同步出数仓时需经过严格审批,则管理员可以自定义数据集成任务“源端到目的端”的安全策略,假设一旦命中“MaxCompute数据源到Mysql数据源”的规则则必须经过预定义好的审批流程。


规范化生产开发流程

DataWorks天然支持生产、开发环境隔离的数生产最佳实践式产品化能力。

如图是标准模式的开发流程,首先一个DW空间对应了两个引擎环境,一个用于开发,另一个用于生产。


在数据建模链路,先由管理员定义好建模过程中可能使用到的数据标准,随后由建模人员设计模型,并对模型进行提交,最后经由主管、运维或部署人员审核无误后即可发布到生产环境。


在数据开发与生产链路,开发人员在开发环境先执行代码开发、依赖配置与调试,冒烟测试无误后可执行提交发布申请,此时应由一个运维/部署/管理员角色来进行代码

Diff Review,确认无误后即可执行发布到生产环境,让规范、安全的代码在生产环境定期运行产出数据。

DataWorks数据安全能力模块介绍及最佳实践 | 《一站式大数据开发治理DataWorks使用宝典》

数据安全能力模块介绍及实践请参考:https://developer.aliyun.com/learning/course/81/detail/1234


DataWorks官网:https://www.aliyun.com/product/bigdata/ide

大数据&AI体验馆:https://workbench.data.aliyun.com/experience.htm


上一篇:JAVA核心层--反射--动态代理


下一篇:DataWorks迁移助手介绍及最佳实践 | 《一站式大数据开发治理DataWorks使用宝典》