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:
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:
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:
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¶
Snowflake Postgres instance owners and Snowflake users with the USAGE privilege granted on a given instance can create short-lived access tokens for themselves on a per-instance basis for instances that have Snowflake authorization enabled per the instructions above in 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 |