我需要什么角色才能在雪花安全视图上运行get_ddl(object_type,object_name)?

时间:2019-11-03 14:45:16

标签: snowflake-data-warehouse

我正在使用Snowflake,需要让某人能够在安全视图上运行“ get_ddl()”。他们需要扮演什么角色?

换句话说,某些角色不应在视图后面看到DDL,而其他角色则应。如何在访问权限上实现这种差异?

2 个答案:

答案 0 :(得分:0)

https://docs.snowflake.net/manuals/user-guide/views-secure.html#interacting-with-secure-views

根据本文档,只有安全视图的所有者角色才能运行get_ddl()函数。

答案 1 :(得分:0)

雪花是一种基于角色的数据访问系统,而不是基于用户的数据访问系统(与某些其他数据库不同)。

对于需要访问安全视图DDL定义的用户,将视图拥有角色授予这些用户(这是遵循最佳实践的做法,即安全视图是通过创建自定义角色来创建和管理的,数据库对象,而不是由系统内置角色(例如sysadmin)创建的。

未被授予视图拥有角色的用户将无法访问安全视图定义,因此实现了访问特权上的差异。