法國 Tour,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 開發。
這是一個開放專案,歡迎貢獻。我們需要您的回饋和想法!請告訴我們您對此工具的看法、它如何滿足您的需求以及缺少哪些功能。
如果您想提供幫助,可以在這裡找到 Junior Jobs
的列表
https://gitlab.com/dalibo/postgresql_anonymizer/issues?label_name%5B%5D=Junior+Jobs