SHOW CALLER GRANTS¶
列出用于实施受限调用方权利的 调用方授权。
语法¶
SHOW CALLER GRANTS
{
{ ON <object_type> <object_name> | ON ACCOUNT }
| TO { ROLE | DATABASE ROLE } <owner_name>
}
参数¶
ON object_type object_name
或 .ON ACCOUNT
指定是列出特定对象的调用方授权,还是列出涉及账户的所有调用方授权。
使用
object_type
的单数形式,例如TABLE
或WAREHOUSE
。TO ROLE <owner_name>
或 .TO DATABASE ROLE <owner_name>
指定可执行所有者,该所有者列出已授予该所有者的所有调用方授权。
输出¶
命令的输出包括以下列,它们描述了对象的属性和元数据:
列 |
描述 |
---|---|
|
授予调用方授权的日期和时间。 |
|
|
|
受调用方授权约束的对象类型,不考虑是直接授予对象还是授予该类型的所有对象。 |
|
如果调用方授权是直接授予特定对象,则指定对象的名称。 |
|
如果为 如果为 |
|
如果调用方授权是使用 GRANT INHERITED CALLER 或 GRANT ALL INHERITED CALLER PRIVILEGES 语句授予某个类型的所有对象,则指明授予的权限级别。 |
|
如果 |
|
如果 |
|
获授调用方授权的可执行所有者的类型。 |
|
获授调用方授权的可执行所有者的名称。 |
访问控制要求¶
任何人都可以执行 SHOW CALLER GRANTS TO ... 命令,列出已授予特定可执行所有者的调用方授权。
执行 SHOW CALLER GRANTS ON ... 命令需要以下权限:
权限 |
对象 |
备注 |
---|---|---|
任何权限 |
指定的对象 |
对于在 SHOW CALLER GRANTS 命令中指定的对象,至少需要一项权限。 |
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
使用说明¶
当执行 SHOW CALLER GRANTS ON ... 语句时,输出的不同行可以表示不同的内容。例如,一行可以指示直接授予对象的调用方授权,而另一行则指示在 GRANT 语句中使用 IN 子句指定对象。有关更多信息,请参阅 列出调用方授权。
当用户执行 SHOW CALLER GRANTS 时,结果仅包含他们具有至少一项权限的对象。有关更多信息,请参阅 条件输出。
若要对此命令的输出进行后处理,可以使用 RESULT_SCAN 函数,该函数会将输出视为可查询的表。
示例¶
列出已获授的表 t1
调用方授权。
SHOW CALLER GRANTS ON TABLE t1;
列出已获授的当前账户的所有调用方授权。这包括账户 (GRANT CALLER ...ON ACCOUNT) 的直接授权和账户 (GRANT INHERITED CALLER ...IN ACCOUNT) 中所有对象的授权。
SHOW CALLER GRANTS ON ACCOUNT;
列出已授予数据库角色 db.owner_role
的所有调用方授权。
SHOW CALLER GRANTS TO DATABASE ROLE db.owner_role;