法国埃穆捷 - 2026 年 2 月 11 日
Dalibo 发布了 PostgreSQL Anonymizer 3.0,这是我们隐私设计扩展的一个全新主要版本。
PostgreSQL Anonymizer 是一个用于隐藏或替换 PostgreSQL 数据库中个人身份信息(PII)或商业敏感数据的扩展。
该扩展提供 6 种不同的脱敏策略:
每种策略都配备了增强的脱敏函数套件,包括替换、随机化、伪造、假名化、部分混淆、洗牌、噪声添加和泛化等高级技术。
该扩展可以通过 Debian 和 RPM 软件包、Ansible Role、Docker 镜像等方式安装。您可以在大多数主流 DBaaS 提供商上使用它,包括:Alibaba Cloud、Crunchy Bridge、Google Cloud SQL、IBM Cloud、Microsoft Azure Database、Neon、Yandex。
它还可在一些 Postgres 分支上使用,如 EDB Advanced Postgres、Greenplum 和 Yugabyte。
更多详情请参阅文档的安装部分!
对于大型数据库,静态脱敏可能是一个耗时的操作。为了提高性能,该扩展支持使用 PostgreSQL 后台工作进程进行并行静态脱敏。
您可以使用并行版本代替 anon.anonymize_database():
sql
SELECT anon.anonymize_database_parallel(4);
参数指定要使用的并行工作进程数量。该函数将:
此功能由 Pierre-Marie Petit 添加。
当脱敏策略包含大量规则时,将它们作为一长串安全标签来维护可能会很困难。为了简化管理并帮助自动化脱敏规则的管理,现在可以通过以下函数以 JSON 格式导入和导出规则:
anon.export_current_database_rules(policy text DEFAULT 'anon')anon.export_roles_rules(policy text DEFAULT 'anon')anon.import_database_rules(database_rules jsonb, policy text DEFAULT 'anon')anon.import_roles_rules(role_rules jsonb, policy text DEFAULT 'anon'由于角色是实例级别的对象,它们必须单独管理。
此功能由 Benoit Lobreau 贡献。
3.0 版本包含了 2 个关键漏洞的修复,这些漏洞允许用户在特定情况下获取超级用户权限。在 PostgreSQL 14 以及从 PostgreSQL 14 及更早版本升级的实例上风险非常高。
所有用户应尽快将扩展升级到 3.0 版本。
如果无法快速升级,以下解决方法可以降低风险:
REVOKE CREATE ON SCHEMA public FROM PUBLIC;
DROP FUNCTION anon.get_tablesample_ratio(OID);
更多详情请参阅 issue 616(CVE-2026-2360)和 issue 617(CVE-2026-2361)。
这个主要版本带来了一系列不兼容变更,特别是:
anon.pg_masking_rules 视图已被 anon.{all|sys|user}_rules 替代升级说明请参阅文档中的升级部分。
此版本还包含了 Pierre-Marie Petit、Benoit Lobreau、Robin Portigliatti、Ludovic Gilbon 以及其他贡献者提供的代码、Bug 修复、文档、代码审查和建议。
我们要感谢 Efluid 的同仁们通过他们的想法、意见和测试给予的帮助。
同时特别感谢 PGRX 团队的出色工作!
PostgreSQL Anonymizer 是 Dalibo Labs 计划的一部分,主要由 Damien Clochard 开发。
这是一个开源项目,欢迎贡献。我们需要您的反馈和想法!请告诉我们您对这个工具的看法,它如何满足您的需求,以及还缺少哪些功能。
如果您想提供帮助,可以查看新手任务列表。