瀚高数据库
postgresql_anonymizer是对数据库中的个人识别信息或商业敏感数据进行屏蔽或替换的扩展。
postgresql_anonymizer是对数据库中的个人识别信息或商业敏感数据进行屏蔽或替换的扩展。该扩展使用标准sql语句定义规则,内置多种屏蔽规则函数。依据定义的规则有3中使用方式
Anonymous Dumps : 将屏蔽数据导出到SQL文件中
Static Masking : 根据规则移除替换敏感数据(此方法慎用,避免数据被替换而造成丢失。)
Dynamic Masking : 依据规则屏蔽隐藏敏感数据
支持多种安装方式,包括rpm,pgxn,docker等。建议使用源码安装方式。
下载,编译
配置加载扩展
创建扩展
初始化扩展
用于声明屏蔽规则的函数必须位于指定的模式内,默认是pg_catalog和anon
声明屏蔽规则,数据屏蔽规则仅通过使用security labels来声明
共8种。参考官方文档描述 Masking Functions
Destruction
Adding Noise #是数据进行一定幅度的变化。对于数值和日期,Adding Noise通常很有趣
Randomization
Faking #使用随机但看似合理的数据替换敏感数据。对于姓名和其他“直接标识符”,Faking通常很有用
Advanced Faking
Pseudonymization
Generic Hashing
Partial scrambling #对部分数据进行遮挡。非常适合用于电子邮件地址和电话号码
Generalization
示例:
Faking
Adding Noise
Partial scrambling
永久删除敏感数据
注意,数据会被替换,适用于测试数据脱敏。
对“屏蔽”用户隐藏敏感数据
动态屏蔽使用限制
drop表需要使用CASCADE
psql命令\dt 无法显示被屏蔽表信息
只能屏蔽一个schema模式下的数据,默认是public,可修改为其他shema,但只能屏蔽一个模式
会使查询性能非常低,特别是join表时
使用图形化工具是,访问屏蔽表信息会报错,ERROR: permission denied for table foo
由于屏蔽设置,不能使用pg_dump导出数据。需要使用pg_dump_anon.sh
8. 相关字典试图
pg_seclabels
pg_seclabel
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69994931/viewspace-2930691/ ,如需转载,请注明出处,否则将追究法律责任。