过去,我已经使用安全策略和谓词功能在Oracle和SQL Server数据库中实现了行级安全性。
现在,我的组织正在迁移到Amazon Redshift作为数据仓库,以寻求有关在Redshift中实现RLS以便用户进行原始sql访问的方法的输入。
示例: 表A包含许多区域的数据。 表中的“ REGION”列包含该行所对应的区域。 在user_setup表中,每个用户都有该用户应访问的区域列表。
表A:
表user_setup:
预期结果: 如果Usr1执行,请从A选择*; 输出应为:
如果Usr2执行,请从A中选择*; 输出应为:
如果Usr3执行,请从A中选择*; 输出应为: 没有返回行。
答案 0 :(得分:2)
我想一年后您找到了解决方案,但以防万一...
在AWS Redshift中实现基于行的安全性(或基于行的访问控制)并不是一件容易的事,但是可以通过以下方式实现:
您可以在我写的Redshift security guide中找到概念证明。