ALTER USER … ROTATE PROGRAMMATIC ACCESS TOKEN (PAT)

Rotaciona o token de acesso programático, gerando um novo segredo de token com um tempo de expiração estendido e expirando o segredo de token existente. O novo segredo é gerado usando a mesma propriedade DAYS_TO_EXPIRY definida quando o token foi criado pela primeira vez.

Consulte também:

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

Sintaxe

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

Parâmetros

username

O nome do usuário ao qual o token está associado.

Se o usuário omitir esse parâmetro, o comando rotacionará o token para o usuário que estiver conectado no momento (o usuário ativo na sessão atual).

ROTATE { PROGRAMMATIC ACCESS TOKEN | PAT } token_name

Rotaciona um token de acesso programático com o nome especificado.

Você pode usar a palavra-chave PAT como uma forma mais curta de especificar as palavras-chave PROGRAMMATIC ACCESS TOKEN.

EXPIRE_ROTATED_TOKEN_AFTER_HOURS = integer

Define o tempo de expiração do segredo do token existente para expirar após o número de horas especificado.

Você pode definir esse valor como 0 para expirar imediatamente o segredo do token atual.

Você pode definir isso como um valor no intervalo de 0 até o número de horas restantes antes da expiração do segredo atual.

Padrão: 24

Requisitos de controle de acesso

A função usada para executar essa operação deve ter, no mínimo, os seguintes privilégios:

Privilégio

Objeto

Notas

MODIFY PROGRAMMATIC AUTHENTICATION METHODS

Usuário

Necessário somente ao rotacionar um token de acesso programático para um usuário humano que não seja o próprio usuário ou um usuário do serviço.

Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.

Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.

Saída

A saída do comando fornece informações sobre o token de acesso programático rotacionado nas colunas a seguir:

Coluna

Descrição

token_name

Nome do token rotacionado.

token_secret

O token em si. Use isso para se autenticar em um ponto de extremidade.

Nota

O token aparece apenas na saída do comando ALTER USER … ROTATE PROGRAMMATIC ACCESS TOKEN. Nenhum outro comando ou função SQL imprime ou retorna o token.

Se precisar acessar esse token programaticamente, você pode usar o Snowflake Scripting para executar esse comando e recuperar o token do RESULTSET.

rotated_token_name

Nome do token que representa o segredo anterior.

Você pode usar esse objeto de token para determinar por quanto tempo o segredo anterior permanece válido. Você também pode expirar o token, se necessário. Você não pode fazer nenhum outro tipo de alteração nesse token.

Observe que esse objeto de token conta para o número máximo de tokens permitidos por usuário.

Notas de uso

Não é possível rotacionar um token de acesso programático em uma sessão em que você usou um token de acesso programático para autenticação.

Exemplos

Rotacionar um token de acesso programático associado ao usuário example_user:

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

Rotacionar um token de acesso programático associado ao usuário example_user e expirar imediatamente o segredo do token existente:

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