开发者学堂课程【一站式大数据开发治理平台 DataWorks 初级课程:DataWorks 数据安全介绍及实践】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/763/detail/13361
DataWorks 数据安全介绍及实践
内容介绍
一、数据安全保护背景
二、数据安全治理体系
三、数据保护伞最佳实践
四、数据保护伞操作示例
一、数据安全保护背景
简单介绍一下数据保护伞这个产品,以及如何来基于数据保护伞构建企业数据安全治理的最佳实践,本节的介绍主要从四个方面进行,第一个部分会首先来讲一讲数据安全保护的一个背景和发展历史是什么样的,第二个部分,其实这个背景和发展历史来讲一讲企业如何构建自己的数据全治理体系,第三点如何来结合数据保护伞的功能,构建企业数据安全治理的最佳实践,第四点会在数据保护伞页面上进行一些实操,来看看如何使用这个产品。
第一点数据安全保护的一个背景和它的发展历史。
首先从这个数据使用的历史上面来说,把它分成了1.0、2.0、3.0三个阶段,首先在1.0阶段的时候,它的特点其实是数据使用者是比较单一的,就是 BI 同学,所以在这个时候数据安全保护也是非常单一的,就是 BI 同学是可以直接访问数据的,那么就采用制度规范以及事后的审计来行数据安全的管理,但是到了2.0之后,这个数据使用本身就发生了一些变化了,它的数据使用的这个角色,从之前的 BI 同学发展到了多种角色,包括数据开发、 BI 和建模等等。在这个时候的数据安全保护就采用虚拟机连接的这种方式。
到了3.0阶段之后,数据量变得越来越大了,数据角色也变得越来越复杂了。需要从数据里面去挖掘价值,那么这个时候就需要参与者会越来越多,就是不只是说去开发以及这些数据工作者了,那还有包括一些运营,还有一些产品,还有研发等等。那么在这样的情况下如何来进行这个数据安全管理呢?
其实采用的方式一般是说以数据的分类分级为基础,在此基础上进行权限管控、脱敏、加密、审计等等数据访问控制。那么刚说到就是在这个基本上都处于3.0阶段,它的特点是什么呢?数据量非常的大,所以这就是的第一个问题。
就是数据量非常大,那对于企业管理者来说,它其实最头疼的一个问题是说敏感数据到底分布在哪里?在此基础上才可以去构建其他的,比如说权限管控、加密、脱敏啊等等。所以说第一个问题其实都是数据量这么大,敏感数据到底在哪里?
第二个问题就是有一个事实,平时可能大家都会忽略掉,就是全球几乎快到一半的这个数据泄露事件是由黑客和内部人员恶意犯罪行为造成的,但是实际的管理过程中有很多情况下又会忽略掉对于内部人员的数据管控。
另一方面,如果说忽视掉,那么每次数据泄露所造成的除了这个经济的损失之外还有这个客户的流失等等,后果是非常严重的。第三点监管合规其实对各个企业的要求是越来越高的,这个其实是整个国家层面都是对数据安全越来越重视的。大概17年3月开始,就是这个民法总则明确强调了自然人的个人信息是受法律保护的,到这个网络安全法的正式生效,还有个人信息安全规范的正式发布等等。从整个国家层面对数据安全保护这个问题是越来越重视了。
在3.0阶段,国家层面越来越重视了,但是数据安全管理的难度就越来越大了,因为使用数据的人比较复杂了,同时这个数据量又太大了,传统的那种方式可能不一定能满足要求,那么在这样的情况下面临这样的一个比较大的数据安全管理的这个挑战如何来做?然后就进入到第二点数据安全治理体系。
二、数据安全治理体系
数据安全治理体系是从制度、产品和运营三方面来进行的。这里平时会有一个误区,会有个想法就是买了一个数据安全的产品就万事大吉了,那么对于企业的数据安全保护就已经做得非常好了,但其实并不是这样的。
产品其实只是其中的一环,要把企业的数据安全治理体系给建立起来呢?其实是要做到制度、产品和运营三足鼎立,每一环都要达到标准。首先先来说一下制度,制度其实就是定制一个框来告诉企业的数据管理人员以及企业的数据的使用者。标准是什么?红线是什么?一般会制定哪些?
首先就是这个数据分类分级的标准、权限的管控、审计的流程进行申请标准等等,也是一般情况下会制定一些标准和制度。另外就是特别要注意,是要在制度中把红线给明确下来,让企业人员明白哪些线是不能踩的,之后去使用这个这个产品来进行制度的落地。
产品其实是一个抓手,在这个产品上面接触它的功能,去把制度里面规定那些分类分级的标准确定、管控、审计流程等等,这些制度去消化道产品功能上面去。当然现在提供的产品就是包括整体的体系,这个产品功能其实是比较全的,能够覆盖到包括加密、审计、脱敏、安全权限一系列数据安全的这个要求。
第三点就是安全落地的最后一公里就是运营。产品已经全部配置好了,也使用起来了,那么到最后一步,其实是需要运营人员去进行一些风险管理、策略优化、安全加固等等,来进行就是来完成整个闭环。就是第一步已经说明了这些制度来说明哪些是可以做的,哪些事不能做的,要遵循一个什么样的制度,毕竟用产品去想画的这些制度。那么最后一步运营就需要去根据制定的这些制度去奖惩,去优化。
这样可以形成一个制度产品数据安全治理体系的闭环。数据保护伞就是基于这样的理论构建了基于分类分级的数据安全管理体系。首先在对于数据本身以及元数据会有一个自动分类分级划分系统。同时会对数据进行一些识别和分类分级。当然在这个过程中可能需要有安全人员来进行这个规则的配置。
在网上自动化的去进行分析之后,就是最终的这个结果会生成一个分类分级的数据库,这个数据库也可以由业务人员去修正,安全人员去管理。基于这个数据库可以在最上层的这个安全管控层,在数据使用的整个流程里面基于分类分级来进行数据安全管控。
比如说数据展示场景要展示透明,数据使用场景是有权限控制,数据输出场景要评审以及整个全部场景会有操作、审计等等。那么这就是第二点,企业如何去建立自己的这个数据安全治理的体系。
下面来说说第三点,基于数据保护伞如何能够构建企业数据安全的最佳实践。
三、数据保护伞最佳实践
数据保护伞要回答的其实是四个问题,这四个问题其实是从事前、事中、事后三个方面来进行的。
首先事前数据发现就是要回答的问题是我的企业里面到底有哪些敏感数据,而这些敏感数据又分布在哪里?
那这里采用的技术就是它对应的产品功能模块是属于保护数据分类分级的功能。
第二个问题是在事中,这个使用过程中的数据保护,需要回答的问题是隐私数据是如何保护的,那如何可以做到数据可用不可见的?在这里采用的技术是数据保护伞的数据脱敏技术。
那对于事后,第一个就是监控和审计了,没有回答的问题是谁在使用什么方式使用这个数据?这是第一层。第二层就是那这些使用里面有哪些是有风险的数据操作?那么这个是第二层问题了。事后还有另外一个方面就是这个数据泄露以后,那怎么能找到泄露的原因?就是谁泄露了这个数据?那这个就是所采用的技术就是数据保护伞功能中的数据水印这个功能了。
下面来依次对这四个功能做一些比较简单的这个技术背景的介绍。首先第一个就是事前的这个自动分类分级功能,这个功能其实就是数据保护伞的核心优势在哪里?就是提供了比较丰富的这个识别规则的这个配置方式吧,首先内置了50种个人敏感信息的这个识别模型都是常见的。就比如说手机号、身份证号、银行卡号这种都是比较常见的,就可以直接引用,就不用再去配这些规则或者是写正则了。
那么第二个就是除此之外,可能还有一些自定义的内容识别的功能,比如说可以去定义正则表达式,可以去定义一些枚举的类型。另一方面,还可以去训练一些识别模型,就是这个东西还是挺难的,也是非常有技术含量的。
第三点就是可以去定义一些元数据识别,这个什么意思呢?就是有一些那个什么类型,它的内容特征不是很明显,比如说像工资信息,就是一些数字没有内容,特征怎么办?
在建表的时候可能有一些比较特殊的命名规范,或者说其实有一个列表的,那这个时候就可以去定义,指定再说哪个Pro的哪个表的那一列就是这种类型的敏感数据,那这个就叫自定义元数据识别了。
那第四点就是在定义的这些之外呢,其实可以根据原定义这些规则做一定的水源扩散,就新建一张表可能并没有匹配到之前的这些明显数据规则,但是它的原表命中了其中某一种的数据类型,那其实也可以扩散到新建的表这里来。这是数据保护伞的一些核心竞争力。
在此基础上再去做分析透明水印等等,并且可以去将这些统计结果展示在数据保护伞的页面上,让你做到哪儿看到这些图标心中有数,这就是刚刚事前智能自动的分类分级。第二个是对于事中的数据使用过程中的数据安全保护,也就是需要做到数据的可用不可见,就是数据脱敏功能依赖的其实还是引擎层,这边就是包括 MaxCompute、EMR 等等其他的引擎。这些数据基本上它的访问是汇集在大数据平台的,也就是大数据平台这边不管是在数据开发同学的数据查询、迁移、数据下载各个场景里面。
用户其实都可以在数据保护伞页面上面进行灵活的配置,可以配置说需要对哪一种类型的敏感数据进行什么样的脱敏,也可以配置对什么场景进行什么样的脱敏,那就是根据常见的几种使用场景,数据保护伞主要是提供这个遮盖、 Hash 和假名这三种脱敏方式,这个就主要用在 BI 场景下,就是 BI 同学就分析一下数据,看看这一列是个什么数据就好了,那这种情况那就可以把信息掩盖掉,但是对于这种 ETL 场景,也就是说需要去发布一些生产任务,需要能把这几个给抓起来,不需要知道这个数据特征是什么,可能就看一下这个数据,然后能把几个两个表里的ID弄一下,可以去排查生产任务有什么问题,这种场景其实是非常适合用 Hash脱敏的,看到的可以把就是原始的这个手机号脱敏成一串 Hash 值,但是对于这个算法模型东西来说,它的要求就比较高,就是可能需要看到这个数据是什么数据,而且还需要去看到这个数据的数据特征是什么?
不然没办法去了解这个特征。在这种场景下就非常适合用假名脱敏这种方式了,就是原来181的这个数据,这个手机号就被脱敏成为另外一个假的手机号,看上去还是个手机号,就非常适合用于这个算法模型的场景。这个就是第二个做到了数据的可用不可见。
下面第三个功能就是事后的功能,事后的功能就是对于这个操作数据的审计,数据保护伞大概是分成三种的,就是原始的数据谁在什么时间点操作了什么?
这种数据当然是可以看到的,就是所有的记录可以看得到。在此基础上可能提供就是行为检测,自定义操作风险的规则,而且可能还内置有一些专家模型等等。根据已经操作一些特征,比如环境、历史、账号等等。
这些用来判断出来哪些是正常操作的,哪些是可能会有问题的操作,第三个就是事后的这个操作风险的识别。
第四个就是数据水印的溯源,这个也是说事后这个数据泄露之后,怎么来发现这个数据是谁泄露呢?
还是说对于不同的引擎来说,所有的使用其实大部分都汇聚到了大数据平台,那在不同的场景下面,就不管是说下载了这份数据,它一个文件的数据下载了,还是说通过一个比如说代码或者是各种方式把这个数据导出了,或者是说就查询了一下,然后拍张照片,这个数据也泄露了。不管是哪一种方式,查询出来的数据都会去嵌入数据水印并且生成一个操作的数据库,这样有数据被泄露了,拿着这份数据回到数据保护伞的页面上面来,然后可以去查询操作数据库,可以帮您回溯出来这个数据可能是谁写了什么?他在什么时间点写的?那这个就是第四个也是事后数据泄露之后怎么来根据数据水印去溯源。这就是数据据保护伞的一些主要功能以及它如何跟企业的制度或者运营相结合来,来形成一个数据安全的最佳实践,那第四点就会在数据保护伞的页面上进行一些主要功能的一些操作,具体来怎么去使用这个产品来帮助自己的企业做到数据安全的保护。
四、数据保护伞操作示例
那先看到就是数据保护伞的页面,现在先来介绍一下第一个功能自动化的分级分类功能,能够做些什么呢?
可以用它来配置分析策略还有敏感数据识别策略,然后就会自动帮你去识别出来下面存在哪些类型的敏感数据,并且就要打到你的数据上面去,然后供你在后续全新管控、脱敏等等的去使用。
第一步要先去建一下分级,阴面是支持可以分九级的,这个可以根据企业内部规范去定义自己的分级,一般情况下是分四级的,就是公开内部敏感机密,然后先建一下敏感,点击页面右上角的这个新建分级,然后新建一个敏感分级,最后点击确定。
但是在这个页面上面你还可以去进行这个分级信息的管理,比如说现在拖拽这个,这样可以改变它每个分级之间的顺序,另外就是可以点击这个删除,那现在就不删了,也可以去点击这个来进行编辑,可以把其他分级下面挂考的一些规则挂考的这个分下面,比如说公司就是敏感的,然后挂考其他分级下面来,现在可以看到它已经挂过来了,这就是第一个就是数据分析管理,这边就是可以去定义自己的分级,那第二步就是数据识别规则,首先去新建数据识别规则,数据保护伞支持比较丰富的配置方式,就一共支持的是五种,那先以其中一种作为样例来说明一下怎么来进行配置,点击右侧的这个新建按钮,然后现在新建一个邮箱,他属于个人信息,点击这个按摩板添加,数据保护伞现在是大概支持了四十多种,就是内置的识别模型,这种都是比较常见一些个人隐私数据的类型,就比如说邮箱,姓名之类的,现在选择一个邮箱,这种就是因为经过了也是多次的优化训练,所以它整体来说这个准确率其实是要高很多的,那可以点击这边的测试链接来进行一个简单的测试,比如说现在输入123,那它肯定是没有命中,然后现在输入一个自己的邮箱,那这样就是命中了,这样可以做一个简单的测试。
然后点击下一步,并且点击保存生效,然后这样就完成了。那之后它又怎么去生效呢?
现在是一个数据开发同学,然后进入数据开发这个页面,现在新建一张表,然后表里面是刚才的邮箱数据,然后点击运行,这里就不等了,这个表跑完了之后大概在一两分钟的时间内,它就会出现在数据发现页面上面,就是可以在这里看到一个叫邮箱的,然后点击进去可以看到是刚才的那个表的那个列命中了邮箱,因为这个大概还需要两分钟时间,现在就不等继续往下了,那现在说下一个就是刚说的不是五种,然后刚刚其实只说了一种就是内置了一些比较准确的识别模型,然后又比较常见,就是可以去用就可以了。然后还有其他几种,然后来看一下,现在自定义一个 test ,然后一样的就挂靠一个分期,支持的是哪五种呢?
刚说的第一种,第二种可以支持这个政策匹配,比如说现在在写一个6位数字,然后可以去测试一下那三位数组,现在是六位数字,那它就是命中的,然后这样这是一种,然后内容这边还有另外的两种,一种是说像词库或者是说这种枚举类型的,就是你可以上传文件,可以在这个书样本管理这个页面去上传文件,然后只要匹配了,就是上传的任何一行内容,都认为是匹配了这种类型的敏感数据,这个就不多说了。还有一种就是你可以自己去定义一些识别模型,然后在这里进行引用。第五种就是内容特征,内容上面没有任何特征,就比如说这个公司,金额,这种的内容上面没有什么特征,但是知道它是哪张表,里面存的是公司金额,那比如现在配置一个,点击添加,这个什么意思呢?这个就是所有下面的所有表,只要是黑门就认为它命中了这种类型的敏感数据了,一样的就点击下一步,然后保存生效就完成了。这里就不再去点击生效了,那刚刚讲的就是第一个功能,分类分级的这个功能,也可以看到可以比较灵活的去进行这个分级,敏感数据识别规则的配置。接下来讲一讲第二个功能就是这个脱敏的功能,事中的防护大概是一个什么样子呢?
如果在数据保护伞页面上点击这个数据脱敏管理页面,然后可以在这里去配置脱敏规则,比如说新建一条规则,新建一条邮箱的,就刚刚还是定的那个邮箱,要不还是先掩盖,先看一下掩盖的效果,再把点击生效。那这样在数据开发这边去访问数据的时候,它就是脱敏。可以来看一下,那这样可以看到这个邮箱,它已经被掩盖掉了,支持三种比较常见的就是这个假名、 Hash 、掩盖。
你都可以自己去配置的,然后现在假设现在用假名,然后安全随便先选一个,然后点击保存,那这个时候再去查这行数据,它其实就会被假名脱敏掉。
那其实可以看到这个还是一个邮箱,但是它其实已经是一个假的邮箱了,那这个其实就是的第二个功能,当然就是还可以去配置一些特权账号,这些账号就是可以配置对于那些账号,对于那个规则,在什么时间点访问。
那接下来看一下第三个功能,就是事后的审计和监控,先点击这个数据访问这个页面,现在这个账号它可能没有访问数据,那先换一个账号,然后点击数据访问页面,那可以看到这边其实是有一些访问的明细的,就上面可以去筛选。
然后这面是一个访问量访问人数的统计,您可以再点击下面的这个明细记录,就是它可以记录说那一个人,就是访问账号,就是他访问了哪个下面的哪种类型的敏感数据,然后可以点击明细进去,可以看到说它在什么时间点查询了哪个表的哪个列,它写的 co 是一个什么样的co ,就是第一个页面就是第一层最底层的那一层是我全量的访问记录,全量对敏感数据的访问记录,可以看到谁在什么时间点,访问了什么样的数据,然后用了什么样的 co 去访问的。第二层其实就是数据风险了,就是需要去看到哪些是风险,当然这个判断风险的有很多种方式,第一种方式就是我在这边看的时候就标记一下,认为这一行它是有风险的,那我就要标记为风险数据,第二种就是海量的数据里面怎么去识别呢?
可以在分析识别管理去新建规则,新建识别规则,然后就可以有一些常见的这个匹配项,比如说认为对星座、对手机号码、对手机号这种类型的, 只要存在访问的就认为它是有问题的,或者是说它的访问时间是在下班时间,就认为它是有问题的,然后有一些比较常见的匹配筛选的项目点击保存,并且生效之后就会自动的去匹配数据访问页面里面符合配置的规则的,识别规则的那些数据号,数据都会展示在数据风险页面上面来。
可以看到命中了哪一条敏感,就是哪一条这个风险规则,就还可以看一下这个访问时间,然后这些东西可以辅助你的判断。接下来其实是一个线下的流程,跟刚刚讲的第一步就是去制定了一些制度,这个制度之后产品帮用户识别出的这些风险,那么下一步就是运营人员需要去介入了,去通过一些现在的方式去看是不是真的有风险,如果确定有风险,在这里进行标记,比如说这个是非工作时间访问,需要确定下来。数据审计页面就会对所有的风险总数,已经处理的没有处理的进行一个统计,就包括按照类型、分析、标签去对它进行一些统计,这个就是第三个部是事后的监控和审计。
那再回到刚才那个账号,现在再来说一下第四个功能,也是事后的数据量的功能,这个功能主要是什么意思呢?就是假设现在有的数据泄露了,然后怎么能查找到这份数据可能是谁?哪次操作泄露的?那怎么来怎么来配置呢?首先数据安全管理员要在数据脱敏管理这里进行配置,然后现在假设选择一个手机号,然后这种方式嵌入水印,这样是关掉,这样是开着,属于水印的。
点击保存使它生效这样就完成了。那这个时候现在假设现在是一个数据开发同学,然后现在就查询一个数据,那个查询一个手机号数据,查询出来之后这个缝这一列是手机号,因为可能现在看不到原文,现在先点击一下下载,然后这个数据我下载下来了,这个文件名是 2D 啥开头的,然后这个时候把这个脱敏关掉,看一下这个原始数据可以看到这边就是一列手机号,那现在假设这份数据泄露了,现在回到数据手机溯源这个页面来,现在拿到了这一份被泄露的数据,然后怎么来溯源它可能是哪次操作引起的泄露呢?
首先新建一个数据溯源的任务,然后把刚才下载的那个文件,就是假设泄露的这个文件,把它上传上来,然后点击开始溯源,这其实算的很快,现在已经算完了,可以点击查看详情,那就可以看到下面的列出来了,可能的泄漏源是我这个账号,大家可以看到右上角这边有账号名是在今天的九点十九分,大家可能看不到我这边的时间,现在的时间就是就九点二十一分,就是刚开始在九点十九分做的这次操作。项目就是在刚刚那个数据开发项目下面,操作的命令就是在这个水印下面,所以说这个基本上是挺准确的,当然也有很多情况下拿到的数据可能没有那么完整,这种情况下溯源的结果可能会有各种可能性,会给出可能性的一个列表,大概可能是哪些操作引起的泄露,可能性有多大,这个就是第四个功能,数据溯源的功能。