配置掩蔽策略管理角色 - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

配置掩蔽策略管理角色

PostgreSQL 列掩蔽扩展 pg_columnmask 支持您将掩蔽策略的管理委托给特定角色,而不是要求 rds_superuser 或表所有者权限。这样就可以更精细地控制谁可以创建、更改和删除掩蔽策略。

要配置将具有掩蔽策略管理权限的角色,请执行以下步骤:

  1. 创建策略管理员角色:作为 rds_superuser,创建一个负责管理掩蔽策略的新角色:

    CREATE ROLE mask_admin NOLOGIN;
  2. 配置 PostgreSQL 参数:在自定义数据库集群参数组中,将 pgcolumnmask.policy_admin_rolname 引擎配置参数设置为您创建的角色的名称:

    pgcolumnmask.policy_admin_rolname = mask_admin

    可以在数据库集群参数组中设置此引擎配置参数,并且不需要重启实例。有关更新参数的详细信息,请参阅在 Amazon Aurora 中修改数据库集群参数组中的参数

  3. 将该角色授予用户。作为 rds_superuser,将 mask_admin 角色授予应能够管理掩蔽策略的用户:

    CREATE USER alice LOGIN; CREATE USER bob LOGIN; GRANT mask_admin TO alice, bob;

    此外,请确保用户对其将在其中管理掩蔽策略的架构拥有 USAGE 权限:

    GRANT USAGE ON SCHEMA hr TO alice, bob;

现在,当用户 alicebob 连接到数据库时,他们可以使用标准 pg_columnmask 扩展函数,在他们对架构拥有 USAGE 权限的所有架构中的所有表上创建、更改和删除掩蔽策略。