将动态掩蔽与 Aurora PostgreSQL 结合使用
动态数据掩蔽是一项安全功能,可通过控制数据在查询时向用户显示的方式来保护 Aurora PostgreSQL 数据库中的敏感数据。Aurora 通过 pg_columnmask 扩展实现此项功能。pg_columnmask 提供列级别数据保护,以便为 PostgreSQL 的原生行级安全性和精细访问控制机制提供补充。
使用 pg_columnmask,您可以创建掩蔽策略,以便根据用户角色确定数据可见性。当用户使用掩蔽策略查询表时,Aurora PostgreSQL 会在查询时根据用户的角色和策略权重来应用相应的掩蔽函数。底层数据在存储中保持不变。
pg_columnmask 支持以下功能:
-
内置和自定义掩蔽函数:使用预先构建的函数来处理电子邮件和文本掩蔽等常见模式,或者创建自己的自定义函数,以通过基于 SQL 的掩蔽策略保护敏感数据(PII)。
-
多种掩蔽策略:完全隐藏信息、用通配符替换部分值或定义自定义掩蔽方法。
-
策略优先级:为单个列定义多个策略。使用权重来确定当多个策略应用于某个列时,应使用哪个掩蔽策略。Aurora PostgreSQL 根据权重和用户角色成员资格应用策略。
pg_columnmask 在 Aurora PostgreSQL 版本 16.10 及更高版本以及版本 17.6 及更高版本上可用。它不会产生额外的成本。