行级别安全性 - Amazon Redshift

行级别安全性

使用 Amazon Redshift 中的行级别安全性 (RLS),您可以对敏感数据进行精细访问控制。您可以根据在数据库对象级别定义的安全策略,来决定哪些用户或角色可以访问架构或表中数据的特定记录。除了列级别安全性(您可以向用户授予对列的子集的权限)之外,还可使用 RLS 策略进一步限制对可见列中特定行的访问。有关列级别安全性的更多信息,请参阅 列级访问控制的使用说明

在对表强制实施 RLS 策略时,您可以限制用户运行查询时返回的结果集。

在创建 RLS 策略时,您可以指定表达式,规定 Amazon Redshift 是否在查询中返回表中的任何现有行。通过创建 RLS 策略来限制访问,您不必在查询中添加或外部化其他条件。

在创建 RLS 策略时,我们建议您创建简单策略,并且避免在策略中使用复杂语句。在定义 RLS 策略时,不要在基于策略的策略定义中使用过多表联接。

当某个策略引用某个查找表时,Amazon Redshift 除了扫描该策略所在的表以外,还会扫描其他表。对于附加了 RLS 策略的用户和未附加任何策略的用户,同一查询之间将存在性能差异。