Configuração do Snowflake OAuth para aplicativos de parceiros¶
Este tópico explica como configurar o acesso do Snowflake OAuth ao Snowflake para aplicativos de parceiros Snowflake com suporte. Este processo requer a criação de uma integração, um objeto Snowflake de primeira classe que define a interface entre o Snowflake e um aplicativo ou serviço de terceiros.
Importante
Ao conectar-se ao Snowflake utilizando qualquer aplicativo de terceiros, a Snowflake recomenda que você verifique se o fluxo de integração utilizado pela aplicativo atende às suas exigências internas de segurança. Você pode entrar em contato diretamente com o parceiro para obter detalhes sobre seu fluxo de ponta a ponta utilizado para este recurso.
Nota
A troca de funções durante a sessão para funções secundárias não tem suporte com o Snowflake OAuth.
Se este comportamento for necessário com seu fluxo de trabalho OAuth, use External OAuth.
Para obter mais informações, consulte Uso de funções secundárias com External OAuth.
Atualmente, o Snowflake OAuth suporta os seguintes aplicativos:
Cliente |
Versão necessária do cliente |
Tipo de cliente |
|---|---|---|
2019.1 ou superior |
Público |
|
6.20 ou superior |
||
Consulte a documentação Alation |
||
Consulte a documentação ThoughtSpot |
||
Consulte a documentação Collibra |
Configuração de uma integração do Snowflake OAuth¶
Crie uma integração usando o comando CREATESECURITYINTEGRATION. Uma integração é um objeto Snowflake que fornece uma interface entre o Snowflake e serviços de terceiros, tais como um cliente que suporta Snowflake OAuth.
Nota
Somente administradores de conta (ou seja, usuários com a função de sistema ACCOUNTADMIN) ou uma função com o privilégio global CREATE INTEGRATION podem executar este comando SQL.
Onde:
oauthClientParams
Bloqueio de funções específicas para o uso de integração¶
O parâmetro opcional BLOCKED_ROLES_LIST permite listar as funções do Snowflake que um usuário não pode consentir explicitamente em usar com a integração.
Por padrão, as funções ACCOUNTADMIN, SECURITYADMIN, GLOBALORGADMIN e ORGADMIN estão incluídas nesta lista e não podem ser removidas. Se você tiver uma necessidade comercial de permitir que os usuários usem o Snowflake OAuth com essas funções e se sua equipe de segurança permitir isso, entre em contato com o suporte Snowflake para solicitar que essas funções sejam permitidas para sua conta.
Controle da frequência de login¶
Quando um usuário tiver se autenticado com sucesso, o aplicativo do parceiro pode usar o token de atualização emitido para solicitar novos tokens de acesso de curta duração e não solicitar ao usuário que repita o processo de login até que o token de atualização expire. O parâmetro opcional OAUTH_REFRESH_TOKEN_VALIDITY especifica o período de tempo em que um token de atualização é válido (em segundos). Esta configuração pode ser usada para expirar o token de atualização periodicamente, forçando o usuário a repetir o processo de login.
Os valores mínimo, máximo e padrão com suporte para o parâmetro OAUTH_REFRESH_TOKEN_VALIDITY são os seguintes:
Aplicativo |
Mínimo |
Máximo |
Padrão |
|---|---|---|---|
Tableau Desktop |
|
|
|
Tableau Cloud |
|
|
|
Se você tem uma necessidade comercial de baixar o valor mínimo ou aumentar o valor máximo, entre em contato com o suporte Snowflake para solicitar a mudança para sua conta.
Uso do redirecionamento do cliente com Snowflake OAuth para aplicativos de parceiro¶
O Snowflake oferece suporte para o uso do Redirecionamento do cliente com Snowflake OAuth para aplicativos de parceiros, incluindo o uso do Redirecionamento do cliente e do Snowflake OAuth com clientes Snowflake com suporte.
Para obter mais informações, consulte Redirecionamento de conexões do cliente.
Gerenciamento de políticas de rede¶
O Snowflake oferece suporte a políticas de rede para Looker, mas não para outros aplicativos de parceiros. Para obter mais informações, consulte Restringindo o tráfego de rede para o Snowflake OAuth.
Exemplos¶
Tableau Desktop
O exemplo seguinte cria uma integração do Snowflake OAuth com as configurações padrão:
Ver as configurações de integração usando DESCRIBE INTEGRATION:
O exemplo seguinte cria uma integração do Snowflake OAuth com tokens de atualização que expiram após 10 horas (36000 segundos). A integração bloqueia o início de uma sessão com SYSADMIN como a função ativa:
Tableau Cloud
O exemplo seguinte cria uma integração do Snowflake OAuth com as configurações padrão:
Ver as configurações de integração usando DESCRIBE INTEGRATION:
O exemplo a seguir cria uma integração do Snowflake OAuth com tokens de atualização que expiram após 1 dia (86400 segundos). A integração bloqueia o início de uma sessão com SYSADMIN como a função ativa:
Login no Snowflake a partir de um aplicativo de parceiro¶
Tableau¶
Siga as instruções fornecidas pela Tableau para conectar-se ao Snowflake usando o Snowflake OAuth.
Looker¶
Siga os passos fornecidos pela Looker para conectar-se ao Snowflake usando o Snowflake OAuth.
Alation¶
Acesse a comunidade Alation e siga as instruções fornecidas pela Alation para conectar-se ao Snowflake usando o Snowflake OAuth.
ThoughtSpot¶
Acesse a documentação ThoughtSpot e siga as instruções para criar uma conexão com o Snowflake, que inclui uma etapa sobre como configurar o Snowflake OAuth.
Collibra¶
Acesse a documentação Collibra e siga as instruções fornecidas pela Collibra para se conectar ao Snowflake usando o Snowflake OAuth.
Gerenciamento do consentimento do usuário¶
Esta seção descreve como gerenciar autorizações delegadas, ou seja, o consentimento do usuário dado a um ou mais clientes associados às integrações do Snowflake.
Exibição de consentimentos do Snowflake OAuth¶
Liste as autorizações delegadas ativas para as quais você tem privilégios de acesso, usando SHOW DELEGATED AUTHORIZATIONS:
Relacione as autorizações delegadas ativas para um usuário especificado. Os usuários podem listar suas próprias autorizações delegadas; caso contrário, esta variante de comando requer o privilégio OWNERSHIP sobre o usuário.
Relacione as autorizações delegadas ativas para uma integração específica. Esta variante de comando requer o privilégio OWNERSHIP para a integração (ou seja, a função ACCOUNTADMIN):
Revogação de consentimento¶
Um usuário pode revogar o consentimento de uma integração específica. Isto tem o efeito de revogar qualquer token de acesso associado com a integração.
Para revogar o consentimento do usuário para uma determinada integração, execute o comando ALTER USER … REMOVE DELEGATED AUTHORIZATIONS.
Nota
Somente administradores de segurança (ou seja, usuários com a função SECURITYADMIN) ou superior podem executar este comando SQL.
Onde:
usernameEspecifica o usuário cujo consentimento você está revogando.
integration_nameEspecifica a integração associada com os tokens de acesso para um cliente específico.
Para revogar o consentimento do usuário associado a uma função específica, inclua o parâmetro OF ROLE role_name na instrução:
Onde:
role_nameEspecifica a função associada com o token de acesso.
Todos os tokens de acesso associados com a função são revogados.
Códigos de erro¶
Consulte em Códigos de erro uma lista de códigos de erro associados ao OAuth, bem como erros que são retornados no blob JSON, durante o fluxo de autorização, solicitação ou troca de tokens ou ao criar uma sessão do Snowflake após completar o fluxo OAuth.