GBase 8a脱敏功能下执行 sql 或存储过程报错,甚至 gcluster 宕机排查

当在GBase数据库中使用脱敏功能执行SQL或存储过程遇到错误,可能导致系统宕机。解决方法涉及检查和授予'unmask'权限。unmask权限允许用户查看原始或脱敏数据,需通过`grant unmask on *.*.* to user`命令单独赋予。新用户默认不包含unmask权限,需手动添加。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题现象

脱敏功能下执行 sql 或存储过程报错,甚至 gcluster 宕机,需要检查 unmask 权限。

解决方法:

Unmask 是面向脱敏控制的权限,对于脱敏数据,拥有 unmask 权限的普通用户可以看到原始数据,没有 unmask 权限的普通用户只能看到脱敏后的数据。权限是针对普 通 用 户的全局权 限, 不属于某 一个 VC 或 库 表, 在 gbase.user 表中Unmask_priv 列可以查看用户的 unmask 权限。Alter table tb alter col masked 修改脱敏属性,需要拥有 alter 和 unmask 权限才可以执行。新创建的数据库用户,赋予的 all 权限不包括 unmask 权限,unmask 权限需要单独赋予。

gbase> create user unmaskuser;Query OK, 0 rows affected (Elapsed: 00:00:00.88) gbase> grant all on *.* to unmaskuser; Query OK, 0 rows affected (Elapsed: 00:00:00.14) gbase> select Unmask_priv,user from gbase.user where user='unmaskuser'; +-------------+------------+|  Unmask_priv  |    user             |+-------------+------------+|      N      | unmaskuser |+-------------+------------+1 row in set (Elapsed: 00:00:00.12)
gbase> grant unmask on *.*.* to unmaskuser; Query OK, 0 rows affected (Elapsed: 00:00:00.05) gbase> select Unmask_priv,user from gbase.user where user='unmaskuser'; +-------------+------------+
|  Unmask_priv  |    user  |
+-------------+------------+
|      Y      | unmaskuser |
+-------------+------------+
1 row in set (Elapsed: 00:00:00.00)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值