首页 / 资讯中心 / 文章详情

PostgreSQL必装扩展推荐:开源数据脱敏工具PostgreSQL Anonymizer

PostgreSQL必装扩展推荐:开源数据脱敏工具PostgreSQL Anonymizer ★ FEATURED ARTICLE
PostgreSQL Anonymizer 是一个由 Dalibo 开发维护的开源 PostgreSQL 数据脱敏Data Masking与匿名化扩展插件专门用于隐藏、替换或伪造数据库中的个人敏感信息PII和商业敏感数据帮助企业满足 GDPR、HIPAA、个人信息保护法等数据合规要求。PostgreSQL Anonymizer 基于 Rust 语言开发遵循 PostgreSQL 开源协议代码托管在 GitLabhttps://gitlab.com/dalibo/postgresql_anonymizer功能特性声明式数据脱敏PostgreSQL Anonymizer 采用声明式设计思想可以直接在数据库对象上定义脱敏策略而不需要额外编写复杂脚本。例如CREATETABLEplayer(idSERIAL,nameTEXT,total_pointsINT,highest_scoreINT);INSERTINTOplayerVALUES(1,Kareem Abdul-Jabbar,38387,55),(5,Michael Jordan,32292,69);SECURITY LABELFORanonONCOLUMNplayer.nameISMASKED WITH FUNCTION anon.fake_last_name();SECURITY LABELFORanonONCOLUMNplayer.idISMASKED WITH VALUE NULL;开发人员通过 SQL 即可描述哪些字段需要匿名化、采用什么规则处理。这种方式让脱敏规则可以与数据库 Schema 一起管理便于版本控制和自动化部署。丰富的脱敏函数PostgreSQL Anonymizer 内置了大量用于数据匿名化和伪造的函数包括随机化Randomization、伪数据生成Faking、数据替换Substitution、伪匿名化Pseudonymization、部分打码Partial Scrambling、数据洗牌Shuffling、噪声注入Noise Addition和泛化Generalization等内置算法同时用户也可以扩展自定义脱敏函数。静态脱敏Static Masking 是一种永久性数据匿名化方案它会根据预先定义的脱敏规则直接修改数据库中的敏感数据将真实姓名、邮箱、手机号、身份证号等信息替换为伪造或匿名化后的内容。注意静态脱敏会彻底覆盖原始数据。动态脱敏Dynamic Masking 是一种实时数据保护机制它不会修改数据库中的原始数据而是在查询返回结果时根据用户角色和权限动态应用脱敏规则让授权用户看到真实数据、受限用户看到匿名化后的内容。脱敏导出Anonymous Dumps 是一项非常实用的功能它能够在数据导出过程中自动应用已定义的脱敏规则生成不包含真实敏感信息的数据库备份文件。与传统方式需要先复制数据库再进行脱敏不同PostgreSQL Anonymizer 可以直接与 PostgreSQL 的导出工具协同工作将姓名、邮箱、手机号等隐私数据替换为匿名化内容后再导出。脱敏复制Replica Masking 是一种面向数据库复制场景的匿名化机制它能够在构建逻辑复制或者副本数据库时自动对敏感数据执行脱敏处理使目标库仅保留匿名化后的数据而生产库中的真实数据始终不受影响。脱敏视图Masking Views 是一种基于视图的数据保护机制它允许在不修改原始表数据的前提下创建仅展示脱敏结果的数据库视图。相比直接开放原始表脱敏视图既保留了数据查询和分析能力又降低了隐私泄露风险非常适合报表分析、数据共享、只读访问以及跨部门协作等场景。跨源脱敏Masking Data Wrappers 是一种跨数据源脱敏机制它将 PostgreSQL 的外部数据访问能力与匿名化策略结合起来使得来自外部数据库、远程表或异构数据源的数据在被访问时即可自动应用脱敏规则。这样用户和应用系统无需接触原始敏感信息就能安全地查询和使用外部数据实现隐私保护能力从 PostgreSQL 数据库扩展到更广泛的数据生态特别适用于数据集成、数据共享、联邦查询和跨系统分析等场景。安装部署PostgreSQL Anonymizer 是一个 PostgreSQL 扩展需要先安装扩展包然后 PostgreSQL 实例中启用。官方提供了 Linux、Windows、Docker、Ansible 等多种部署方式同时支持多个云数据库平台。使用 Docker 进行快速部署体验的命令如下dockerrun-d\--namepg_anon\-ePOSTGRES_PASSWORDpostgres\-p5432:5432\registry.gitlab.com/dalibo/postgresql_anonymizer然后连接数据库dockerexec-itpg_anon psql-Upostgres容器中已经创建并完成了插件的初始化直接使用即可# SELECT anon.partial_email(daamiengmail.com);partial_email-----------------------da******gm******.com(1row)官方文档https://postgresql-anonymizer.readthedocs.io/en/stable/
阅读完成 · 觉得有帮助?
咨询建站