返回首页

gbase数据、南大通用产品文档:GBase8akeymask 脱敏

更新日期:2024年09月11日

说明
指定字符位置脱敏函数keymask(substr,padding,pos)
功能:指定字符为初始计数位置,指定位数内脱敏功能。keymask 脱敏函数只
用于varchar/char 列进行脱敏,其他类型列使用该函数将报错返回。
参数说明如下:


参数类型
参数说明
sub
str
varchar/ch
ar
需要查找的子字符串,如:
xiaoming@gbase.cn 的substr 被设置为"@"。
注,
substr 长度不可长于被查找字符串长度,否则不
进行脱敏操作,并生成warnings

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 286
pad
ding
varchar/ch
ar
表示在查找到substr位置的之前或者之后用
于覆盖的字符串。如,"xxx"、"***"等
pos
int
0/1 覆盖方向,0 表示向前覆盖,1 表示向后
覆盖
脱敏规则如下:
1)如果在内容中未发现substr,则不做脱敏操作。并在show warnings 中看到对
应不脱敏操作的原因。如:substr ‘xxxx’is not exist in string ‘xxxxxx’。

2)
如果待查找字符串中存在多个substr,
那么只处理第一次出现的substr 的位置。

3)如果脱敏后的字符串超过字段定义的列宽,则按照pos 的值在前或在后截断。
示例
create table t(a varchar(255) masked with(function='keymas
k("@gbase","****",0)'));



示例:
create table t(a varchar(14) masked with(function='keymask
("@","*******",0)'));



create table t(a varchar(14) masked with(function='keymask
("@","***************",1)'));



node (172.168.83.14)
Recover success
--------------------------------------------

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
404

事务T1:
START TRANSACTION;
UPDATE test SET address='test1234' WHERE name='test1';
COMMIT;
事务T2:
START TRANSACTION;
UPDATE test SET address='test1234' WHERE name='test2';
COMMIT;

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
335
事务T3:
START TRANSACTION;
UPDATE test SET address='test1234' WHERE name='test1';
COMMIT;
场景1:
开启事务T1,
不提交的同时开启事务T2,
事务T1 开始执行UPDATE,
事务T2 开始执
行UPDATE,事务T1 和事务T2 都执行成功。更新不同行时,更新操作拿的是行级锁,不
会发生冲突,两个事务都可以执行成功。
场景2:
开启事务T1,
不提交的同时开启事务T3,
事务T1 开始执行UPDATE,
事务T3 开始执
行UPDATE,事务T1 执行成功,事务T3 等待超时后会出错。更新相同行时,事务T1 未提
交时,未释放锁,导致事务T3 执行不成功。