GBase 8a MPP数据库提供动态数据脱敏的新特性,用户可以通过sql语法的形式,给需要进行数据脱敏的字段添加脱敏属性,通过用户权限控制,决定是否对有查询需求的用户暴露原始数据。
动态数据脱敏并不会真正改变表中存储的实际数据,只是在查询的时候应用该特性控制查询返回的数据,动态数据脱敏支持四种数据脱敏函数,包括默认脱敏default、随机脱敏random、自定义脱敏partial、keymask和哈希脱敏,动态数据脱敏是否启脱敏受当前用户权限控制,拥有unmask权限的用户不受脱敏规则影响,可以访问原始数据,没有unmask权限的用户受脱敏规则影响,只能访问到脱敏后的数据。脱敏只对投影列有效。
- 应用场景
- 脱敏方式
1)数据类型是时间类型:
date会显示为“1900-01-01”
datetime会显示为“1900-01-01 00:00:00”
time会显示为“00:00:00”
timestamp会显示为“1970-01-01 13:00:01”
2)数据类型是整型、浮点型和decimal
整型和浮点型会显示为0
decaimal会显示为0.000(小数位个0)
3)字符串类型
替换为固定的4个x字符
2.随机脱敏radom(),随机脱敏只对数字类型起作用,它将一个范围内的值随机显示。
3.自定义脱敏
1)partial()
对字符列进行脱敏,包含3个参数partial(start,padding,end)star开始字符保留数量,end结尾字符保留数量,padding遮挡字符。
2)keymask()
只对varchar、char列进行脱敏,包含3个参数keymask(substr,padding,pos)substr需要查找的字符串,padding在查找到substr位置的之前或之后用于覆盖的字符串,pos,覆盖方向,0向前覆盖,1向后覆盖。
4.哈希脱敏sha()
sha脱敏对字符串列起作用,对列内容应用sha算法处理。




