PostgreSQL 安全管理 数据脱敏 Anonymizer 简介
1 背景知识
PostgreSQL Anonymizer
是一个扩展插件,用于掩盖或替换 PostgreSQL 数据库中的个人可识别信息或商业敏感数据,简单来讲来讲是一种脱敏工具。
1.1 数据脱敏的适用场景
迁移场景 数据迁移至 PostgreSQL 数据库后,进行功能测试、性能测试、安全测试时,脱敏可以防止测试环境的权限体系不完善而造成的数据泄露,从而减少在项目工程中出现的安全问题。
测试场景 数据脱敏可以制造伪部分数据用于测试环境的验证(这里的伪数据是指具有一定的真实性的数据)。
测试验证 开发人员需要通过查看数据变化进而验证程序功能和流程的正确性,但又不能对开发人员展示真实数据。。
这里举个例子,用户在银行 APP
上查询个人信息时,使用 Anonymizer 可以隐藏身份证信息中间几位数字,防止身份证信息意外泄露。
2 脱敏种类
PostgreSQL Anonymizer
可以对数据进行三种脱敏方式,分别是:
3 脱敏函数
此插件还提供各式各样的脱敏函数用于不同的场景的脱敏需求,读者可以参考官方文档 选取合适的函数:
- 随机脱敏(randomization)
- 伪造脱敏(faking)
- 部分脱敏(partial scrambling)
- 顺序错乱脱敏(shuffling)
- 噪音脱敏(noise)
除了脱敏(Masking) 这种方法,还可以在数据分析与统计中使用泛化函数。
最后,这个扩展还提供了一个 detection 函数,用于探测表中那一列可能需要脱敏。
4 安装与配置
Anonymizer 安装与配置
Anonymizer 参数与配置
5 脱敏规则与函数
Anonyimizer 脱敏规则
Anonymizer 脱敏函数
Anonymizer 泛化脱敏(Generalization)
Anonymizer 默认策略脱敏(Privacy By Default)
Anonymizer 抽样脱敏(Privacy By Default)
Anonymizer 自动脱敏(Searching for Identifiers)
Anonymizer 自定义伪造数据
Anonymizer 术语
6 参考链接
Dalibo Labs
PostgreSQL Anonymizer (postgresql-anonymizer.readthedocs.io)