文档:
pgEdge 匿名化工具是一个命令行工具,用于对 PostgreSQL 数据库中个人身份信息(PII)进行匿名化处理。该工具将敏感数据替换为可用于开发和测试的真实虚假值,同时保持数据一致性和参照完整性。
匿名化工具可让你通过三个步骤创建保留 Postgres 数据库形状和完整性的实验数据集:
pgedge-anonymizer 以转换你的列。在运行 pgedge-anonymizer 之前,你需要创建一个名为 pgedge-anonymizer.yaml 的配置文件;该文件应包含:
database 部分,包含数据库的连接详细信息。columns 部分,列出你想要匿名化的完全限定列(格式为 schema_name.table_name.column_name)。patterns 属性,指定替换内容的形式。例如:
database:
host: localhost
port: 5432
database: myapp
user: anonymizer
columns:
- column: public.users.email
pattern: EMAIL
- column: public.users.phone
pattern: US_PHONE
- column: public.users.ssn
pattern: US_SSN
创建配置文件后,运行匿名化工具:
pgedge-anonymizer run
查看 pgedge-anonymizer 运行时显示的更改列表及统计信息:
Processing public.users.email (est. 50000 rows)...
10000 rows processed
20000 rows processed
30000 rows processed
40000 rows processed
50000 rows processed
Completed: 50000 rows, 48234 values anonymized
=== Anonymization Statistics ===
Total columns processed: 1
Total rows processed: 50000
Total values anonymized: 48234
Total duration: 2.34s
Throughput: 21367 rows/sec
前提条件
使用以下命令构建 pgedge-anonymizer:
make build # 构建二进制文件
使用以下命令运行匿名化工具测试套件:
make test
使用以下命令运行 Go Linter:
make lint
使用以下命令格式化代码:
make fmt
本项目遵循 PostgreSQL 许可证。