Autenticação de token Snowflake para Snowflake Postgres¶
O Snowflake permite aos usuários gerar tokens de acesso de curta duração a serem usados para fazer login em instâncias do Snowflake Postgres. No nível da instância, isso é conhecido como autorização do Snowflake e é feito com estas três etapas que estão expandidas abaixo:
Habilite a autorização do Snowflake na instância do Snowflake Postgres.
Na instância do Snowflake Postgres, crie mapeamentos entre os usuários do Postgres e os usuários do Snowflake.
Depois disso, os usuários mapeados do Snowflake geram os tokens de acesso de curta duração para uso na hora de fazer login na instância do Snowflake Postgres.
Nota
A autenticação de token do Snowflake para o Snowflake Postgres é um recurso separado dos métodos de autenticação Snowflake OAuth e tokens de acesso programático do Snowflake.
Criando mapeamentos entre usuários do Postgres e usuários do Snowflake¶
Para criar um mapeamento entre um usuário do Postgres e um usuário do Snowflake, faça login em sua instância do Postgres com o usuário snowflake_admin e execute:
ALTER USER {postgres_user} SET snowflake_user = '{snowflake_user}';
Os nomes {postgres_user} e {snowflake_user} fornecidos na instrução acima serão lidos sem diferenciar maiúsculas de minúsculas. Se a diferenciação entre maiúsculas e minúsculas for necessária, coloque os nomes entre aspas duplas. Por exemplo, para mapear um usuário do Postgres chamado Casey para um usuário do Snowflake com o mesmo nome:
ALTER USER "Casey" SET snowflake_user = '"Casey"';
Para remover um mapeamento entre um usuário do Postgres e um usuário do Snowflake, faça login em sua instância do Postgres com o usuário snowflake_admin e execute:
ALTER USER {postgres_user} RESET snowflake_user;
Para visualizar quais mapeamentos existentes entre usuários do Postgres e usuários do Snowflake, faça login em sua instância do Postgres com o usuário snowflake_admin e consulte a exibição SNOWFLAKE_AUTH.IDENTITY_MAPPING Exibição Postgres.
Nota
Usuários do Postgres com mapeamentos de usuário do Snowflake só podem fazer login com tokens de acesso gerados de curta duração. Eles não podem se conectar com uma senha do Postgres, e as senhas do Postgres não podem ser alteradas. Para reabilitar a funcionalidade de login com senha padrão para um determinado usuário do Postgres, você deve remover o mapeamento dele para um usuário do Snowflake.
Criando tokens de acesso de curta duração para usuários mapeados do Snowflake¶
Os proprietários de instâncias do Snowflake Postgres e os usuários do Snowflake com o privilégio USAGE concedido em uma determinada instância podem criar as senhas de tokens de acesso de curta duração por instância, para instâncias com a autorização do Snowflake habilitada de acordo com as instruções acima em Habilitando e desabilitando a autorização do Snowflake em instâncias do Snowflake Postgres.
No menu de navegação, selecione Postgres.
Selecione a instância.
No menu Manage no canto superior direito, selecione Regenerate token.
Na caixa de diálogo Regenerate token apresentada, digite o nome de um usuário do Postgres que foi mapeado para seu usuário do Snowflake e selecione Acknowledge & continue.
Copie o token de acesso de curta duração apresentado ou o URI do Postgres a ser usado para estabelecer novas conexões com a instância do Snowflake Postgres nos próximos 15 minutos.
Usar a função GENERATE_POSTGRES_ACCESS_TOKEN_FOR_USER.
SNOWFLAKE_AUTH.IDENTITY_MAPPING Exibição Postgres¶
Essa exibição do Snowflake Postgres pode ser usada para consultar uma lista de todos os mapeamentos entre os usuários do Postgres e os usuários do Snowflake na instância.
Nota
Essa exibição está disponível para consulta somente dentro das instâncias do Snowflake Postgres e não pode ser consultada diretamente do Snowflake.
Colunas¶
Nome da coluna |
Tipo de dados |
Descrição |
|---|---|---|
postgres_role |
name |
O nome do usuário mapeado do Postgres |
snowflake_identity |
text |
A identidade do usuário do Snowflake no formato USER:#, em que # é o valor |