时间:2021-07-15 | 标签: | 作者:Q8 | 来源:大象数据库网络
小提示:您能找到这篇{华为云:PostgreSQL如何实现特定列脱敏}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的华为云:PostgreSQL如何实现特定列脱敏内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您! |
< ">1 需求 < ">有些情况下,有些表的特定列含有敏感数据(如用户信息表中,用户手机号),自然,我们只想让“管理员”用户看到这些敏感数据,其他用户我们希望其看到“处理后的”—— 脱敏的数据。 < ">< font-size: 18px;">2 实现方案介绍 < ">方案1: 使用pg匿名化插件postgresql_anonymizer; < ">方案2: 使用视图进行脱敏; < ">2.1 方案1: 使用pg匿名化插件postgresql_anonymizer < ">(示例来自插件官方文档) -- 修改配置文件: shared_preload_libraries = 'pg_stat_statements, anon' -- 1. 创建并激活插件 CREATE EXTENSION IF NOT EXISTS anon CASCADE; SELECT anon.mask_init(); -- 2.声明屏蔽的用户 CREATE ROLE skynet; COMMENT ON ROLE skynet IS 'MASKED'; -- 3.声明屏蔽规则 COMMENT ON COLUMN people.name IS 'MASKED WITH FUNCTION anon.random_last_name()'; COMMENT ON COLUMN people.phone IS 'MASKED WITH FUNCTION anon.partial(phone,2,$$******$$,2)'; -- 4. 查询屏蔽敏感信息的用户 ! psql test -U skynet -c 'SELECT * FRO沈阳网店代运营M people;' id | name | phone -----+----------+------------ T800 | n3xtchen | 13******11 < ">2.2 方案2: 使用视图进行脱敏 < ">(示例来自本地开发环境) -- 1. 创建测试用户 create user root; create user normal_user; -- 2. 切换到root建表 & 视图 set role root; create table user_phone_number(id int, user_name name, phone_number name); insert into user_phone_number values(1, '张三', '12345678'); insert into user_phone_number values(1, '李四', '56781234'); create or replace view member_phone_number as SELECT S.id, S.user_name, substring(S.phone_number, 1,1) || '******' ||substring(S.phone_number, 8,8) as phone_number FROM user_phone_number AS S; -- 3. 回收表的权限,授予普通用户view权限 revoke all on user_phone_number from public; grant all on member_phone_number to normal_user; -- 4. 使用普通用户测试 reset ro中山网页开发le; set role normal_user; select * from user_phone_number; select * from member_phone_number; 结果如下: < ">< font-size: 18px;">3 优缺点比较 < "> 总的来看,喜欢“偷懒”、喜欢尝鲜的话,可以使用 postgresql_anonymizer 插件;但如果追求稳定,建议使用视图来实现。 < ">< font-size: 18px;">4 参考 1.PostgreSQL: 匿名化(Anonymizer)工具 官网:https://labs.dalibo.com/postgresql_anonymizer 2.PostgreSQL: 匿名化(Anonymizer)工具 官方文档: https://postgresql-anonymizer.readthedocs.io/en/stable/ |
上一篇:如何创建Twitter列表并用来营销?
下一篇:Facebook推广课程:教你Facebook最常用的广告方式
基于对传统行业渠道的理解,对互联网行业的渠道我们可以下这样一个定义:一切...
小米应用商店的后台操作和苹果是比较相似的,因为都能填写100字符关键词,允许...
小米的规则目前是在变更中的,但是根据经验小米的搜索排名评分的高低是个很重...
为了恰饭,有时候是要接入一些广告的,所以FB也专门有一个广告的SDK,这就是A...
在 2018 年于旧金山举行的游戏开发者大会上,Amazon Web Services (AWS) 曾宣布,目前世...
关于Facebook Audience Network如何收款的问题,其实官方已经给了详细的步骤。本文主要...
本文介绍了Audience Network对广告载体的质量检查,以及它重点广告形式需要注意的问...
随着iOS开发,作为开发者或公司需要针对iOS App开发涉及的方方面面作出对应的信息...
Facebook和谷歌对出海企业广告渠道都很熟悉,但事实上,在国外还有一些渠道也很...
卖家从做号的第1分钟开始,就一定要想好变现路径是什么?一定要以变现为目的去...
小提示:您应该对本页介绍的“华为云:PostgreSQL如何实现特定列脱敏”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通华为云:PostgreSQL如何实现特定列脱敏的相关事宜。
关键词:华为云:PostgreSQL如何实现