单一架构上的雪花授予 Select
Snowflake Grant Select on single schema
数据库: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 中的所有表授予 select。
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 的所有者是系统管理员。架构的所有者是 etl_tool_role.
如何允许从仅选择的架构中的表访问 select?
你的资助看起来很好,所以我想知道你怎么样accessing/testing。
或者 role dw_ro_role
的有效赠款可能比上面显示的更多。
如果您使用只有 role dw_ro_role
且与默认角色相同的用户登录数据库,您应该只能访问 schema my_db.my_schema_2
.
数据库: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 中的所有表授予 select。
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 的所有者是系统管理员。架构的所有者是 etl_tool_role.
如何允许从仅选择的架构中的表访问 select?
你的资助看起来很好,所以我想知道你怎么样accessing/testing。
或者 role dw_ro_role
的有效赠款可能比上面显示的更多。
如果您使用只有 role dw_ro_role
且与默认角色相同的用户登录数据库,您应该只能访问 schema my_db.my_schema_2
.