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 ... ] } ] )指定允许的会话策略次要角色(如果有)。
该属性的可能值为:
()不允许次要角色。
('ALL')允许所有次要角色。
( role_name [ , role_name ... ] )允许指定的角色作为次要角色。次要角色可以是用户定义的账户角色或系统角色。指定存储在 Snowflake 中的角色名称。有关详细信息,请参阅 标识符要求。
默认:
('ALL')。如果在创建新会话策略时未设置该属性,则允许所有次要角色。BLOCKED_SECONDARY_ROLES = ( [ { 'ALL' | role_name [ , role_name ... ] } ] )指定会话策略中被阻止的次要角色(如果有)。被阻止的次要角色优先于允许的次要角色。
该属性的可能值为:
()允许所有次要角色。
('ALL')不允许次要角色。
( role_name [ , role_name ... ] )禁止指定的角色作为次要角色。指定的角色以及授予这些角色的角色不能作为次要角色激活。这些被阻止的角色可以是用户自定义的账户角色或系统角色。指定存储在 Snowflake 中的角色名称。有关详细信信息,请参阅 标识符要求。
默认:
()。如果在创建新会话策略时未设置该属性,则允许所有次要角色。COMMENT = 'string_literal'为会话策略添加注释或覆盖现有注释。
访问控制要求¶
权限 |
对象 |
备注 |
|---|---|---|
CREATE SESSION POLICY |
架构 |
Operating on an object in a schema requires at least one privilege on the parent database and at least one privilege on the parent schema.
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述。
有关会话策略 DDL 和权限的其他详细信息,请参阅 管理会话策略。
使用说明¶
如果要替换现有会话策略,并且需要查看该策略的当前定义,请调用 GET_DDL 函数或运行 DESCRIBE SESSION POLICY 命令。
关于元数据:
注意
客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段。
OR REPLACE 和 IF NOT EXISTS 子句互斥。它们不能同时用于同一条语句中。
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' ;