PostgreSQL 安全管理 数据脱敏 Anonymizer 自定义伪造数据
1 背景知识
Anonymizer 扩展提供一小部分伪造数据。对于每个 伪造函数 (fake_email(),fake_first_name())只提供1000 个唯一值,而且只有英文版数据。
接下来如何创建自己的假的数据集。
2 选择伪造数据包。
此插件提供一个伪造数据集。你可以下载数据集并加载到扩展程序中。
- 打开网页 https://gitlab.com/dalibo/postgresql_anonymizer/-/packages 。
- 点击 "data"。
- 选择的压缩文件下载到服务器上
- 解压至文件夹总(例如
/path/to/custom_csv_files/
) - 运行
SELECT anon.init('/path/to/custom_csv_files/')
3 生成自定义的伪造数据集
3.1 下载python脚本
下面这个python 脚本可以生成伪造数据集:
https://gitlab.com/dalibo/postgresql_anonymizer/-/blob/master/python/populate.py
3.2 python 脚本用法
制作5000 个以中文命名电子邮件地址:
populate.py --table email --locales zh_CN --lines 5000
populate.py --help 可以了解更多数据详情。
将会以 CSV 格式输出伪造数据。
3.3 将伪造数据进行导入
TRUNCATE anon.email;
COPY anon.email
FROM
PROGRAM 'populate.py --table email --locales fr,de --lines 5000';
SELECT setval('anon.email_oid_seq', max(oid))
FROM anon.email;
CLUSTER anon.email;
3.4 加载伪造数据
将伪造好的数据直接加载到扩展中:
TRUNCATE anon.email;
COPY anon.email
FROM
PROGRAM 'populate.py --table email --locales fr,de --lines 5000';
SELECT setval('anon.email_oid_seq', max(oid))
FROM anon.email;
CLUSTER anon.email;
Warning
本脚本只作为示例提供,官方不支持提供。
4 加载自己的伪造数据
如果你想使用自己的数据集,使用导入CSV 的方式导入。
SELECT anon.init('/path/to/custom_csv_files/')
5 使用 PostgreSQL Faker 扩展插件
如果你需要更高级的伪造数据,请参考高级伪造章节。