Gonymizer 使用指南
1. 项目目录结构及介绍
Gonymizer 是一个用于 PostgreSQL 数据库敏感数据匿名化的工具,基于 Golang 开发。下面是 Gonymizer 项目的一个基本目录结构概述及其重要组成部分说明:
gonymizer/
├── bin # 构建生成的二进制文件存放目录
│ ├── gonymizer-darwin # macOS 平台的二进制执行文件
│ └── gonymizer-linux # Linux 平台的二进制执行文件
├── cmd # 包含主要的命令行入口文件,如 gonymizer 的主程序文件
│ └── main.go # 主程序,负责接收命令行参数并调用相应功能
├── config # 可能包含示例配置文件或相关的默认配置设置
├── scripts # 脚本文件夹,包含了构建脚本等辅助运行脚本
│ └── /build.sh # 用于编译生成二进制文件的脚本
├── docs # 文档目录,可能包含用户手册、教程等
│ └── demo # 示例配置和演示数据
└── README.md # 项目的主要读我文件,包含简介和快速开始信息
2. 项目的启动文件介绍
Gonymizer 的启动依赖于在 cmd/main.go
中定义的主函数。用户不需要直接操作这个文件来启动 Gonymizer,而是通过命令行接口(CLI)。构建完成后,会在 bin/
目录下生成对应的可执行文件,例如 gonymizer-darwin
或 gonymizer-linux
,用户通过执行这些二进制文件来启动 Gonymizer,并通过命令行参数指定配置和操作。
启动示例(假设已将二进制文件添加至PATH):
gonymizer --config=path/to/config.json
3. 项目的配置文件介绍
Gonymizer 支持多种配置格式,包括 JSON、YAML 和 TOML。配置文件控制着整个数据匿名化过程的关键设置,如数据库连接信息、数据映射规则、工作线程数等。一个基础的配置文件例子展示如下(以 JSON 格式为例):
{
"comment": "此配置示例展示基本设置",
"num-workers": 4, // 工作线程数
"dump": [
{
"database": "your_database", // 目标数据库名
"host": "localhost", // 数据库主机地址
"port": 5432, // 数据库端口
"username": "db_user", // 数据库用户名
"password": "secure_password", // 数据库密码(在实际应用中应避免硬编码)
"dump-file": "dump.sql", // 导出的SQL文件名称
"exclude-schema": ["schema_to_exclude"], // 要排除的模式列表
...
}
],
"log-level": "info" // 日志级别
}
配置文件允许用户详细定制匿名化过程,例如通过映射文件指定如何转换特定表中的字段,使用不同的策略如替换、加密或随机化数据而不破坏表的结构完整性。这些配置通过命令行参数指向,使得每次执行可以具有针对性地匿名化不同的数据库结构或根据具体测试需求调整行为。
请注意,实际部署时,要确保敏感信息(如数据库密码)的安全处理,不建议直接写入配置文件。可以通过环境变量或其他安全机制管理这些信息。