描述雪花对象需要哪些授权?
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
AWS API Gateway + Cognito 用户池授权方 + Lambda - 我需要设置哪些 HTTP 标头和权限?