描述雪花对象需要哪些授权?

Posted

技术标签:

【中文标题】描述雪花对象需要哪些授权?【英文标题】:What grants are needed to DESCRIBE a Snowflake-object? 【发布时间】:2020-05-28 06:50:52 【问题描述】:

Snowflake 的 DESCRIBE 功能可以应用于许多对象,例如用户、仓库或数据库 (https://docs.snowflake.com/en/sql-reference/sql/desc.html)。

我找不到执行 DESCRIBE 所需的授权。从实验中,我想出了一些事情: - 在大多数情况下,只允许对象的 OWNER 描述该对象 - 例外:DESCRIBE DATABASE 允许由非所有者执行 - (例外:当模式包含外部表时,DESCRIBE SCHEMA 失败,但这可能只是没有实现)

我在文档中找不到执行 DESCRIBE 的一般赠款。我的测试似乎表明没有一般规则,但我很高兴有人能证明我错了:-)

【问题讨论】:

【参考方案1】:

根据我的实验,所有位于架构下的基本对象,例如表、过程和函数、文件格式、阶段等,如果 将允许DESCRIBE 命令任何它的权限类型被授予访问者。这种隐含的行为可能是雪花的access control documentation page 中没有特别提到它的原因。

对于几乎所有其他类型的对象,MONITOR 权限是允许DESCRIBE 命令所必需的。引用相关部分from the documentation:

MONITOR

资源监视器、仓库、数据库、模式、任务

允许查看对象内的详细信息(例如,仓库内的查询和使用情况)。

【讨论】:

好发现苛刻!我发现对于存储集成对象,只有一个 USAGE 和 OWNER 权限。因此,只有 OWNER 有能力描述这种类型的对象。

以上是关于描述雪花对象需要哪些授权?的主要内容,如果未能解决你的问题,请参考以下文章

OSError:隧道连接失败:需要 407 代理授权 - snowsql

雪花中的出站特权是啥

减去雪花/DBT 中的列

AWS API Gateway + Cognito 用户池授权方 + Lambda - 我需要设置哪些 HTTP 标头和权限?

雪花中的哪些操作不消耗计算积分?

oracle创建用户后需要授哪些权限