法国图尔,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/
此扩展正式支持 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