ITPub博客

首页 > 数据库 > 国内数据库 > HGDB之数据编辑

HGDB之数据编辑

原创 国内数据库 作者:瀚高PG实验室 时间:2021-10-13 16:41:26 0 删除 编辑

作者:申晋奉,瀚高PG实验室核心成员,数据库高级工程师,擅长HGDB、Post-greSQL、Oracle等主流数据库。


 ** 功能介绍 **



该功能在 HGDB-SEE V4.5.7 及之后的版本中提供。


数据编辑(Data Redaction)功能是一种动态数据脱敏机制,可以为不同角色、不同权限、不同数据类型执行不同的脱敏方案,在数据查询时对敏感数据进行动态的安全保护,


一个完整的数据编辑策略由三部分组成:数据编辑函数、数据编辑策略应用 SQL命令、相应的权限配置。

1.使用内置的数据编辑函数;

2.通过绑定策略语句将函数与目标数据关联;

3.数据编辑函数及策略仅可通过 SYSSSO 用户创建、修改、删除、禁用、启用、授权操作


  **适用场景**


百度词条对数据脱敏的介绍:指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。这样就可以在开发、测试和其它非生产环境以及外包环境中安全地使用脱敏后的真实数据集。在涉及客户安全数据或者一些商业性敏感数据的情况下,在不违反系统规则条件下,对真实数据进行改造并提供测试使用,如身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏。是数据库安全技术之一。


**1、参数开关**

在启用数据编辑之前,需打开参数开关:redaction_policy。可通过命令行或直接修

改 conf 文件进行修改。命令行格式如下:

    alter system set redaction_policy to on;select pg_reload_conf();

    **2、测试步骤**

    创建测试用户:

      1、create user dzqzpassword 'Hello@123';2、create user sms password 'Hello@123';3、create user ruoyipassword 'Hello@123';

      在用户dzqz下创建测试表,并赋予sms、ruoyi的查询权限

        1.CREATE TABLE dzqz.student(2.id serial,3.name character varying(10),4.birthday timestamp without time zone,5.sex character(1),6.address character varying(50),7.tel character varying(13)8.email character varying(100),9.bankcard character varying(30)10.);11.insert into dzqz.student (id,name,birthday,sex,address,tel,email,bankcard) values12.('2','刘明','1985-01-23 00:00:00.0','1','河南省郑州郑西区花园小区11号','17789235146','17789235146@163.com','95599-80868-43587-5810');13.insert into dzqz.student (id,name,birthday,sex,address,tel,email,bankcard) values14.('3','郑霞','1985-10-23 00:00:00.0','0','河南省郑州管城区111号','13567890012','13567890012@126.com','62170-03860-00279-5290');15.insert into dzqz.student (id,name,birthday,sex,address,tel,email,bankcard) values16.('4','牛美丽','1986-04-23 00:00:00.0','0','重庆解放牌嘉陵西路200号','13987560029','13987560029@sina.com','62226-20590-00078-1124');17.insert into dzqz.student (id,name,birthday,sex,address,tel,email,bankcard) values18.('1','张立生','1986-01-23 00:00:00.0','1','河北省邯郸临漳区三台街道11号','13456789012','13456789012@qq.com','62111-62550-20091-8255');19.---赋权给sms和ruoyi用户20.grant select on table studenf to sms、ruoyi;

        查询数据结果为:


        **测试一:对name列进行脱敏处理**

        使用syssso用户设置策略,此策略只针对sms用户生效。

        此时切换到sms,查看效果,name列已经显示为带*号的密文了。

        再切换到ruoyi,查看效果,此时显示是明文的姓名。

        **测试二、对email列、bankcar列进行处理**

        这一回设置对用户ruoyi和sms都生效,仍然使用syssso设置策略


        用sms用户查看


        用ruoyi用户查看



        **3、修改策略**

        目前修改策略可使用以下几种方式:

        (1)ALTER REDACTION POLICY policyname MODIFY COLUMN colname USING func_name;

        修改当前策略中,列 colname 使用的数据编辑函数

        (2)ALTER REDACTION POLICY policyname RENAME TO policyname2;

        修改当前策略的名字

        (3)ALTER REDACTION POLICY policyname DISABLE/ENABLE;

        修改当前策略是否启用

        (4)ALTER REDACTION POLICY policyname DROP COLUMN colname;

        修改当前策略,删除掉其中的某一行数据编辑列

        (5)ALTER REDACTION POLICY policyname for (user = ‘username’);

        修改当前策略,增加数据编辑表达式

        (6)ALTER REDACTION POLICY policyname ADD COLUMN colname USING func_name

        修改当前策略,增加数据编辑列

        **4、删除策略**

        DROP REDACTION POLICY policynamelist

        例:

        (1)DROP REDACTION POLICY p1;

        删除数据编辑策略 p1

        (2)DROP REDACTION POLICY p1,p2;

        删除数据编辑策略 p1,p2

        **5、限制**

        1、创建策略只能使用 syssso 进行设定,其他用户无权限。

        2、一张表中只能创建一个策略

        3、一个列只能指定一个数据编辑函数


                                                                          **规则介绍**


        **1、函数列表**


        来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69994931/viewspace-2795789/,如需转载,请注明出处,否则将追究法律责任。

        请登录后发表评论 登录
        全部评论
        瀚高PG实验室(Highgo PG Lab)依托于瀚高DBA运维团队及瀚高数据库PG内核研发团队,旨在深入研究PostgreSQL技术、使用技巧、内核探秘、PG教学等,并进行分享。欢迎大家关注、交流。

        注册时间:2021-02-18

        • 博文量
          64
        • 访问量
          22956