Snowflake - 查询雪花信息架构视图所需的权限

Snowflake - Privileges required to query snowflake Information schema views

我是 Snowflake 的新手。是否可以查询雪花数据库中所有 table 的信息架构视图,例如,SCHEMATA、TABLES、COLUMNS,而无需 select 访问基础 tables。要求是创建一个 user/account,它只能访问雪花 Db 的查询元数据,而不应该 select 访问 table 数据。请指教

来自 Snowflake 文档:

"The output of a view or table function depends on the privileges granted to the user’s current role. When querying an INFORMATION_SCHEMA view or table function, only objects for which the current role has been granted access privileges are returned."

换句话说,当您查询 INFORMATION_SCHEMA 视图时,您将看不到您无权访问的对象的元数据。

要解决此问题,您可以使用像 ACCOUNTADMIN 这样具有所有 table 权限的角色,并使用所需 INFORMATION_SCHEMA 视图的结果填充新的 table。然后让您的新角色访问该 table。您甚至可以在 Snowflake 中设置一个任务来定期更新 table。

参考文献:

我相信您不会在信息架构视图中看到该对象。所以您需要权限才能访问该对象。