USE SECONDARY ROLES¶
指定会话的活动/当前次要角色。当前处于活动状态的次要角色可设置上下文,用以确定当前用户是否具有执行 SQL 操作所需的权限。
请注意,执行 CREATE <object> 语句以创建对象的授权由主要角色提供。
有关更多信息,请参阅 次要角色执行。
- 另请参阅:
语法¶
USE SECONDARY ROLES {
ALL
| NONE
| <role_name> [ , <role_name> ... ]
}
参数¶
ALL
除 当前处于活动状态的主要角色外,已授予用户的所有其他角色。
请注意,在执行每个 SQL 语句时,角色集都会重新进行评估。如果向用户授予其他角色,并且该用户执行新的 SQL 语句,则新授予的角色是新 SQL 语句的活动次要角色。 同样的逻辑也适用于从用户处撤消的角色。
NONE
禁用次要角色。对所有 SQL 操作的授权都通过主要角色提供。
role_name [ , role_name ... ]
允许指定的角色作为次要角色。次要角色可以是用户定义的账户角色或系统角色。指定存储在 Snowflake 中的角色名称。
如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。
有关更多信息,请参阅 标识符要求。
使用说明¶
要使用某个角色,用户必须已被授予该角色。
请注意,您不能在上下文下拉菜单中选择多个角色。
如果 会话策略 指定了
ALLOWED_SECONDARY_ROLES = ()
,并且账户或账户中的用户设置了会话策略,则会出现错误消息:No secondary roles are activated due to the session policy associated with the user or account.