Snowflake - 按用户名授予权限
Snowflake - Grant permissions by username
我正在尝试将某些实体的读取权限限制为特定用户。
在 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 的权限方法是基于角色的访问控制 (RBAC),您将无法向特定用户授予 GRANTS。
如果你绝对不想为此工作,也许你可以看看Dynamic Data Masking。您将能够使用 current_user()
向特定用户屏蔽数据。但是您必须为要屏蔽的每个字段类型创建一个屏蔽策略,并将此策略应用于您 table 中的每个字段,因此与角色方法相比,我不推荐这种方法。
我正在尝试将某些实体的读取权限限制为特定用户。
在 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 的权限方法是基于角色的访问控制 (RBAC),您将无法向特定用户授予 GRANTS。
如果你绝对不想为此工作,也许你可以看看Dynamic Data Masking。您将能够使用 current_user()
向特定用户屏蔽数据。但是您必须为要屏蔽的每个字段类型创建一个屏蔽策略,并将此策略应用于您 table 中的每个字段,因此与角色方法相比,我不推荐这种方法。