【发布时间】:2020-02-06 05:55:00
【问题描述】:
我是雪花的新手。是否可以在没有选择访问基础表的情况下查询雪花数据库中所有表的信息模式视图,例如 SCHEMATA、TABLES、COLUMNS。要求是创建一个用户/帐户,该用户/帐户只能访问雪花数据库的查询元数据,并且不应该对表数据具有选择访问权限。请指教。
【问题讨论】:
标签: snowflake-cloud-data-platform
我是雪花的新手。是否可以在没有选择访问基础表的情况下查询雪花数据库中所有表的信息模式视图,例如 SCHEMATA、TABLES、COLUMNS。要求是创建一个用户/帐户,该用户/帐户只能访问雪花数据库的查询元数据,并且不应该对表数据具有选择访问权限。请指教。
【问题讨论】:
标签: snowflake-cloud-data-platform
来自雪花文档:
"视图或表函数的输出取决于权限 授予用户当前角色。当查询一个 INFORMATION_SCHEMA 视图或表函数,仅适用于 当前角色已被授予访问权限。”
换句话说,当您查询 INFORMATION_SCHEMA 视图时,您不会看到您无权访问的对象的元数据。
要解决此问题,您可以使用像 ACCOUNTADMIN 这样对所有表具有权限的角色,并使用来自所需 INFORMATION_SCHEMA 视图的结果填充新表。然后让您的新角色访问该表。您甚至可以在 Snowflake 中设置一个任务来定期更新表格。
参考资料:
【讨论】:
我相信您不会在信息架构视图中看到该对象。因此,您需要权限才能访问该对象。
【讨论】: