數(shù)據(jù)脫敏是一種廣泛采用的保護敏感數(shù)據(jù)(如信用卡,社保卡,地址等信息)的方法。脫敏數(shù)據(jù)不僅僅是為了保護你和客戶的數(shù)據(jù)安全,在一些情況下,法律也有相應(yīng)要求,最著名的例子就是 GDPR。 市面上也有各種不同的數(shù)據(jù)脫敏方法,例如遮擋,替換,洗牌和加密,適用于不同場景。通過對敏感數(shù)據(jù)進行脫敏處理,組織能夠降低數(shù)據(jù)泄露和未經(jīng)授權(quán)訪問的風(fēng)險,同時仍然能夠使用真實數(shù)據(jù)進行開發(fā)、測試和分析等任務(wù)。 本文來盤點一下 PostgreSQL 的幾種常用脫敏方式。
PostgreSQL Anonymizer
PostgreSQL Anonymizer 是個社區(qū)貢獻的擴展 (https://www.postgresql.org/about/news/postgresql-anonymizer-10-privacy-by-design-for-postgres-2452/),可以為 PostgreSQL 添加不同的數(shù)據(jù)脫敏選項和方法。它將脫敏配置存儲在 PostgreSQL 的 SECURITY LABEL(安全標(biāo)簽)中。
動態(tài)脫敏
PostgreSQL Anonymizer 實現(xiàn)動態(tài)脫敏的方式是通過將定義某個角色為 "MASKED" 以及脫敏規(guī)則。被授予 "MASKED" 角色的用戶將無法訪問原始數(shù)據(jù),而其他角色仍然可以訪問。它現(xiàn)已支持多種的脫敏語法,你甚至可以編寫自己的規(guī)則。 這種方法有一定的局限性,例如在他們文檔中 (https://postgresql-anonymizer.readthedocs.io/en/latest/dynamic_masking/#limitations) 有提到,如果你同時使用脫敏插件和 GUI 工具如 DBeaver 或 pgAdmin 進行查詢的時候可能會出現(xiàn)問題;對于某些查詢來說,動態(tài)脫敏可能非常慢。此外,不同的脫敏變體需要不同的視圖,在角色或底層表發(fā)生變化時,這又很快變得難以管理起來。
靜態(tài)脫敏
PostgreSQL Anonymizer 還支持靜態(tài)脫敏,可以直接轉(zhuǎn)換原始數(shù)據(jù)集。比如可以用虛假數(shù)據(jù)替換原始數(shù)據(jù),添加噪音或者混淆數(shù)據(jù)以隱藏敏感信息。 靜態(tài)脫敏的原則是更新包含至少一個被脫敏列的所有表的所有行。基本上意味著 PostgreSQL 將重寫磁盤上的所有數(shù)據(jù)。所以請注意,這種方法會破壞原始數(shù)據(jù),并且是一個比較緩慢的過程。因此,在使用靜態(tài)脫敏之前,請三思而后行。
Bytebase 動態(tài)數(shù)據(jù)脫敏
Bytebase 動態(tài)數(shù)據(jù)脫敏 (https://www.bytebase.com/docs/security/data-masking/overview/)不依賴于 PostgreSQL 視圖或其用戶,而是通過 Bytebase 內(nèi)部管理脫敏策略和授權(quán)管理。當(dāng)用戶通過 SQL 編輯器查詢時,會自動應(yīng)用動態(tài)脫敏策略。 Bytebase 動態(tài)數(shù)據(jù)脫敏包括以下組件:
全局脫敏規(guī)則:工作空間的「管理員」和「DBA」可以批量定義全局脫敏規(guī)則。例如,可以將所有名為 email 的列脫敏程度設(shè)置為「半脫敏」。這樣,修改脫敏策略就無需手動修改數(shù)千列了,還節(jié)省了維護視圖的麻煩。
列脫敏規(guī)則:工作空間的「管理員」和「DBA」可以將列設(shè)置為不同的脫敏級別。列脫敏規(guī)則優(yōu)先于全局脫敏規(guī)則。
訪問未脫敏數(shù)據(jù):對于脫敏數(shù)據(jù),工作空間的「管理員」和「DBA」可以授予特定用戶訪問未脫敏數(shù)據(jù)的權(quán)限。
工作空間的「管理員」和「DBA」均為 Bytebase 的角色 (https://www.bytebase.com/docs/concepts/roles-and-permissions/)。
對比
PostgreSQL Anonymizer 的優(yōu)勢在于它是在數(shù)據(jù)庫本身中實現(xiàn)的。因此,無論查詢?nèi)绾伟l(fā)送到數(shù)據(jù)庫,數(shù)據(jù)脫敏規(guī)則都會被強制執(zhí)行。對于 Bytebase 動態(tài)數(shù)據(jù)脫敏,查詢必須通過 SQL 編輯器才會強制執(zhí)行。 Bytebase 動態(tài)數(shù)據(jù)脫敏的優(yōu)勢在于其與所有 PostgreSQL 發(fā)行版都兼容,且支持細粒度的脫敏策略和訪問權(quán)限。只要團隊通過 Bytebase SQL 編輯器來查詢數(shù)據(jù)庫,那么 Bytebase 動態(tài)數(shù)據(jù)脫敏可以保障組織敏感數(shù)據(jù)的安全。
審核編輯:黃飛
-
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3794瀏覽量
64360 -
postgresql
+關(guān)注
關(guān)注
0文章
21瀏覽量
211
原文標(biāo)題:PostgreSQL數(shù)據(jù)脫敏方式盤點
文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論