问题现象
脱敏功能下执行 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)




