GreenmaskIO/greenmask
GitHub: GreenmaskIO/greenmask
一款专为 PostgreSQL 和 MySQL 设计的逻辑备份、数据脱敏与合成数据生成工具,旨在安全地将生产数据导入开发测试环境。
Stars: 1621 | Forks: 49
# [Greenmask](https://greenmask.io)
**Greenmask** 是一个强大的开源工具,用于逻辑数据库转储、脱敏、合成数据生成和恢复。专为 **PostgreSQL** 和 **MySQL**(开发中)设计,它是无状态的,并生成与 `pg_restore` 或 `mysqldump` 等标准工具兼容的逻辑备份。
[](https://discord.com/invite/rKBKvDECfd)
[](https://t.me/greenmask_ru)
[](https://twitter.com/GreenmaskIO)
[](https://docs.greenmask.io)
[](https://github.com/greenmaskio/greenmask/blob/main/LICENSE)
[](https://github.com/greenmaskio/greenmask/releases/latest)
[](https://somsubhra.github.io/github-release-stats/?username=greenmaskio&repository=greenmask&page=1&per_page=5)
[](https://hub.docker.com/r/greenmask/greenmask)
[](https://goreportcard.com/report/github.com/greenmaskio/greenmask)

## 支持的数据库
* **PostgreSQL**:完全支持(生产就绪)。
* **MySQL**:[开发中 (Beta)](https://github.com/GreenmaskIO/greenmask/issues/222)。
## 主要特性
* **[数据库子集划分](https://docs.greenmask.io/latest/database_subset/)**:创建更小的、引用完整的开发数据库,支持循环引用和多态引用。
* **存储无关性**:支持本地目录和 S3 兼容存储(AWS S3、MinIO、GCS、Azure 等),实现灵活的备份管理。
* **[确定性转换](https://docs.greenmask.io/latest/built_in_transformers/transformation_engines/#hash-engine)**:使用哈希函数进行可重现的数据脱敏,确保相同的输入产生一致的输出。
* **[动态参数](https://docs.greenmask.io/latest/built_in_transformers/dynamic_parameters/)**:转换器可以根据其他列的值进行调整,以保持逻辑一致性(例如 `created_at < updated_at`)。
* **[转换条件](https://docs.greenmask.io/latest/built_in_transformers/transformation_condition/)**:仅在满足特定条件时应用转换,允许在表或转换器范围内使用条件逻辑。
* **无状态且兼容**:作为逻辑转储代理运行。转储文件与 `pg_restore` 兼容。
* **[转换继承](https://docs.greenmask.io/latest/built_in_transformers/transformation_inheritance/)**:通过自动将转换应用于分区表和外键引用来消除冗余。
* **数据库类型安全**:通过使用原生数据库驱动程序进行所有编码和解码操作来确保数据完整性。
* **[可扩展](https://docs.greenmask.io/latest/built_in_transformers/standard_transformers/cmd/)**:使用任何编程语言实现特定领域的转换,或使用[预定义模板](https://docs.greenmask.io/latest/built_in_transformers/advanced_transformers/)。
* **跨平台**:单一二进制文件,可在任何地方运行。
## 使用场景
* **敏感数据清洗**:对预发布、分析和测试环境的 PII(个人身份信息)进行脱敏、转换和掩码处理,确保合规性和安全性。
* **备份与恢复**:`pg_dump`/`pg_restore` 和 `mysqldump` 的稳健替代品,轻松处理 schema 和数据。
* **本地开发**:快速为开发者启动轻量级、引用完整的生产数据库子集。
* **合成数据生成**:使用 [CMD 转换器](https://docs.greenmask.io/latest/built_in_transformers/standard_transformers/cmd/)和[自定义转换](https://docs.greenmask.io/latest/built_in_transformers/standard_transformers/cmd/),从零开始生成逼真的测试数据以填充空环境。
## 快速开始
使用示例数据库和预配置的转换尝试沙箱环境:
```
git clone git@github.com:GreenmaskIO/greenmask.git && cd greenmask
docker-compose run greenmask
```
有关更多详细信息,请访问[文档](https://docs.greenmask.io)或[演练场](https://docs.greenmask.io/latest/playground/)。
## 赞助商
## 技术支持
[](https://jb.gg/OpenSource)
## 技术支持
[](https://jb.gg/OpenSource)标签:CISA项目, EVTX分析, GDPR, Go语言, PostgreSQL, 二进制发布, 合成数据生成, 开发测试数据, 开源工具, 敏感数据保护, 数据匿名化, 数据备份, 数据子集, 数据库工具, 数据混淆, 数据脱敏, 数据转储, 数据隐私, 日志审计, 测试用例, 漏洞探索, 程序破解, 请求拦截