开发者学堂课程【DataWorks 一站式大数据开发治理平台精品课程:8.DataWorks 数据安全介绍及实践】与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/81/detail/1234
8.DataWorks 数据安全介绍及实践(二)
三、数据保护伞最佳实践
1、数据保护伞-安全、智能、合规
基于数据保护法,如何能够构建企业数据安全的最佳实践?数据保护伞要回答的是4个问题。这四个问题是从事前、事中、事后3个方面进行的。
(1)首先事前,数据发现,要回答的问题是企业中到底有哪些敏感数据,而这些敏感数据又分布在哪里?那这里采用的技术就是它对应的产品功能模块是属于数据保护模块分类分级功能。
(2)第二个问题是在事中数据使用过程中的数据保护,需要回答的问题是隐私数据是如何保护的?如何做到数据可用不可见?这里采用的技术是数据保护伞的数据脱敏技术。
(3)对于事后,第一个是监控和审计,要回答的问题是谁在用什么方式使用数据,这是第一层。第二层这些使用中有哪些是有风险的数据操作,事后还有另外一个方面就是数据源泄露以后,怎么找到泄露的原因,就是谁泄露的数据?它所采用的技术就是数据保护伞,功能中的数据水印功能。
2、数据保护伞-智能、自动分类分级
首先第一个是事前的自动的分类分级功能,功能就是数据保护伞的核心优势在哪里?提供比较丰富的识别规则的配置方式,首先内置50种个人敏感信息的识别模型,都是常见的,比如手机号身份证号、银行卡号,这种都是比较常见的,就可以直接引用就好,不用再自己配置规则或者是写正则。除此之外,可能还有自定义的识别的功能,比如可以自己定义正则表达式,可以自己定义枚举的类型,另一方面还可以自己训练识别模型,第三点可以自己定义元数据识别,就是有一些类型,它的内容特征不是很明显,像工资信息这种就是数字,它没有内容特征怎么办?在建表时有比较特殊的命名规范,或者手里有列表,这时就可以定义指定哪个project的哪个表的哪一列,就是这种类型的敏感数据,这个就叫自定义元数据识别。第四点就是在定义这些之外,可以根据定义的这些规则做一定的血缘扩散,就新建一张表可能并没有匹配到之前的这些敏感数据规则,但是它的源表命中了其中某一种的敏感数据类型,也可以扩散到新建的表中,这是数据保护伞核心的竞争力。在此基础上,再做的分级透明水印等等的,并且可以将这些统计的结果展示在属于保护伞的页面上。
3、数据保护伞-数据脱敏
数据使用过程中的数据安全保护,也就是需要做到数据的可用不可见。数据通信功能非脱敏功能依赖的还是在的引擎层,就是包括maxcompute,emr,holo其他的引擎,这些数据它的访问是汇集在大数据平台,也就是dataworks,不管是在数据开发,数据查询迁移,数据下载,各个场景中用户都可以在数据保护伞页面中进行灵活的配置,可以配置需要对哪一种类型的敏感数据进行什么样的脱密,也可以对什么场景进行脱敏。根据常见的使用场景,数据保护伞主要是提供遮盖,hash,假名三种脱敏方式,遮盖主要用在BI场景下,就是分析数据,查看这一列是什么数据,这种情况就可以把它信息都遮盖掉。但是对于这种etl场景,也就是需要发布生产任务,需要能把这几个列给抓起来,不需要知道数据特征是什么,这种场景是非常适合用hash脱敏,看到可以把原始的手机号脱敏成一串hash值,但是对于算法模型,它的要求比较高,就是需要查看到数据是什么数据,而且还需要查看到这个数据它的数据特征是什么,不然没办法抽特征,在这种场景下就非常适合用假名脱敏这种方式,就是原来181的数据,手机号就被透明成另外一个假的手机号,非常适合用于算法模型的场景。做到数据的可用不可见数据脱敏功能。
4、数据保护伞-操作风险识别
事后的功能就是对于操作数据的审计,数据保护伞大概是分成三种,原始的数据,谁在什么时间点操作什么sql,这种数据是可以看到的,就是所有的记录能可以看得到,在此基础上可能提供,行为检测,自定义操作风险的就是规则,内置有专家模型等等,根据操作特征,环境历史账号等等,判断出哪些是正常操作板,哪些是可能会有问题的操作。
5、数据保护伞-数据水印溯源
发生数据泄露后,数据是谁泄露的?对于不同的引擎,大部分都汇聚到大数据平台,也就是 dataworks。在不同的场景下,不管是下载数据,它文件的数据下载,还是通过比如代码或者是各种方式把数据导出,或者就查询,拍张照片,数据泄露,不管是哪一种方式,就是查询出的数据,都会嵌入数据水印,并且生成操作数据库,这样当有数据被泄露,拿着这份数据回到数据保护伞的页面中,可以查询的操作数据库,可以帮回溯出数据可能是谁写什么sql,在什么时间点写的sql,谁泄露这份数据。保护伞它的主要功能,以及它如何跟企业的制度运营相结合,形成企业的数据安全的最佳实践。
四、数据保护伞操作示例
具体怎样使用产品帮助企业收到数据安全的保护。
1、现在看到的就是数据保护伞的页面,先介绍自动化分类分级的功能。
2、可以用它配置的分级策略,还有敏感数据识别策略,自动识别出project下面存在哪些类型的敏感数据,并且向这些标打到数据中,在后面的管控,脱敏等等去使用。分级页面支持可以分9级,可以根据自己企业内部的规范定义的分级,一般情况下是分4级的,就是公开内部敏感机密,点击页面右上角的新建分级,新建敏感分析,点击确定。
3、在页面中还可以进行分级信息的管理,比如拖拽可以改变每个分级之间的顺序。另外就是可以点击删除。
4、也可以点击编辑,可以把其他其他分级下面挂靠的规则挂靠到这个分级下面,比如认为公司名就是敏感的,把它挂靠到分级下面。
5、新建数据识别规则,数据保护伞是支持比较丰富的配置方式,一共支持的是5种,那先以其中一种作为样例说明怎么进行配置,点击右侧的新建按钮,现在新建邮箱,它属于个人信息,点击按模板添加,数据保护伞大概支持40多种,就是内置的识别模型,这种都是比较常见的个人隐私数据的类型,比如邮箱姓名,选择邮箱,因为经过多次的优化训练,所以它整体准确率要高很多。可以点击的测试链接进行简单的测试,比如现在输入123。肯定是没有命中。
6、输入自己的邮箱,这样就是命中了,做简单的测试,点击下一步并且点击保存生效。
7、现在是数据开发同学,点击进入数据开发页面,新建一张表,表中是刚才的邮箱数据,点击运行,就是表跑完后,大概在一两分钟的时间内,它就会出现在数据发现页面中,就是可以在这里看到叫邮箱的,点击进去,可以看到是刚才的表里面邮箱。
8、先自定义test,公开分级,支持正则式匹配。可以测试,写123数字,没有命中,写6位数字,命中,内容还有另外的,一种是像词库枚举类型的,就是可以上传文件,可以在数据样本管理页面上传文件,只要匹配就是上传的任何一行内容,都认为是匹配这种类型的敏感数据。还有一种就是可以自己定义数据识别模型,在这里进行引用。第五种是内容特征,内容中没有任何特征,比如公司金额这种的内容中没有什么特征,但是知道它是哪张表中哪个列组,存的是工资金额,比如现在配置*, *payment,意思就是所有project下面的所有表,它列名只要是payment,那就认为它命中这种类型的敏感数据,一样的就点击下一步,保存生效。
9、在数据保护伞页面上点击数据脱敏管理页面,可以配置脱敏规则,比如新建一条规则,还是那个邮箱,先看一下掩盖的效果,再点击生效,在数据开发访问数据时,它就是脱敏的。可以看到邮箱它已经被掩盖掉。
10、支持三种比较常见的就是假名,hash,掩盖,都可以自己配置,假设现在用假名,安全域随便选,点击保存,生效,这时再查这行数据,它就会被假名脱敏掉。可以看到还是邮箱,但是它已经是假的邮箱。
11、配置特权账号,这些账号可以配置对哪些账号,对于哪一个规则访问时,什么时间点访问时,它访问的是明文数据,做到数据的可用不可见,数据透明管理。
12、事后的审计和监控,先点击数据访问页面。换账号,点击数据访问页面,可以看到就是它有访问的明细,上面可以筛选,访问量,访问人数的统计,可以再点击明细记录,就是它可以记录访问账号,就是它访问哪个project下面的哪一种类型的敏感数据。
13、可以点击明细进去,看到它在什么时间点查询哪个表的哪个列,它写的sql是什么样的sql。
14、最底层的那一层是全量对敏感数据的访问记录,可以看到谁在什么时间点访问什么样的数据,用什么样的sql访问的,这第一层。第二层就是数据风险,就是需要看到哪些是风险。判断风险有很多种方式,第一种方式是在查看时就标记一下,就认为这一行它是有风险的,标记为风险数据。15、第二种就是海量的数据怎么识别?可以在风险识别管理,新建规则,就可以有常见的匹配项,比如认为对星座对手机号,对手机号这种类型只要存在比较访问的,就认为它是有问题的。或者是它的访问时间是在下班时间,就认为它是有问题的,这些有比较常见的匹配筛选的项目,点击保存。
16、生效后,就会自动的匹配数据访问页面中符合配置的规则的那些数据,这些数据都会展示在数据风险页面中。可以看到它是命中哪一条敏感数据,就是哪一条风险规则,还可以看访问时间,辅助的判断。
17、线下的流程,就是制定制度,指定制度后,产品识别出这些风险,那么运营人员就需要介入,通过一些现象的方式看是否真的有风险,如果确定有风险,在这里进行标记,比如非工作时间访问,确定。
18、数据审计页面就会对的所有的风险总数已经处理的,没有处理的进行统计,包括它是按照类型分级标签对它进行统计。这就是第三个部分事后的监控和审计。
19、回到刚才那个账号,第四个功能,也是事后的数据溯源的功能,假设现在有一份数据泄露,怎么能查找到这份数据可能是谁的,哪次操作泄露的?怎么配置?首先数据安全管理员要在数据脱敏管理这里进行配置,现在假设选择手机号,选择hash这种方式嵌入数据水印,点击保存,使它生效。
20、假设现在是数据开发同学,现在查询手机号数据。Phone 这列是手机号,因为现在看不到原文,先点击下载,这时把脱敏关掉,看原始数据。可以看到一列手机号。
21、假设这份数据泄露,回到数据溯源页面,拿到这份被泄露的数据,新建数据溯源的任务,把刚才下载的那个文件,就是假设泄露的文件把它上传,点击开始溯源。
22、点击查看详情,下面列出可能的泄漏源,右上角有账号名,是在9:19做的这次操作项目,就是在那个数据开发的项目下面,操作的命令就是从水印 testdata 这张表中 select。
23、有很多情况下拿到的数据可能没有这么完整,那么溯源出的结果可能会有各种可能性,会给出可能性的列表,大概可能是哪些操作引起的泄漏,可能性大概有多大?这就是第三个功能,数据溯源的功能