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。
参考文献:
我相信您不会在信息架构视图中看到该对象。所以您需要权限才能访问该对象。
我是 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。
参考文献:
我相信您不会在信息架构视图中看到该对象。所以您需要权限才能访问该对象。