GENERATE_POSTGRES_ACCESS_TOKEN_FOR_USER¶
Gera um token de acesso de curta duração para um usuário do Snowflake usar como senha ao entrar em uma instância do Snowflake Postgres que tem o atributo AUTHENTICATION_AUTHORITY definido como POSTGRES_OR_SNOWFLAKE.
Os tokens de acesso de curta duração gerados com esta função têm um tempo de vida de 15 minutos. Após expirarem, eles não podem mais ser utilizados para estabelecer novas conexões com a instância do Snowflake Postgres.
Consulte Autenticação de token Snowflake para Snowflake Postgres para obter mais detalhes.
Sintaxe¶
GENERATE_POSTGRES_ACCESS_TOKEN_FOR_USER('<snowflake_postgres_instance_name>', '<postgres_username>')
Argumentos¶
snowflake_postgres_instance_nameEspecifica o nome da instância do Snowflake Postgres para a qual o token de acesso de curta duração será gerado. Se a instância fornecida não existir ou se o usuário que executa a função não tiver a propriedade ou a permissão USAGE na instância, a execução da função falhará.
Esse argumento não diferencia maiúsculas de minúsculas. Use aspas duplas se a diferenciação entre maiúsculas e minúsculas for necessária.
postgres_usernameEspecifica o nome de usuário do Postgres para o qual o token de acesso de curta duração será gerado. Este argumento não é validado, o que permite a criação de tokens inutilizáveis para usuários do Postgres que não existem ou não estão mapeados para um usuário do Snowflake. Tokens válidos serão utilizáveis se um mapeamento for criado posteriormente.
Esse argumento diferencia maiúsculas de minúsculas.
Retornos¶
Retorna um token de acesso de curta duração com um tempo de vida de 15 minutos.
Requisitos de controle de acesso¶
A execução desta função para uma determinada instância do Snowflake Postgres só pode ser feita pelo proprietário da instância ou por usuários que receberam a permissão USAGE para ela.
Exemplos¶
O usuário Casey do Snowflake pode gerar um token de acesso de curta duração para usar ao fazer login no reporting_server com um usuário do Postgres chamado reporting_user com:
SELECT GENERATE_POSTGRES_ACCESS_TOKEN_FOR_USER('reporting_server', 'reporting_user');
Se o nome da instância foi criado diferenciando maiúsculas de minúsculas como Reporting_server, aspas duplas são necessárias para o nome da instância:
SELECT GENERATE_POSTGRES_ACCESS_TOKEN_FOR_USER('"Reporting_server"', 'reporting_user');