CREATE SESSION POLICY

创建新的会话策略或替换现有的会话策略。

会话策略定义空闲会话超时期限(以分钟为单位)。管理员可以选择为 Snowflake Web 界面和其他 Snowflake 客户端设置不同的超时值。

创建会话策略后,使用 ALTER ACCOUNT 语句将会话策略应用于 Snowflake 账户,或使用 ALTER USER 语句将会话策略应用于用户。

另请参阅:

会话策略 DDL 参考

语法

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> ... ] } ] ) ]
  [ COMMENT = '<string_literal>' ]
Copy

必填参数

name

会话策略的标识符;对于您的账户必须是唯一的。

标识符值必须以字母字符开头,且不能包含空格或特殊字符,除非整个标识符字符串放在双引号内(例如 "My object")。放在双引号内的标识符也区分大小写。

有关更多详细信息,请参阅 标识符要求

可选参数

SESSION_IDLE_TIMEOUT_MINS = integer

对于 Snowflake 客户端和程序化客户端,在用户必须再次对 Snowflake 进行身份验证之前,会话可以空闲的分钟数。如果未指定值,Snowflake 将使用默认值。

分钟数可以是介于 305 (含)之间的任意整数。

默认值:``30``(半小时)

SESSION_UI_IDLE_TIMEOUT_MINS = integer

对于 Snowsight,在用户必须再次对 Snowflake 进行身份验证之前,会话可以空闲的分钟数。如果未指定值,Snowflake 将使用默认值。

分钟数可以是介于 305 (含)之间的任意整数。

默认值:``30``(半小时)

ALLOWED_SECONDARY_ROLES = ( [ { 'ALL' | role_name [ , role_name ... ] } ] )

指定会话策略的次要角色(如果有)。

该属性的可能值为:

()

不允许次要角色。

('ALL')

允许所有次要角色。

( role_name [ , role_name ... ] )

允许指定的角色作为次要角色。次要角色可以是用户定义的账户角色或系统角色。指定存储在 Snowflake 中的角色名称。有关详细信息,请参阅 标识符要求

默认:('ALL')。如果在创建新会话策略时未设置该属性,则允许所有次要角色。

COMMENT = 'string_literal'

为会话策略添加注释或覆盖现有注释。

访问控制要求

用于执行此操作的 角色 必须至少具有以下 权限

权限

对象

备注

CREATE SESSION POLICY

架构

要对架构中的任何对象执行操作,需要对父数据库和架构的 USAGE 权限。

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

有关会话策略 DDL 和权限的其他详细信息,请参阅 管理会话策略

使用说明

  • 如果要替换现有会话策略,并且需要查看该策略的当前定义,请调用 GET_DDL 函数或运行 DESCRIBE SESSION POLICY 命令。

  • 关于元数据:

    注意

    客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段

  • 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'
;
Copy
语言: 中文