INFORMATION_SCHEMA.TABLES访问所有架构和表 [英] INFORMATION_SCHEMA.TABLES access to all schemas and tables

查看:18
本文介绍了INFORMATION_SCHEMA.TABLES访问所有架构和表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建的用户应该只能通过INFORMATION_SCHEMA访问数据库表元数据,而不能访问表数据。所以没有权限直接查询表。用户将成为其成员的角色将拥有INFORMATION_SCHEMA模式的使用权限。我测试了具有该角色的用户,它只能看到公共内的表,而不能看到其他地方的表。

我确实在Snowflake文档中看到: "视图或表函数的输出取决于授予用户当前角色的权限。查询INFORMATION_SCHEMA视图或表函数时,仅返回已授予当前角色访问权限的对象。"

因此,我尝试授予角色monitor和对其他模式的使用权限;但是,这也不起作用。只有当我授予一个对模式中所有表具有读取访问权限的角色时,它才能够从INFORMATION_SCHEMA.TABLES中查看和查询该模式中的表。但是,这不是我想要的,因为现在用户可以从表中查询数据。我只想将该用户设置为能够查询和收集表的元数据,并且不允许数据访问。在Snowflake中是否有方法设置和执行此类型的设置?

推荐答案

我认为执行此操作的唯一方法是提供对Snowflake上的SNOWFLAKE.ACCOUNT_USAGE共享的访问,该共享也具有TABLES,并允许此用户查询该Snowflake帐户中所有表和列的元数据。该共享中有更多可用信息,但至少用户将无法访问任何实际数据(如果这是您要访问的数据)。

这篇关于INFORMATION_SCHEMA.TABLES访问所有架构和表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆