PostgreSQL 安全管理 数据脱敏 Anonymizer 参数与配置

1 背景知识

该扩展有些选项,需要在 postgresql.confALTER 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';

注意不要泄露此参数的值,因为一旦被脱敏用户可以读取此值,他可以使用下面三个元素进行暴力破解从而得出真实数据。

  1. 脱敏后的数据
  2. 散列算法(见 anon.algorithm
  3. 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();