RLS 策略所有权和管理 - Amazon Redshift

RLS 策略所有权和管理

作为超级用户、安全管理员或具有 sys:secadmin 角色的用户,您可以创建、修改或管理表的所有 RLS 策略。在对象级别,您可以打开或关闭行级别安全性,而无需修改表的架构定义。

要开始使用行级别安全性,以下是您可以使用的 SQL 语句:

  • 使用 ALTER TABLE 语句可以打开或关闭表上的 RLS。有关更多信息,请参阅 ALTER TABLE

  • 使用 CREATE RLS POLICY 语句可为一个或多个表创建安全策略,并在该策略中指定一个或多个用户或角色。

    有关更多信息,请参阅 CREATE RLS POLICY

  • 使用 ALTER RLS POLICY 语句更改策略,例如更改策略定义。您可以对多个表或视图使用相同的策略。

    有关更多信息,请参阅 ALTER RLS POLICY

  • 使用 ATTACH RLS POLICY 语句可将策略附加到一个或多个关系、一个或多个用户,或者角色。

    有关更多信息,请参阅 ATTACH RLS POLICY

  • 使用 DETACH RLS POLICY 语句可将策略与一个或多个关系、一个或多个用户或者角色分离。

    有关更多信息,请参阅 DETACH RLS POLICY

  • 使用 DROP RLS POLICY 语句可以删除策略。

    有关更多信息,请参阅 DROP RLS POLICY

  • 使用 GRANT 和 REVOKE 语句可以明确授予和撤消对引用查找表的 RLS 策略的 SELECT 权限。有关更多信息,请参阅GRANTREVOKE

要监控创建的策略,sys:secadmin 可以查看 SVV_RLS_POLICYSVV_RLS_ATTACHED_POLICY

要列出受 RLS 保护的关系,sys:secadmin 可以查看 SVV_RLS_RELATION。

要跟踪 RLS 策略在引用受 RLS 保护的关系的查询中的应用情况,超级用户、sys:operator 或任何拥有系统权限 ACCESS SYSTEM TABLE 的用户均可查看 SVV_RLS_APPLIED_POLICY 。请注意,默认情况下不会向 sys:secadmin 授予这些权限。

要查询附加了 RLS 策略的表,但看不到这些表,可以向任何用户授予 IGNORE RLS 权限。作为超级用户或 sys:secadmin 的用户将被自动授予 IGNORE RLS 权限。有关更多信息,请参阅 GRANT

要解释 EXPLAIN 计划中查询的 RLS 策略筛选器以解决与 RLS 相关的查询,您可以向任何用户授予 EXPLAIN RLS 权限。有关更多信息,请参阅GRANTEXPLAIN