DGC最佳实践:机密数据入湖,如何保证数据不被泄露?
背景:
在业务的数据库中有一部分表的数据属于非常机密的数据,比如,报价信息、员工工资。这批数据如果泄露,会严重影响企业的管理、生产和经营,通常只允许被高级别的数据分析师或数据Owner访问,一般的数据工程师、普通级别分析师,不允许访问或者只允许使用脱敏、加密或聚合后的数据。那么,如何在DGC里对这类数据进行严密控制?
方案:
介绍一个比较好的实践方案,先上图
方案说明:
1、在DWS(此处以DWS为例,DLI、MRS也可参考)中创建一个机密Schema,严格控制访问权限。能够访问该Schema的账号和密码需严格管控。
2、DGC上创建独立的机密空间,该空间内配置敏感业务数据库连接、有权限访问DWS机密Schema的连接(该连接账号通常也需要有普通Schema的访问权限,方便机密数据做关联分析)。由于在DGC的workspace内,一般开发者角色都可以无差别使用数据源连接来访问数据,并且都可以修改和执行脚本和作业,因此,该workspace内的成员必须都是可以访问机密数据的机要人员。
3、机密Schema中的表数据,空间开发者可通过自定义的UDF进行机密字段的加密,保证落盘的机密字段是密文存储,当访问敏感字段时通过UDF解密。实际上,用UDF加密的操作是可选的操作,只在将数据移除数据区前才必须要做,比如,使用CDM将表迁移到普通数仓schema之前,须要先把数据加密了。
4、DGC普通空间开发者如果需要用到脱敏或聚合后的机密数据数据,需由机密空间开发者将脱敏结果导出。作业间可建立跨空间依赖来协调运行。
- 点赞
- 收藏
- 关注作者
评论(0)