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>' ]
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
a1440
(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 |
---|---|
|
Nome do token gerado. |
|
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.
Esse número inclui os tokens que foram desativados.
Esse número não inclui tokens que expiraram.
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';
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;