法国图尔,2022 年 9 月 28 日
PostgreSQL Anonymizer
是一个扩展,可以隐藏或替换 PostgreSQL 数据库中的个人身份信息 (PII) 或商业敏感数据。
该扩展支持 3 种不同的匿名化策略:动态掩码、静态掩码 和 匿名转储。它还提供多种掩码函数,例如替换、随机化、伪造、假名化、部分打乱、混洗、添加噪声和泛化。
GDPR 法规(以及其他隐私法律)引入了“默认数据保护”的概念。 简而言之,这意味着默认情况下,组织应确保以最高的隐私保护级别处理数据,从而默认情况下不向不确定数量的人员公开个人数据。
将此原则应用于匿名化,我们就得到了 `隐私默认保护` 的概念,其基本含义是,默认情况下,所有表的所有列都应被屏蔽,而无需为每个列声明屏蔽规则。
要启用此功能,只需将选项 `anon.privacy_by_default` 设置为 `on`。
ALTER DATABASE foo SET anon.privacy_by_default = True;
现在,`foo` 数据库的所有列都将使用列的默认值(如果已定义)或 NULL 进行匿名化。
注意:如果您的列声明为 `NOT NULL`,则必须为其定义一个默认值,否则在匿名化数据库时会发生约束冲突。
有关此功能的更多详细信息,请点击下方链接
https://postgresql-anonymizer.readthedocs.io/en/latest/privacy_by_default/
在 1.0 版本之前,pg_dump_anon 是一个 bash 脚本。 这个脚本不错而且简单。 但是在某些条件下,匿名备份并不一致。
现在有一个全新的 pg_dump_anon 版本(用 Golang 重写),它将始终生成一致的导出。
之前的脚本现已重命名为 pg_dump_anon.sh,并且仍然可用以向后兼容。 但它将在 2.0 版本中弃用。
https://postgresql-anonymizer.readthedocs.io/en/latest/anonymous_dumps/
该扩展 officially supported 在 PostgreSQL 9.6 及更高版本上。
在 Red Hat、CentOS 和 Rocky Linux 系统上,您可以直接从官方 PostgreSQL RPM 存储库安装它。
dnf install postgresql_anonymizer14
然后使用以下命令加载扩展
ALTER DATABASE foo SET session_preload_libraries = 'anon';
在数据库中创建扩展
CREATE EXTENSION anon CASCADE;
最后,初始化扩展
SELECT anon.init();
对于其他系统,请查看安装文档。
https://postgresql-anonymizer.readthedocs.io/en/latest/INSTALL/
此版本包括 Michel Pelletier、Gergő Rubint、Mahesh Moturu、Greg pringle、Christophe Courtois 以及其他 贡献者 的代码、错误修复、文档、代码审查和想法。
非常感谢他们的帮助和反馈。
PostgreSQL Anonymizer 是 Dalibo Labs 计划的一部分。主要由 Damien Clochard 开发。
这是一个开放的项目,欢迎贡献。我们需要您的反馈和想法!让我们知道您对这个工具的看法、它如何满足您的需求以及缺少哪些功能。
如果您想提供帮助,您可以在此处找到一份初级职位
列表。
https://gitlab.com/dalibo/postgresql_anonymizer/issues?label_name%5B%5D=Junior+Jobs