授予对视图的访问权限

时间:2019-07-26 07:51:19

标签: amazon-redshift

我这里有2个模式,schema1和schema2。我已经从schema1中的表在schema2中创建了一个视图。现在,我已授予对schema2的组的访问权限,但他们无法访问该视图。

这是我用来授予访问权限的查询。

grant select on all tables in schema schema2 to group viewusers_ro;

视图:

create view schema2.view as select col1, col2,col3 from schema1.table;

用户尝试访问

select * from schema2.view
  

错误是:拒绝架构schema1的权限

注意:由于我们创建的视图仅包含该表的几列,因此我们不允许用户访问该表。

请帮助我获得所需的访问权限

2 个答案:

答案 0 :(得分:0)

您还需要授予对schema2的使用权限

grant usage on schema schema2 to group viewusers_ro;

答案 1 :(得分:0)

您需要对schema1进行高级访问。即使视图位于schema2中,因为视图引用了schema1,Redshift也希望在基础对象所在的模式中使用它。不幸的是,这使得发生了一个错误的选择授予的情况,即从打开schema1到您的viewusers_ro组,是Redshift的运作方式。