数据脱敏,指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。

KingbaseES主要提供动态数据脱敏功能。

动态数据脱敏(Dynamic Data Masking)是与生产环境紧密关联的,访问敏感数据时实时地进行脱敏,主要用于直接访问生产数据的场景,在屏蔽敏感信息的同时也保证了源数据的一致性和有效性。

功能开启

  1. 修改配置文件kingbase.conf 文件中shared_preload_libraries参数,增加数据脱敏插件 sys_anon
  2. 重启数据库。
  3. 以sso用户登录数据库开启脱敏开关。

    ALTER SYSTEM SET anon.enable = on; CALL sys_reload_conf();

数据脱敏策略配置

1.添加脱敏策略

anon.add_policy(policy_name text,
objname text,
username text,
func_desc text,
para_list text
)

参数说明:

policy_name 脱敏策略名,不可为空,策略名唯一。

objname 待脱敏的对象,不可为空,格式为:模式. 表. 列(不写模式时为表. 列,模式默认设置为public)。

username 待脱敏的对象用户名,可为空,为空对所有用户脱敏。

func_desc 脱敏使用的函数(只需要填写函数名),可为空,为空设置为默认脱敏。支持使用的脱敏函数详见表脱敏函数说明。

para_list 脱敏函数的参数列表(目前仅适用于部分脱敏),若函数无参数,则该项无效;若函数为部分脱敏时需要填写,参数之间用‘,’分隔,例如’2,2’,参数列表个数为2。

2.修改脱敏策略

anon.alter_policy(policy_name text,
username text,
func_desc text,
para_list text
)

3.删除脱敏策略

anon.remove_policy(policy_name text)

4.数据脱敏配置查询

数据脱敏策略设置可通过系统视图anon.all_policy查询

5.脱敏函数

示例

1.创建测试用户

create user u1 with password '123456';

2.创建测试表,插入数据

create table t1(id int,t_def boolean,t_str varchar(20),t_date timestamptz,t_int int,t_mail text, t_part text);
insert into t1 values (1,true,'kingbase',now(),5678,'kes@kingbase.com','datamasking');

3.授权,检查脱敏开关是否已开启

test=# grant select on t1 to u1;
GRANT
test=# show anon.enable;
anon.enable
-------------
on
(1 行记录) test=> select * from t1;
id | t_def | t_str | t_date | t_int | t_mail | t_part
----+-------+----------+-------------------------------+-------+------------------+-------------
1 | t | kingbase | 2022-05-17 17:36:03.872724+08 | 5678 | kes@kingbase.com | datamasking
(1 行记录)

4.设置脱敏规则

\c - sso
select anon.add_policy('pol1','public.t1.t_def','u1','default','');
select anon.add_policy('pol2','public.t1.t_str','u1','random_string','');
select anon.add_policy('pol3','public.t1.t_date','u1','random_date','');
select anon.add_policy('pol4','public.t1.t_int','u1','random_int','');
select anon.add_policy('pol5','public.t1.t_mail','u1','email_mask','');
select anon.add_policy('pol6','public.t1.t_part','u1','partial','2,3');

5.切换至u1用户查询t1表

test=> \c - u1
您现在已经连接到数据库 "test",用户 "u1".
test=> select * from t1;
id | t_def | t_str | t_date | t_int | t_mail | t_part
----+-------+----------+-------------------------------+-----------+------------------+-------------
1 | f | vj7VJxl9 | 1976-04-25 04:42:54.452940+08 | 850842047 | ***@********.com | da******ing
(1 行记录)

6.注意事项

  1. 数据脱敏策略仅允许安全员sso 进行配置及查看,其他用户均无权限。
  2. 一个脱敏对象(列)上只能配置一种脱敏策略。若是同一个脱敏对象上存在多个策略,则所有策略都不会生效。若要对多个用户生效脱敏测试,添加策略时参数username请置为空。

KingbaseES 数据脱敏功能介绍的更多相关文章

  1. 数据脱敏 t-closeness介绍与实现

    数据脱敏 t-closeness介绍与实现 本文主要基于t-closeness的首次提出团队Ninghui Li, Tiancheng Li, Suresh Venkatasubramanian发表的 ...

  2. 深入浅出CChart 每日一课——快乐高四第九课 于无声处,CChart内置功能介绍之数据存取篇

    笨笨长期以来一直使用Origin软件画图和处理数据,但Origin软件没有编程语言的接口.笨笨开发CChart的一个潜在的目标.是想实现Origin软件的功能.当然这是一个不可能达到的目标.Origi ...

  3. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-1.数据信息安全--微信授权一键登录功能介绍

    笔记 1.数据信息安全--微信授权一键登录功能介绍 简介:讲解登录方式优缺点和微信授权一键登录功能介绍         1.手机号或者邮箱注册             优点:              ...

  4. .NET平台开源项目速览(13)机器学习组件Accord.NET框架功能介绍

    Accord.NET Framework是在AForge.NET项目的基础上封装和进一步开发而来.因为AForge.NET更注重与一些底层和广度,而Accord.NET Framework更注重与机器 ...

  5. 带你走近AngularJS - 基本功能介绍

    带你走近AngularJS系列: 带你走近AngularJS - 基本功能介绍 带你走近AngularJS - 体验指令实例 带你走近AngularJS - 创建自定义指令 ------------- ...

  6. CentOS以及Oracle数据库发展历史及各版本新功能介绍, 便于构造环境时有个对应关系

    CentOS版本历史 版本 CentOS版本号有两个部分,一个主要版本和一个次要版本,主要和次要版本号分别对应于RHEL的主要版本与更新包,CentOS采取从RHEL的源代码包来构建.例如CentOS ...

  7. iOS Simulator功能介绍关于Xamarin IOS开发

    iOS Simulator功能介绍关于Xamarin IOS开发 iOS Simulator功能介绍 在图1.38所示的运行效果中,所见到的类似于手机的模型就是iOS Simulator.在没有iPh ...

  8. discuz论坛apache日志hadoop大数据分析项目:清洗数据核心功能解说及代码实现

    discuz论坛apache日志hadoop大数据分析项目:清洗数据核心功能解说及代码实现http://www.aboutyun.com/thread-8637-1-1.html(出处: about云 ...

  9. fedora21发布与新功能介绍(附fedora21安装教程与fedora21下载地址)

    fedora21发布与新功能介绍(附fedora21安装教程与fedora21下载地址) 最新的Fedora 21终于正式发布了,Fedora Server 是一款强大可定制化的操作系统,包括了最好最 ...

随机推荐

  1. Windows-matlab简易安装-用于数字图像处理

    安装 下载链接 解压文件得到 双击setup.exe 主要注意几点 使用文件安装密匙 只需安装这三个即可 将两个文件夹里面的dll文件复制到安装目录的 /bin/win64 目录 两个 .lic 文件 ...

  2. SimpleMarkDown编辑器离线版以及桌面应用版上线

    之前,我们开发了Web版本SimpleMarkDown编辑器.今天,我们又推出了离线版和桌面应用版. 主要功能: 页面简约: 实时保存: 一键清空内容: 支持微信公众号.知乎.稀土掘金.CSDN等多个 ...

  3. XMAL中的x是何方神僧

    在一开始我们接触WPF时,总是被小X牵着鼻子走,还不知道它是谁,比如 <Window x:Class="Blend_WPF.WindowStyle"        xmlns ...

  4. bat-windows系统激活

    激活命令 slmgr -ipk M7XTQ-FN8P6-TTKYV-9D4CC-J462D slmgr -skms kms.03k.org slmgr -ato slmgr -dlv 激活异常处理方法 ...

  5. Python基础教程:模块重载的五种方法

    环境准备 新建一个 foo 文件夹,其下包含一个 bar.py 文件 $ tree foo foo └── bar.py 0 directories, 1 file bar.py 的内容非常简单,只写 ...

  6. HMS Core 机器学习服务打造同传翻译新“声”态,AI让国际交流更顺畅

    2022年6月,HMS Core机器学习服务面向开发者提供一项全新的开放能力--同声传译,通过AI语音技术减少资源成本,加强沟通交流,旨在帮助开发者制作丰富多样的同声传译应用. HMS Core同声传 ...

  7. Java学习第二周

    这一周观看了黑马程序员毕向东的教学视频学习了数组的创建:数组元素的使用及遍历,类的声明,成员方法的声明,构造器的声明 数据类型[] 数组名 = new 数据类型[长度];数据类型[] 数组名 = {数 ...

  8. docker快速安装openvas

    项目地址 1.更换国内docker源 2.docker run -d -p 443:443 -e PUBLIC_HOSTNAME=此处填你宿主机IP --name openvas mikesplain ...

  9. 牛客SQL刷题第一趴——非技术入门基础篇

    user_profile表: id device_id gender age university province 1 2138 male 21 北京大学 Beijing 2 3214 male   ...

  10. 零基础学Java(9)在mac上运行命令行提示"找不到或无法加载主类"

    天坑 遇到的问题:使用命令行执行命令:java EightSample,会报以下错误 错误: 找不到或无法加载主类 EightSample 运行环境 mac系统 IntelliJ IDEA编译器 Ja ...