如何选购数据库脱敏?
的权控体系:在实际场景中通常会涉多个数据库的监控和脱敏,这些数据库一般都关联归属于不同业务,甚至还存在代理运维第三方业务的情况。所以针对这种复杂的人员结构以及复杂的业务场景,动态脱敏产品应具备根据不同数据库组、用户、角色实现不同的数据脱敏能力。
性能高脱敏能力:动态脱敏产品的使用场景决定了需要保证脱敏的及时性和性。好能够保证在脱敏
市级数据库水印价格
如何选购数据库脱敏?
的权控体系:在实际场景中通常会涉多个数据库的监控和脱敏,这些数据库一般都关联归属于不同业务,甚至还存在代理运维第三方业务的情况。所以针对这种复杂的人员结构以及复杂的业务场景,动态脱敏产品应具备根据不同数据库组、用户、角色实现不同的数据脱敏能力。
性能高脱敏能力:动态脱敏产品的使用场景决定了需要保证脱敏的及时性和性。好能够保证在脱敏字段多且结果集庞大的情况下控制数据访问性能下降不超过10%。
完备的容灾机制:动态脱敏产品一般会采用串联部署模式,为防止异常断电、设备迁移等外界因素导致设备不能正常启用时,动态脱敏应该可以通过HA主备来应对风险的发生。通过系统容灾管理配置,在异常发生导致其中一台设备不可用时,动态脱敏设备可以自动将策略、会话等信息同步给备机,并且继续实现脱敏、防护等作用,的主备切换几乎不会延误用户的业务操作以及数据库使用。
数据库脱敏实现背后的秘密
数据脱敏功能,基于SQL引擎既有的实现框架,在受限用户执行查询语句过程中,实现外部不感知的实时脱敏处理。关于其内部实现,如上图所示。我们将脱敏策略(Redaction Policy)视为表对象上绑定的规则,在优化器查询重写阶段,遍历Query Tree中TargetList的每个TargetEntry,如若涉及基表的某个脱敏列,且当前脱敏规则生效(即满足脱敏策略的生效条件且enable开启状态),则断定此TargetEntry中涉及要脱敏的Var对象,此时,遍历脱敏列系统表pg_redaction_column,查找到对应脱敏列绑定的脱敏函数,将其替换成对应的FuncExpr即可。
经过上述对Query Tree的重写处理,优化器会自动生成新的执行计划,执行器遵照新的计划执行,查询结果将对敏感数据做脱敏处理。带有数据脱敏的语句执行,相较于原始语句,增加了数据脱敏的逻辑处理,势必会给查询带来额外的开销。这部分开销,主要受表的数据规模、查询目标列涉及的脱敏列数、脱敏列采用的脱敏函数三方面因素影响。
是否需要对数据库数据进行脱敏处理?
取决于你们公司的实际业务场景和数据敏感度。比如如果你现在的单位是银行,因为涉及用户的财产安全,数据库是肯定需要进行脱敏处理的,
以防用户数据泄露,对银行或者储户造成损失。这里的泄露有可能是被别人技术套取,也有可能是内部员工职业操守出现问题而导致“家贼难防”的事情发生,
这时候数据库脱敏就显得尤为必要。当然银行也不是对所有数据都进行脱敏处理,对一些不重要不涉及用户或单位敏感信息的数据,是不需要也不会对其进行脱敏处理的。
因为数据脱敏是有操作维护成本以及使用成本的,而且成本不小,在后续的数据维护和数据使用过程中,会产生各种不方便及额外的时间及性能损耗。
(作者: 来源:)