PostgreSQL 安全管理 数据脱敏 Anonymizer 参数与配置
1 背景知识
该扩展有些选项,需要在 postgresql.conf 或 ALTER SYSTEM 命令中定义。
只有超级用户才能更改以下参数。
2 anon.algorithm
type | Text |
---|---|
Default value | 'sha256' |
Visible | onely to superusers |
此参数用于设定假名化(pseudonymizing)函数的哈希散列方法,支持的选项请查看 pgcrypto documentation (postgresql.org)。
请参阅 anon.salt
,了解为什么此参数是非常敏感的信息。
3 anon.maskschema
Type | Text |
---|---|
Dfault value | 'mask' |
Visible | to all users |
此参数用于指定动态脱敏 的默认生效模式。
4 anon.restrict_to_trusted_schemas
Type | Boolean |
---|---|
Default value | off |
Visible | to all users |
此参数指定是否能够使用除了 anon
模式以外的脱敏函数。开启此参数后只信任 anon
模式。
此参数可以防止用户使用自定义的脱敏函数,从而提高脱敏安全性。
对于更多情况,请查看自定义脱敏函数 。
5 anon.salt
Type | Text |
---|---|
Default value | (empty) |
Visible | only to superusers |
此参数用于假名化(pseudonymizing)。对于每个数据库都应该定义一个不同的值,如下所示:
ALTER DATABASE foo SET anon.salt = 'This_Is_A_Very_Secret_Salt';
注意不要泄露此参数的值,因为一旦被脱敏用户可以读取此值,他可以使用下面三个元素进行暴力破解从而得出真实数据。
- 脱敏后的数据
- 散列算法(见
anon.algorithm
) - salt 。
散列算法和salt 应该受到数据库安全级别的保护。不应该泄露。
6 anon.sourceshema
Type | Text |
---|---|
Deault | 'public' |
Visible | to all users |
动态脱敏引擎指定那个模式,也称之为命名空间。
可以在动态脱敏前更改此参数值。
ALTER DATABASE foo SET anon.sourceschema TO 'my_app';
然后重新启动动态脱敏引擎。
SELECT start_dynamic_masking();