KingbaseES 数据脱敏功能介绍
数据脱敏,指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。
KingbaseES主要提供动态数据脱敏功能。
动态数据脱敏(Dynamic Data Masking)是与生产环境紧密关联的,访问敏感数据时实时地进行脱敏,主要用于直接访问生产数据的场景,在屏蔽敏感信息的同时也保证了源数据的一致性和有效性。
功能开启
- 修改配置文件kingbase.conf 文件中shared_preload_libraries参数,增加数据脱敏插件 sys_anon
- 重启数据库。
- 以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.注意事项
- 数据脱敏策略仅允许安全员sso 进行配置及查看,其他用户均无权限。
- 一个脱敏对象(列)上只能配置一种脱敏策略。若是同一个脱敏对象上存在多个策略,则所有策略都不会生效。若要对多个用户生效脱敏测试,添加策略时参数username请置为空。
KingbaseES 数据脱敏功能介绍的更多相关文章
- 数据脱敏 t-closeness介绍与实现
数据脱敏 t-closeness介绍与实现 本文主要基于t-closeness的首次提出团队Ninghui Li, Tiancheng Li, Suresh Venkatasubramanian发表的 ...
- 深入浅出CChart 每日一课——快乐高四第九课 于无声处,CChart内置功能介绍之数据存取篇
笨笨长期以来一直使用Origin软件画图和处理数据,但Origin软件没有编程语言的接口.笨笨开发CChart的一个潜在的目标.是想实现Origin软件的功能.当然这是一个不可能达到的目标.Origi ...
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-1.数据信息安全--微信授权一键登录功能介绍
笔记 1.数据信息安全--微信授权一键登录功能介绍 简介:讲解登录方式优缺点和微信授权一键登录功能介绍 1.手机号或者邮箱注册 优点: ...
- .NET平台开源项目速览(13)机器学习组件Accord.NET框架功能介绍
Accord.NET Framework是在AForge.NET项目的基础上封装和进一步开发而来.因为AForge.NET更注重与一些底层和广度,而Accord.NET Framework更注重与机器 ...
- 带你走近AngularJS - 基本功能介绍
带你走近AngularJS系列: 带你走近AngularJS - 基本功能介绍 带你走近AngularJS - 体验指令实例 带你走近AngularJS - 创建自定义指令 ------------- ...
- CentOS以及Oracle数据库发展历史及各版本新功能介绍, 便于构造环境时有个对应关系
CentOS版本历史 版本 CentOS版本号有两个部分,一个主要版本和一个次要版本,主要和次要版本号分别对应于RHEL的主要版本与更新包,CentOS采取从RHEL的源代码包来构建.例如CentOS ...
- iOS Simulator功能介绍关于Xamarin IOS开发
iOS Simulator功能介绍关于Xamarin IOS开发 iOS Simulator功能介绍 在图1.38所示的运行效果中,所见到的类似于手机的模型就是iOS Simulator.在没有iPh ...
- discuz论坛apache日志hadoop大数据分析项目:清洗数据核心功能解说及代码实现
discuz论坛apache日志hadoop大数据分析项目:清洗数据核心功能解说及代码实现http://www.aboutyun.com/thread-8637-1-1.html(出处: about云 ...
- fedora21发布与新功能介绍(附fedora21安装教程与fedora21下载地址)
fedora21发布与新功能介绍(附fedora21安装教程与fedora21下载地址) 最新的Fedora 21终于正式发布了,Fedora Server 是一款强大可定制化的操作系统,包括了最好最 ...
随机推荐
- Vue.js CLI4 Vue.config.js标准配置 (最全注释)
前言: Vue.js CLI工具 不知不觉发展到了4.0时代,CLI给人最直白的感受是没有了build文件夹跟config文件夹,所有的配置都在Vue.config.js完成.那么该文件的配置至关重要 ...
- cut命令、case与select语句
cut命令 常用参数: -c character 字符 -d delimiter 分隔符 -f field 域(列) --output-delimiter 输出分隔符 例: # echo 12345 ...
- FFT 学习笔记(自认为详细)
引入 什么是 \(\text{FFT}\) ? 反正我看到 \(\text{wiki}\) 上是一堆奇怪的东西. 快速傅里叶变换(英语:Fast Fourier Transform, FFT),是快速 ...
- 交替方向乘子法(Alternating Direction Multiplier Method,ADMM)
交替方向乘子法(Alternating Direction Multiplier Method,ADMM)是一种求解具有可分结构的凸优化问题的重要方法,其最早由Gabay和Mercier于1967年提 ...
- Learning Latent Graph Representations for Relational VQA
The key mechanism of transformer-based models is cross-attentions, which implicitly form graphs over ...
- 【python】下载中国大学MOOC的视频
[python]下载中国大学MOOC的视频 脚本目标: 输入课程id和cookie下载整个课程的视频文件,方便复习时候看 网站的反爬机制分析: 分析数据包的目的:找到获取m3u8文件的路径 1. 从第 ...
- 集合-list常用方法总结
每个方法使用见下方代码详解 点击查看代码 ArrayList list = new ArrayList(); list.add("AA"); list.add(123); list ...
- poste.io自建邮件服务器
随便说些什么 腾讯企业邮新增账号不方便,这里的主要是指不经过手机验证或微信扫码的,虽然提供了最多3个"业务邮箱",很明显不够用. EwoMail,装没装起来我不记得了,反正是不好用 ...
- C++系统函数
C++语言预先编写了很多常用函数提供给广大程序员使用,这些函数被统称为系统函数.C++语言全盘继承了C语言的标准C库,另外又增加了一些新的库(更多的是系统类库),这些新库被统称为C++标准库. 一.C ...
- 4-7 CS后台项目练习-1
1. 关于此项目 此项目是一个自营性质电商类型的项目. 当前目标是设计后台管理相关功能. 2. 关于项目的开发流程 开发项目的标准流程应该有:需求分析.可行性分析.总体设计.详细设计等. 建议课后学习 ...