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:

  1. Habilite a autorização do Snowflake na instância do Snowflake Postgres.

  2. Na instância do Snowflake Postgres, crie mapeamentos entre os usuários do Postgres e os usuários do Snowflake.

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

Habilitando e desabilitando a autorização do Snowflake em instâncias do Snowflake Postgres

Para habilitar a autorização do Snowflake no momento da criação da instância, habilite a opção Snowflake auth na caixa de diálogo New instance do Snowflake Postgres ao criar uma nova instância.

Para habilitar ou desabilitar a autorização do Snowflake em uma instância existente:

  1. No menu de navegação, selecione Postgres.

  2. Selecione a instância.

  3. No menu Manage no canto superior direito, selecione a opção Enable Snowflake auth ou Disable Snowflake auth no menu suspenso Manage da instância na página de detalhes dela no painel.

  4. Selecione Enable ou Disable na caixa de diálogo de confirmação apresentada.

Importante

Desabilitar a autorização do Snowflake em uma instância apenas impede que os usuários do Snowflake criem novos tokens de acesso de curta duração. Os usuários com tokens válidos ainda podem estabelecer novas conexões até que os tokens expirem, e as conexões existentes persistirão.

Depois de desabilitar a autorização do Snowflake, os usuários do Postgres mapeados para usuários do Snowflake não poderão usar a autenticação padrão do Postgres até que seus mapeamentos tenham sido removidos, conforme descrito em Criando mapeamentos entre usuários do Postgres e usuários do Snowflake abaixo.

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}';
Copy

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"';
Copy

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;
Copy

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.

  1. No menu de navegação, selecione Postgres.

  2. Selecione a instância.

  3. No menu Manage no canto superior direito, selecione Regenerate token.

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

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

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 user_id do usuário mapeado do Snowflake que aparece na exibição Exibição USERS.