单个计划上的Snowflake Grant Select

时间:2019-10-30 09:18:17

标签: snowflake-data-warehouse

db:my_db

方案:my_schema_1,my_schema_2

表格:

  • my_schema_1:table_a,table_b
  • my_schema_2:table_c,table_d

我想授予对my_schema_2中所有表的选择权。

use role securityadmin;
grant usage 
  on database my_db 
  to role dw_ro_role;

grant usage on schema my_db.my_schema_2
  to role dw_ro_role;

grant select
  on all tables in schema my_db.my_schema_2
  to role dw_ro_role;

但是,这将授予对数据库中所有架构的访问权限。 (我认为是通过授予使用权限)实际上,如果我:

grant usage on my_db...
revoke select on all tables in my_schema_2

我仍然可以查询所有内容。

如果我取消对数据库my_db的使用,则无法查询任何内容。

my_db的所有者是sysadmin。模式的所有者是etl_tool_role。

如何允许访问者从唯一选择的模式中的表中进行选择?

1 个答案:

答案 0 :(得分:3)

您的赠款看起来还不错,所以我想知道您如何访问/测试此赠款。
或者,也许role dw_ro_role的有效拨款比上面显示的还要多。

如果您以仅具有role dw_ro_role且与默认角色相同的用户身份登录数据库,则您只能访问schema my_db.my_schema_2