大数据系统收集了业务数据库,服务器日志,埋点等数据。将分散在各个不同系统的数据进行汇总,经过数据分析处理,帮助企业进行商业决策从而创造数据价值。大数据系统中汇集了全公司的各类数据,面临的第一个问题就是如何控制哪些人或者角色可以访问,其次还需要保证在数据分析的过程中敏感数据不被泄漏,再者需要做到收集到到这些数据不会因为异常情况被误删。
1. 权限管理遇到的问题
1.1 如何进行数据权限管理以及权限管理的粒度
数据权限分配方式一般需要两种:
从用户使用体验和权限管理来说,方案二更加友好。由使用人员发起,管理人员审批,整个操作链路流程化,可追踪,无需频繁进行线上线下双面沟通。但如果公司人员不多,开发资源不足,可以采用方案一,方案一的开发难度底,投入少。
对于权限粒度一般需要细化到行级别和列级别。大数据平台会汇集多个子公司或者部门的数据,这些数据最终存储可能会是一份数据,所以很多时候需要支持行级别权限,根据子公司或者部门归属情况查询到不同的数据。对于列级别权限的一般场景是数据分析过程中会使用大量的大宽表,这些表会涵盖很多特征数据,对于不同的人员需要做到列级别的权限控制。
1.2 数据管理人员不清楚是否应该对指定用户/角色进行授权
一般系统会定义项目管理员,由项目管理员这个角色来管理数据仓库中成千上万张表。这里面临的一个问题是项目管理员不熟悉被申请权限的表所涵盖的数据,以及不了解申请的人是否应该具备这个权限。针对这些问题,我们提供给管理员自定义权限申请流程的功能。
针对不了解申请权限的人员,管理员可以在第一级审批中引入「直接主管」(权限系统和OA打通,可以动态获取每一个角色的直接主管),只有直接主管审批通过才会进入到第二级审批。如果需要解决数据不熟悉的问题,我们可以在第二级审批中引入了解数据的人进行审批。这种方案同时也支持为不同隐私级别的数据设置不同的审批流程,首先利用数据圈选功能,根据数据的敏感性将数据分成不同的类别,不同类别的数据对应不同的审批流程。
1.3 权限什么时候到期
权限需要具备生命周期,生命周期会促使权限申请者定期盘点,我是否还需要这些数据权限?通过这种方式做到权限的精细化管理
2. 数据脱敏
脱敏和权限控制的不同点在于,权限控制是控制能否访问数据。但是脱敏更多的是希望可以保证数据安全的前提下可以进行后续的数据分析。举例来说,我们将手机号码作为用户的唯一标示,我需要用这个字段计算用户总量。但是手机号码作为隐私数据不能直接暴露给分析人员。这是一个典型的脱敏场景,我们可以将数据进行hash脱敏,然后把脱敏后的数据暴露给相关用户。这样可以在不造成数据泄露的情况下,进行数据分析。
对于脱敏,有两大类别:动态脱敏和静态脱敏。
2.1 动态脱敏
动态脱敏是在数据存储的时候是原文存储,但是在数据查询结果返回的时候显示脱敏后的结果。这套方案的优点在于可以为不同的人配置不同的脱敏策略从而执行不同的脱敏算法。脱敏规则可以定义在库上也可以定义在表上。定义在库上,表示这个库下面所有列名称为指定名称的列均进行脱敏。对于列名称匹配进行脱敏固然是一种可靠的方式,但是很多敏感数据存在于很多我们无法预估列名称的字段中,这时我们需要根据字段内容识别出来哪些数据是需要脱敏的,然后在相关字段上设置脱敏策略。
2.2 静态脱敏
动态脱敏解决的是线上分析平台的脱敏问题,静态脱敏提供的是不同平台之间在数据交互过程中进行数据脱敏的能力。部分公司会需要在数据入仓的过程中将数据进行脱敏,保障数据在数仓中是以脱敏后的方式进行存储。应对这种场景就需将脱敏能力集成到传输工具中,在传输的过程中进行静态脱敏。
3. 数据丢失保障手段
3.1 目录冻结
在数据分析的时候可能会因为一些错误的操作发起删除hive_db目录的请求。这种操作如果发生了,对于数据团队来说将会是致命的打击。为了防止这种情况的发生,我们需要保证特定的关键目录不能被删除。这样需要在hadoop层进行部分改造,对于这些目录的move和rename动作进行拦截,并发出预警,以此保障这些目录的安全性。
3.2 回收站改造
如果在删除hdfs数据的时候使用了--skipTrash参数,会导致数据不进入回收站直接删除。在生产环境中可以直接删除数据并且无法找回是很危险的事情。为了应对这个问题,我们需要提供公共回收站的功能,将删除的但是不进入默认回收站的数据都收入公共回收站中,确保删除的数据在1天之内均能找回。
网易大数据开发及管理平台基于内部的场景在权限管理,数据脱敏,数据误删等方面提供了良好的支持(如下图所示),点击即可了解体验哦!
作者简介
太昊,网易大数据中台产品经理,从事数据集成、大数据安全、数据开发、数据治理等平台的产品设计工作。