
数据脱敏背景及介绍
1.1数据库脱敏背景
1.2 数据脱敏介绍

图1:静态脱敏与动态脱敏
结果集解析:不改写发给数据库的语句,需要提前获悉数据表结构,待数据库返回结果后再根据表结构判断集合内哪些数据需要脱敏,并逐条改写结果数据。 语句改写:将包含敏感字段查询的语句改写,对于查询中涉及的敏感字段(表列)通过外层嵌套函数的方式改写,使得数据库运行查询语句时返回不包含敏感数据的结果集。
openGauss 动态数据脱敏解决方案
2.1 内置安全策略
2.2 动态数据脱敏核心思路
2.2.1 配置脱敏策略
脱敏方式,是指该脱敏策略使用何种方式对目标字段进行脱敏,目前openGauss预置了7种脱敏方式:creditcardmasking、 basicemailmasking、fullemailmasking、alldigitsmasking、shufflemasking、randommasking、maskall。分别适用于不同的脱敏场景。 脱敏对象,是指脱敏策略生效时作用的对象集合(LABEL),若查询目标字段存在于LABEL中,则该字段将会根据脱敏策略进行敏感数据脱敏,需要注意的是,openGauss动态数据脱敏特性支持对仅包含数据列的LABEL进行脱敏。 用户过滤器,指出脱敏策略在何种用户场景下生效,主要涉及USER(用户名)、APP(用户登录客户端名称)、IP(用户所处的ip)。当查询用户同时满足Masking Filter所指定的阈值时,数据脱敏策略才会生效。
1.数据准备
确认内置安全策略总开关是否开启。

准备两张包含敏感字段(creditcard、customername)的表。

2.策略配置

脱敏策略mask_card_pol:只有当用户“user1”在‘10.11.12.13’ip上使用gsql访问表时,标签creditcard_label中的列将按照‘creditcardmasking’方式脱敏。 脱敏策略mask_name_pol:默认对于所有查询用户,标签customer_label中的列将按照‘MASKALL’的方式脱敏。

2.2.2触发脱敏策略

图2:openGauss动态数据脱敏架构

而无论对于user1还是user2用户,他们查询order表时都会触发脱敏策略mask_name_pol,因此customername字段将会被脱敏处理。

openGauss动态数据脱敏优势

图3:openGauss根据过滤条件脱敏

图4:openGauss资源标签批量配置策略
openGauss 动态数据脱敏的展望

文章转载自Gauss松鼠会,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。






