ALTER USER ... ROTATE PROGRAMMATIC ACCESS TOKEN (PAT)

轮换 编程访问令牌,生成具有更长到期时间的新令牌密钥,并使现有令牌密钥过期。新密钥是使用首次创建令牌时设置的相同 DAYS_TO_EXPIRY 属性生成的。

另请参阅:

ALTER USER ... ADD PROGRAMMATIC ACCESS TOKEN (PAT)ALTER USER ... MODIFY PROGRAMMATIC ACCESS TOKEN (PAT)ALTER USER ... REMOVE PROGRAMMATIC ACCESS TOKEN (PAT)SHOW USER PROGRAMMATIC ACCESS TOKENS

语法

ALTER USER [ IF EXISTS ] [ <username> ] ROTATE { PROGRAMMATIC ACCESS TOKEN | PAT } <token_name>
  [ EXPIRE_ROTATED_TOKEN_AFTER_HOURS = <integer> ]
Copy

参数

username

与令牌关联的用户的名称。

如果省略此参数,则该命令将轮换当前登录的用户(当前会话中的活动用户)的令牌。

ROTATE { PROGRAMMATIC ACCESS TOKEN | PAT } token_name

轮换具有指定名称的编程访问令牌。

您可以使用关键字 PAT 作为指定关键字 PROGRAMMATIC ACCESS TOKEN 的简便方法。

EXPIRE_ROTATED_TOKEN_AFTER_HOURS = integer

将现有令牌密钥的到期时间设置为在指定的小时数后过期。

您可以将此字段设置为 0 以立即让当前令牌密钥过期。

您可以将其设置为一个介于 0 至当前密钥到期前剩余小时数范围内的值。

默认值:24

访问控制要求

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

权限

对象

备注

MODIFY PROGRAMMATIC AUTHENTICATION METHODS

用户

仅在为除您自己或服务用户之外的人类用户轮换编程访问令牌时需要。

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

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

输出

命令输出在以下列中提供有关轮换的编程访问令牌的信息:

描述

token_name

轮换令牌的名称。

token_secret

令牌本身。使用它对端点进行身份验证。

备注

令牌仅出现在 ALTER USER ... ROTATE PROGRAMMATIC ACCESS TOKEN 命令的输出中。没有其他 SQL 命令或函数会打印出或返回令牌。

如果您需要以编程方式访问此令牌,则可以使用 Snowflake Scripting 执行此命令,并从 RESULTSET 中检索令牌。

rotated_token_name

代表先前密钥的令牌的名称。

您可以使用此令牌对象来确定先前的密钥的有效时间。如果需要,您也可以让该令牌过期。您无法对此令牌进行任何其他类型的更改。

请注意,此令牌对象计入每位用户允许的最大令牌数。

使用说明

在使用编程访问令牌进行身份验证的会话中,您无法轮换编程访问令牌。

示例

轮换与用户 example_user 关联的编程访问令牌:

ALTER USER IF EXISTS example_user ROTATE PROGRAMMATIC ACCESS TOKEN token_name;
Copy

轮换与用户 example_user 关联的编程访问令牌,并立即让现有令牌密钥过期:

ALTER USER IF EXISTS example_user ROTATE PROGRAMMATIC ACCESS TOKEN token_name
  EXPIRE_ROTATED_TOKEN_AFTER_HOURS=0;
Copy
语言: 中文