云数据库 GAUSSDB-CREATE MASKING POLICY:示例
时间:2024-11-13 14:45:29
示例
- 创建使用maskall的脱敏策略(将字符串类型的所有值脱敏为x,其它几种类型显示为该类型的默认值)。
--创建一个表tb_for_masking。 gaussdb=# CREATE TABLE tb_for_masking(idx int, col1 text, col2 text, col3 text, col4 text, col5 text, col6 text, col7 text,col8 text); --给表tb_for_masking插入数据。 gaussdb=# INSERT INTO tb_for_masking VALUES(1, '9876543210', 'usr321usr', 'abc@huawei.com', 'abc@huawei.com', '1234-4567-7890-0123', 'abcdef 123456 ui 323 jsfd321 j3k2l3', '4880-9898-4545-2525', 'this is a llt case'); --查看数据。 gaussdb=# SELECT * FROM tb_for_masking; idx | col1 | col2 | col3 | col4 | col5 | col6 | col7 | col8 -----+------------+-----------+----------------+----------------+---------------------+------------------------------- ------+---------------------+-------------------- 1 | 9876543210 | usr321usr | abc@huawei.com | abc@huawei.com | 1234-4567-7890-0123 | abcdef 123456 ui 323 jsfd321 j 3k2l3 | 4880-9898-4545-2525 | this is a llt case (1 row) --创建资源标签标记敏感列col1。 gaussdb=# CREATE RESOURCE LABEL mask_lb1 ADD COLUMN(tb_for_masking.col1); --创建一个名为maskpol1的脱敏策略。 gaussdb=# CREATE MASKING POLICY maskpol1 maskall ON LABEL(mask_lb1); --访问tb_for_masking表,col1列触发脱敏策略。 gaussdb=# SELECT col1 FROM tb_for_masking; col1 ------------ xxxxxxxxxx (1 row)
- 创建使用randommasking的脱敏策略(将字符串类型的值脱敏为随机数字,并且每次都是不同的值)。
--创建资源标签标记敏感列col2。 gaussdb=# CREATE RESOURCE LABEL mask_lb2 ADD COLUMN(tb_for_masking.col2); --创建一个名为maskpol2的脱敏策略。 gaussdb=# CREATE MASKING POLICY maskpol2 randommasking ON LABEL(mask_lb2); --访问tb_for_masking表,col2列触发脱敏策略。 gaussdb=# SELECT col2 FROM tb_for_masking; col2 ----------- 0e8612d9a (1 row)
- 创建使用basicemailmasking的脱敏策略(将字符串类型邮箱格式值@符号之前的所有数据内容设为x)。
--创建资源标签标记敏感列col3。 gaussdb=# CREATE RESOURCE LABEL mask_lb3 ADD COLUMN(tb_for_masking.col3); --创建一个名为maskpol3的脱敏策略。 gaussdb=# CREATE MASKING POLICY maskpol3 basicemailmasking ON LABEL(mask_lb3); --访问tb_for_masking表,col3列触发脱敏策略。 gaussdb=# SELECT col3 FROM tb_for_masking; col3 ---------------- xxx@huawei.com (1 row)
- 创建使用fullemailmasking的脱敏策略(将字符串类型邮箱格式值仅保留@符号和邮箱dot结尾,其余全部设为x)。
--创建资源标签标记敏感列col4。 gaussdb=# CREATE RESOURCE LABEL mask_lb4 ADD COLUMN(tb_for_masking.col4); --创建一个名为maskpol4的脱敏策略。 gaussdb=# CREATE MASKING POLICY maskpol4 fullemailmasking ON LABEL(mask_lb4); --访问tb_for_masking表,col4列触发脱敏策略。 gaussdb=# SELECT col4 FROM tb_for_masking; col4 ---------------- xxx@xxxxxx.com (1 row)
- 创建使用creditcardmasking的脱敏策略(将字符串类型的值保留连接符号-和末尾4位数字,其余全部设为x)。
--创建资源标签标记敏感列col5。 gaussdb=# CREATE RESOURCE LABEL mask_lb5 ADD COLUMN(tb_for_masking.col5); --创建一个名为maskpol5的脱敏策略。 gaussdb=# CREATE MASKING POLICY maskpol5 creditcardmasking ON LABEL(mask_lb5); --访问tb_for_masking表, col5列触发脱敏策略。 gaussdb=# SELECT col5 FROM tb_for_masking; col5 --------------------- xxxx-xxxx-xxxx-0123 (1 row)
- 创建使用shufflemasking的脱敏策略(将字符串类型的值交换位置,打乱顺序)。
--创建资源标签标记敏感列col6。 gaussdb=# CREATE RESOURCE LABEL mask_lb6 ADD COLUMN(tb_for_masking.col6); --创建一个名为maskpol6的脱敏策略。 gaussdb=# CREATE MASKING POLICY maskpol6 shufflemasking ON LABEL(mask_lb6); --访问tb_for_masking表, col6列触发脱敏策略。 gaussdb=# SELECT col6 FROM tb_for_masking; col6 ------------------------------------- 2 b6jusfd54c3312 13d23lk3jf3 2eai (1 row)
- 创建使用regexpmasking的脱敏策略(将字符串类型的值进行正则表达式脱敏)。
--创建资源标签标记敏感列col7。 gaussdb=# CREATE RESOURCE LABEL mask_lb7 ADD COLUMN(tb_for_masking.col7); --创建一个名为maskpol7的脱敏策略。 gaussdb=# CREATE MASKING POLICY maskpol7 regexpmasking('[\d+]','*',2, 9) ON LABEL(mask_lb7); --访问tb_for_masking表,col7列触发脱敏策略。 gaussdb=# SELECT col7 FROM tb_for_masking; col7 --------------------- 48**-****-*545-2525 (1 row)
- 创建仅对用户dev_mask和bob_mask,客户端工具为gsql,IP地址为'172.31.17.160', '127.0.0.0/24'场景下生效的脱敏策略。
--创建dev_mask和bob_mask用户。 gaussdb=# CREATE USER dev_mask PASSWORD '********'; gaussdb=# CREATE USER bob_mask PASSWORD '*********'; --创建资源标签标记敏感列col8。 gaussdb=# CREATE RESOURCE LABEL mask_lb8 ADD COLUMN(tb_for_masking.col8); --创建一个名为maskpol8的脱敏策略。 gaussdb=# CREATE MASKING POLICY maskpol8 randommasking ON LABEL(mask_lb8) FILTER ON ROLES(dev_mask, bob_mask), APP(gsql), IP('172.31.17.160', '127.0.0.0/24'); --访问tb_for_masking表,col8列触发脱敏策略。 gaussdb=# SELECT * FROM tb_for_masking; --使用gsql工具,IP地址为'172.31.17.160',用户dev_mask查看tb_for_masking。 gaussdb=# GRANT ALL PRIVILEGES TO dev_mask; --使用maskpol8脱敏,结果随机,每次不同。 gaussdb=# SELECT col8 FROM tb_for_masking; col8 -------------------- cf32a9aa427f219ab0 (1 row) gaussdb=# SELECT col8 FROM tb_for_masking; col8 -------------------- 13efa056dda1e1a474 (1 row)
- 删除数据。
--删除脱敏策略。 gaussdb=# DROP MASKING POLICY maskpol1, maskpol2, maskpol3, maskpol4, maskpol5, maskpol6, maskpol7, maskpol8; --删除资源标签。 gaussdb=# DROP RESOURCE LABEL mask_lb1, mask_lb2, mask_lb3, mask_lb4, mask_lb5, mask_lb6, mask_lb7, mask_lb8; --删除表tb_for_masking。 gaussdb=# DROP TABLE tb_for_masking; --删除用户dev_mask和bob_mask。 gaussdb=# DROP USER dev_mask, bob_mask;
support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-0554.html
看了此文的人还看了
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格
推荐文章