Snowflake的DESCRIBE功能可以应用于许多对象,例如用户,仓库或数据库(https://docs.snowflake.com/en/sql-reference/sql/desc.html)。
我找不到执行DESCRIBE所需的赠款。通过实验,我发现了一些问题:-在大多数情况下,仅允许对象的所有者来描述该对象-例外:DESCRIBE DATABASE允许非所有者执行-(例外:当模式包含外部表时,DESCRIBE SCHEMA失败,但这可能只是未实现)
我无法在文档中找到执行DESCRIBE的一般授权。我的测试似乎表明没有一般规则,但是我很高兴有人可以证明我错了:-)
根据我的实验,位于模式下的所有基本对象,例如表,过程和函数,文件格式,阶段等,如果any,将允许DESCRIBE
命令的特权类型授予访问者。这种隐式行为可能就是为什么在Snowflake的access control documentation page中没有特别标出它的原因。
对于几乎所有其他类型的对象,必须具有MONITOR
特权才能允许DESCRIBE
命令。引用相关部分from the documentation:
MONITOR
资源监控器,仓库,数据库,架构,任务
授予查看对象内的详细信息的能力(例如仓库中的查询和使用)。>>