GRANTS_TO_ROLES 视图¶
此 Account Usage 视图可用于查询已向角色授予的访问控制权限。
列¶
列名称 |
数据类型 |
描述 |
---|---|---|
CREATED_ON |
TIMESTAMP_LTZ |
向角色授予权限的日期和时间(采用 UTC 时区)。 |
MODIFIED_ON |
TIMESTAMP_LTZ |
更新权限的日期和时间(采用 UTC 时区)。 |
PRIVILEGE |
VARCHAR |
为角色添加的权限的名称。 |
GRANTED_ON |
VARCHAR |
授予权限的对象类型,如 |
NAME |
VARCHAR |
权限授予涉及的对象的名称。 |
TABLE_CATALOG |
VARCHAR |
当前表的数据库的名称,或者用于存储类实例的数据库的名称。 |
TABLE_SCHEMA |
VARCHAR |
当前表的架构的名称,或者用于存储类实例的架构的名称。 |
GRANTED_TO |
VARCHAR |
|
GRANTEE_NAME |
VARCHAR |
收件人角色、被授予权限的角色或 Snowflake Native App 对象名称的标识符。 |
GRANT_OPTION |
BOOLEAN |
|
GRANTED_BY |
VARCHAR |
表示将权限授予被授予者的角色。SNOWFLAKE 系统角色授予的权限的 |
DELETED_ON |
TIMESTAMP_LTZ |
撤销权限的日期和时间(采用 UTC 时区)。 |
GRANTED_BY_ROLE_TYPE |
VARCHAR |
|
OBJECT_INSTANCE |
VARCHAR |
包含特定类的实例角色的对象的完全限定名称,格式为 |
使用说明¶
视图的延迟时间最长可达 120 分钟(2 小时)。
视图不包含从通过共享创建的数据库向数据库角色授予的权限。
视图不包含已删除对象的授权。
视图会定期更新,以支持新对象。您可以使用 SHOW GRANTS TO ROLE 命令列出特定角色的所有授权。
GRANTED_BY
列表示将权限授予被授予者的角色。授权角色称为 授予者。当您使用 GRANT <privileges> 向角色授予对象的权限时,以下授权规则确定将哪个角色列为权限的授予者:
如果 活跃角色 是对象所有者(即对对象具有 OWNERSHIP 权限),则该角色是授予者。
如果活跃角色拥有已授权的授予选项的指定权限(即,授予活跃角色权限,该活跃角色拥有 GRANT <privileges> 的 WITH GRANT OPTION 子句,其中 <role_name> 是其中一个活跃角色)。如果是,那么拥有已授权的授予选项的权限角色就是授予者角色。请注意,如果多个活跃角色满足此标准,则无法确定哪个角色成为授予者角色。
如果一个活跃角色拥有全局 MANAGE GRANTS 权限,则授予者角色是对象所有者,而 不是 拥有 MANAGE GRANTS 权限的角色。也就是说,MANAGE GRANTS 权限允许角色模拟对象所有者,以便对该对象授予权限。
对于 Snowflake SYSTEM 角色授予的权限,
GRANTED_BY
列显示为空。此角色执行某些内部操作。客户无法修改 SYSTEM 角色所授予的权限。