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

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. Vue.js CLI4 Vue.config.js标准配置 (最全注释)

    前言: Vue.js CLI工具 不知不觉发展到了4.0时代,CLI给人最直白的感受是没有了build文件夹跟config文件夹,所有的配置都在Vue.config.js完成.那么该文件的配置至关重要 ...

  2. cut命令、case与select语句

    cut命令 常用参数: -c character 字符 -d delimiter 分隔符 -f field 域(列) --output-delimiter 输出分隔符 例: # echo 12345 ...

  3. FFT 学习笔记(自认为详细)

    引入 什么是 \(\text{FFT}\) ? 反正我看到 \(\text{wiki}\) 上是一堆奇怪的东西. 快速傅里叶变换(英语:Fast Fourier Transform, FFT),是快速 ...

  4. 交替方向乘子法(Alternating Direction Multiplier Method,ADMM)

    交替方向乘子法(Alternating Direction Multiplier Method,ADMM)是一种求解具有可分结构的凸优化问题的重要方法,其最早由Gabay和Mercier于1967年提 ...

  5. Learning Latent Graph Representations for Relational VQA

    The key mechanism of transformer-based models is cross-attentions, which implicitly form graphs over ...

  6. 【python】下载中国大学MOOC的视频

    [python]下载中国大学MOOC的视频 脚本目标: 输入课程id和cookie下载整个课程的视频文件,方便复习时候看 网站的反爬机制分析: 分析数据包的目的:找到获取m3u8文件的路径 1. 从第 ...

  7. 集合-list常用方法总结

    每个方法使用见下方代码详解 点击查看代码 ArrayList list = new ArrayList(); list.add("AA"); list.add(123); list ...

  8. poste.io自建邮件服务器

    随便说些什么 腾讯企业邮新增账号不方便,这里的主要是指不经过手机验证或微信扫码的,虽然提供了最多3个"业务邮箱",很明显不够用. EwoMail,装没装起来我不记得了,反正是不好用 ...

  9. C++系统函数

    C++语言预先编写了很多常用函数提供给广大程序员使用,这些函数被统称为系统函数.C++语言全盘继承了C语言的标准C库,另外又增加了一些新的库(更多的是系统类库),这些新库被统称为C++标准库. 一.C ...

  10. 4-7 CS后台项目练习-1

    1. 关于此项目 此项目是一个自营性质电商类型的项目. 当前目标是设计后台管理相关功能. 2. 关于项目的开发流程 开发项目的标准流程应该有:需求分析.可行性分析.总体设计.详细设计等. 建议课后学习 ...