如何选购数据库脱敏?
的权控体系:在实际场景中通常会涉多个数据库的监控和脱敏,这些数据库一般都关联归属于不同业务,甚至还存在代理运维第三方业务的情况。所以针对这种复杂的人员结构以及复杂的业务场景,动态脱敏产品应具备根据不同数据库组、用户、角色实现不同的数据脱敏能力。
性能高脱敏能力:动态脱敏产品的使用场景决定了需要保证脱敏的及时性和性。好能够保证在脱敏字段多且结果集庞大的情况下控制数据访问性能下降不超过10%。
完备的容灾机制:动态脱敏产品一般会采用串联部署模式,为防止异常断电、设备迁移等外界因素导致设备不能正常启用时,动态脱敏应该可以通过HA主备来应对风险的发生。通过系统容灾管理配置,在异常发生导致其中一台设备不可用时,动态脱敏设备可以自动将策略、会话等信息同步给备机,并且继续实现脱敏、防护等作用,快速的主备切换几乎不会延误用户的业务操作以及数据库使用。
数据库脱敏实现背后的秘密
数据脱敏功能,基于SQL引擎既有的实现框架,在受限用户执行查询语句过程中,实现外部不感知的实时脱敏处理。关于其内部实现,如上图所示。我们将脱敏策略(Redaction Policy)视为表对象上绑定的规则,在优化器查询重写阶段,遍历Query Tree中TargetList的每个TargetEntry,如若涉及基表的某个脱敏列,且当前脱敏规则生效(即满足脱敏策略的生效条件且enable开启状态),则断定此TargetEntry中涉及要脱敏的Var对象,此时,遍历脱敏列系统表pg_redaction_column,查找到对应脱敏列绑定的脱敏函数,将其替换成对应的FuncExpr即可。
经过上述对Query Tree的重写处理,优化器会自动生成新的执行计划,执行器遵照新的计划执行,查询结果将对敏感数据做脱敏处理。带有数据脱敏的语句执行,相较于原始语句,增加了数据脱敏的逻辑处理,势必会给查询带来额外的开销。这部分开销,主要受表的数据规模、查询目标列涉及的脱敏列数、脱敏列采用的脱敏函数三方面因素影响。
静态脱敏与动态脱敏的技术路线的区别
静态脱敏直接通过屏蔽、变形、替换、随机、格式保留加密(FPE)和强加密算法(如AES)等多种脱敏算法,针对不同数据类型进行数据掩码扰乱,并可将脱敏后的数据按用户需求,装载至不同环境中。静态脱敏可提供文件至文件,文件至数据库,数据库至数据库,数据库至文件等不同装载方式。导出的数据是以脱敏后的形式存储于外部存贮介质中,实际上已经改变了存储的数据内容。
动态脱敏通过准确的解析SQL语句匹配脱敏条件,例如:访问IP、MAC、数据库用户、客户端工具、操作系统用户、主机名、时间、影响行数等,在匹配成功后改写查询SQL或者拦截防护返回脱敏后的数据到应用端,从而实现敏感数据的脱敏。实际上存储于生产库的数据未发生任何变化。
数据脱敏处理是指什么?
数据脱敏处理就是对敏感数据进行变形处理,其目的是保护隐私数据等信息的安全,例如机构和企业收集的个人身份、卡信息等敏感数据。数据脱敏从技术上可以分为静态数据脱敏和动态数据脱敏两种。静态数据脱敏一般应用于数据外发场景,例如需要将生产数据导出发送给开发人员、测试人员、分析人员等;动态脱敏一般应用于直接连接生产数据的场景,例如运维人员在运维的工作中直接连接生产数据库进行运维,客服人员通过应用直接调取生产中的个人信息等
版权所有©2024 天助网