CREATE SESSION POLICY¶
创建新的会话策略或替换现有的会话策略。
会话策略定义空闲会话超时期限(以分钟为单位)。管理员可以选择为 Snowflake Web 界面和其他 Snowflake 客户端设置不同的超时值。
创建会话策略后,使用 ALTER ACCOUNT 语句将会话策略应用于 Snowflake 账户,或使用 ALTER USER 语句将会话策略应用于用户。
- 另请参阅:
语法¶
CREATE [OR REPLACE] SESSION POLICY [IF NOT EXISTS] <name>
[ SESSION_IDLE_TIMEOUT_MINS = <integer> ]
[ SESSION_UI_IDLE_TIMEOUT_MINS = <integer> ]
[ ALLOWED_SECONDARY_ROLES = ( [ { 'ALL' | <role_name> [ , <role_name> ... ] } ] ) ]
[ BLOCKED_SECONDARY_ROLES = ( [ { 'ALL' | <role_name> [ , <role_name> ... ] } ] ) ]
[ COMMENT = '<string_literal>' ]
必填参数¶
name会话策略的标识符;对于您的账户必须是唯一的。
标识符值必须以字母字符开头,且不能包含空格或特殊字符,除非整个标识符字符串放在双引号内(例如
"My object")。放在双引号内的标识符也区分大小写。有关更多详细信息,请参阅 标识符要求。
可选参数¶
SESSION_IDLE_TIMEOUT_MINS = integer对于 Snowflake 客户端和程序化客户端,在用户必须再次对 Snowflake 进行身份验证之前,会话可以空闲的分钟数。如果未指定值,Snowflake 将使用默认值。
分钟数可以是介于
30和5(含)之间的任意整数。默认值:``30``(半小时)
SESSION_UI_IDLE_TIMEOUT_MINS = integer对于 Snowsight,在用户必须再次对 Snowflake 进行身份验证之前,会话可以空闲的分钟数。如果未指定值,Snowflake 将使用默认值。
分钟数可以是介于
30和5(含)之间的任意整数。默认值:``30``(半小时)
ALLOWED_SECONDARY_ROLES = ( [ { 'ALL' | role_name [ , role_name ... ] } ] )Specifies the allowed secondary roles for a session policy, if any.
该属性的可能值为:
()不允许次要角色。
('ALL')允许所有次要角色。
( role_name [ , role_name ... ] )允许指定的角色作为次要角色。次要角色可以是用户定义的账户角色或系统角色。指定存储在 Snowflake 中的角色名称。有关详细信息,请参阅 标识符要求。
默认:
('ALL')。如果在创建新会话策略时未设置该属性,则允许所有次要角色。BLOCKED_SECONDARY_ROLES = ( [ { 'ALL' | role_name [ , role_name ... ] } ] )Specifies the blocked secondary roles for a session policy, if any. Blocked secondary roles take precedence over allowed secondary roles.
该属性的可能值为:
()允许所有次要角色。
('ALL')不允许次要角色。
( role_name [ , role_name ... ] )Blocks the specified roles as secondary roles. The specified roles, and the roles granted to those roles, cannot be activated as secondary roles. These blocked roles can be user-defined account roles or system roles. Specify the role name as it is stored in Snowflake. For details, see 标识符要求.
Default:
(). If you do not set the property when you create a new session policy, all secondary roles are allowed.COMMENT = 'string_literal'为会话策略添加注释或覆盖现有注释。
访问控制要求¶
权限 |
对象 |
备注 |
|---|---|---|
CREATE SESSION POLICY |
架构 |
要对架构中的任何对象执行操作,需要对父数据库和架构的 USAGE 权限。请注意,如果某个角色获授某个架构的任意权限,该角色便能够解析该架构。例如,若某角色被授予 CREATE 权限,则可以在该架构上创建对象,而无需 同时 被授予该架构的 USAGE 权限。
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述。
有关会话策略 DDL 和权限的其他详细信息,请参阅 管理会话策略。
使用说明¶
如果要替换现有会话策略,并且需要查看该策略的当前定义,请调用 GET_DDL 函数或运行 DESCRIBE SESSION POLICY 命令。
关于元数据:
注意
客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段。
The OR REPLACE and IF NOT EXISTS clauses are mutually exclusive. They can't both be used in the same statement.
CREATE OR REPLACE <object> 语句是原子的。也就是说,当对象被替换时,旧对象将被删除,新对象将在单个事务中创建。
示例¶
为当前账户创建会话策略:
CREATE SESSION POLICY session_policy_prod_1 SESSION_IDLE_TIMEOUT_MINS = 30 SESSION_UI_IDLE_TIMEOUT_MINS = 30 COMMENT = 'session policy for use in the prod_1 environment' ;