【问题标题】:Snowflake - Grant permissions by usernameSnowflake - 通过用户名授予权限
【发布时间】:2021-10-16 18:53:51
【问题描述】:

我正在尝试将某些实体的读取权限限制为特定用户。

在 Oracle 中我会这样做

GRANT SELECT ON sensitive_schema.my_table1 TO error_2646;
GRANT SELECT ON sensitive_schema.my_table2 TO error_2646;
GRANT SELECT ON sensitive_schema.my_tableN TO error_2646;

或者理想情况下在架构级别

GRANT SELECT ON sensitive_schema TO error_2646;

我可以在 Snowflake 中执行此操作吗?在文档中,权限似乎是由 Snowflake 中的角色管理的,我不想更改此人的角色。

https://docs.snowflake.com/en/sql-reference/sql/grant-privilege.html

【问题讨论】:

标签: snowflake-cloud-data-platform database-administration database-permissions


【解决方案1】:

由于 Snowflake 的许可方法是基于角色的访问控制 (RBAC),因此您无法将 GRANTS 授予特定用户。

如果你绝对不想为此工作,也许你可以看看Dynamic Data Masking。您将能够使用current_user() 将数据屏蔽给特定用户。但是您必须为要屏蔽的每个字段类型创建一个屏蔽策略,并将此策略应用于表中的每个字段,因此与角色方法相比,我不建议这样做。

【讨论】:

  • 欣赏它。我在文档中是这么认为的,但很高兴确认我没有错过任何东西。
猜你喜欢
  • 2019-08-11
  • 2018-03-21
  • 1970-01-01
  • 1970-01-01
  • 2013-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-30
相关资源
最近更新 更多