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> ... ] } ] ) ]
  [ BLOCKED_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 ... ] } ] )

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