ALTER USER … ADD PROGRAMMATIC ACCESS TOKEN (PAT)

Cria um token de acesso programático para um usuário.

Consulte também:

ALTER USER … MODIFY PROGRAMMATIC ACCESS TOKEN (PAT) , ALTER USER … ROTATE PROGRAMMATIC ACCESS TOKEN (PAT) , ALTER USER … REMOVE PROGRAMMATIC ACCESS TOKEN (PAT) , SHOW USER PROGRAMMATIC ACCESS TOKENS

Sintaxe

ALTER USER [ IF EXISTS ] [ <username> ] ADD { PROGRAMMATIC ACCESS TOKEN | PAT } <token_name>
  [ ROLE_RESTRICTION = '<string_literal>' ]
  [ DAYS_TO_EXPIRY = <integer> ]
  [ MINS_TO_BYPASS_NETWORK_POLICY_REQUIREMENT = <integer> ]
  [ COMMENT = '<string_literal>' ]
Copy

Parâmetros obrigatórios

ADD { PROGRAMMATIC ACCESS TOKEN | PAT } token_name

Cria 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.

Parâmetros opcionais

username

O nome do usuário ao qual o token está associado. Um usuário não pode usar o token de acesso programático de outro usuário para se autenticar.

Para criar tokens de acesso programático em nome de um usuário, os administradores devem especificar o nome desse usuário no comando ALTER USER.

Se username for omitido, o comando gerará um token de acesso programático para o usuário que estiver conectado no momento (o usuário ativo dessa sessão).

ROLE_RESTRICTION = 'string_literal'

O nome da função usada para avaliação de privilégios e criação de objetos. Essa deve ser uma das funções que já foram concedidas ao usuário.

Nota

Esse parâmetro é necessário se o usuário for um usuário de serviço (se o objeto USER tiver TYPE=SERVICE).

Quando você usa esse token para autenticação, todos os objetos que cria são de propriedade dessa função, e essa função é usada para avaliação de privilégios.

Nota

As funções secundárias não são usadas, mesmo que DEFAULT_SECONDARY_ROLES esteja definido como (“ALL”) para o usuário.

Se essa função for revogada do usuário associado ao token de acesso programático, todas as tentativas de usar o token para autenticação falharão.

Nota

A especificação de uma função como o valor ROLE_RESTRICTION não concede a função especificada ao token de acesso programático. O usuário já deve ter recebido essa função.

Se você omitir ROLE_RESTRICTION, todos os objetos que criar pertencerão à sua função primária e os privilégios serão avaliados em relação às suas funções primária e secundária (conforme explicado em Autorização por meio de função primária e funções secundárias).

DAYS_TO_EXPIRY = integer

O número de dias em que o token de acesso programático pode ser usado para autenticação.

Você pode especificar um valor que varia de 1 até o tempo máximo de expiração.

Padrão: 15

MINS_TO_BYPASS_NETWORK_POLICY_REQUIREMENT = integer

O número de minutos durante os quais um usuário pode usar esse token para acessar o Snowflake sem estar sujeito a uma política de redes ativa.

Você pode definir isso para um token de uma pessoa (se o objeto USER tiver TYPE=PERSON) se essa pessoa não estiver sujeita a uma política de redes, mas precisar usar um token de acesso programático para autenticação. Consulte Requisitos da política de redes.

Nota

A configuração de MINS_TO_BYPASS_NETWORK_POLICY_REQUIREMENT não permite que os usuários ignorem a política de redes em si.

Você pode definir um valor no intervalo de 1 a 1440 (1 dia).

Padrão: 0

COMMENT = 'string_literal'

Comentário descritivo sobre o token de acesso programático. Esse comentário é exibido na lista de tokens de acesso programático em Snowsight.

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 gerar um token de acesso programático para um usuário que não seja o próprio.

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 recém-gerado nas colunas a seguir:

Coluna

Descrição

token_name

Nome do token gerado.

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 … ADD 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.

Notas de uso

  • Cada usuário pode ter um máximo de 15 tokens de acesso programático.

Exemplos

Crie um token de acesso programático chamado example_token que esteja associado ao usuário example_user e herde todos os privilégios do usuário associado:

ALTER USER IF EXISTS example_user ADD PROGRAMMATIC ACCESS TOKEN example_token
  COMMENT = 'a reference example';
Copy

Crie um token de acesso programático chamado example_token que esteja associado ao usuário example_user, herde todos os privilégios da função example_role e expire após 15 dias:

ALTER USER IF EXISTS example_user ADD PROGRAMMATIC ACCESS TOKEN example_token
  ROLE_RESTRICTION = 'example_role'
  DAYS_TO_EXPIRY = 15;
Copy