Configurar o OAuth para conexões do Snowflake

Há várias maneiras de configurar o OAuth para conexões Snowflake, dependendo da versão do Tableau que você está usando e de quantos sites você está atualizando. Este tópico aborda a configuração de cada opção disponível.

  • Para todas as versões do Tableau até a versão 2024.1, inclusive, o conector Tableau Snowflake usa, por padrão, um proxy OAuth hospedado na AWS (GALOP), que usa um ID de cliente e um segredo comuns.
  • A partir do Tableau 2020.4, você pode configurar opcionalmente Tableau Server para usar um novo serviço OAuth executado no mesmo local da instância do Tableau. Isso requer o fornecimento de seu próprio ID de cliente e segredo, conhecido como OAuth personalizado.
  • A partir de 2024.2, o proxy GALOP será descontinuado e as instruções abaixo para configurar o OAuth personalizado serão obrigatório, pois agora usará o serviço OAuth local para autenticação.
  • Para Tableau Desktop e Tableau Cloud versões 2024.3 e posteriores, você pode configurar um IdP de terceiros (OAuth externo) para o Snowflake. Para obter mais informações, consulte OAuth externo para Snowflake.

Os benefícios fornecidos pelo Custom OAuth incluem:

  • Segurança aprimorada

  • Você pode usar o OAuth em ambientes isolados que não conseguem se conectar ao OAuth Proxy (GALOP).

  • Você não precisa listar com segurança os endereços IP do GALOP para executar o fluxo OAuth em VPCs AWS PrivateLink ou Azure Private Link.

Registrar cliente OAuth com Snowflake

Para usar uma configuração OAuth personalizada em Tableau Server, você deve primeiro registrar seu cliente OAuth e obter um ID de cliente e um segredo de cliente para concluir a configuração. Para o Tableau Server versões 2024.2 e posteriores, esta etapa é necessária, independentemente da opção de configuração usada. Para registrar um cliente personalizado OAuth com Snowflake, siga o etapas descritas em Configurar o Snowflake OAuth para clientes personalizados(O link abre em nova janela).

Depois de se registrar, você usará os seguintes parâmetros de Snowflake para configurar o Tableau Server:

  • URL da instância da conta
  • ID do cliente
  • Segredo do cliente
  • URL de redirecionamento

Observação: o URL de redirecionamento é o mesmo quando inserido no Snowflake e no Tableau. O formato é:
https://your_server_url.com/auth/add_oauth_token
Por exemplo, https://example.com/auth/add_oauth_token

Opção 1: configurar OAuth para conexões Snowflake usando TSM

Recomendamos usar esta opção quando precisar atualizar vários sites de uma vez.

Observação: esta opção de configuração não está disponível para o uso em Tableau Cloud.

  1. (Versões 2024.1 e anteriores) No computador do Tableau Server, execute o seguinte comando para ativar o serviço Snowflake OAuth:

    tsm configuration set -k native_api.enable_snowflake_privatelink_on_server -v true

    Observação: para versões 2024.2 e mais recentes, pule a etapa 1, independentemente de uma conexão privada Snowflake estar sendo usada ou não.

  2. Copie, cole e personalize o seguinte comando em um editor de texto:

    Observação: se você estiver fazendo essas alterações de configuração no Tableau Server 2021.1 e posterior, observe que o formato do valor oauth.snowflake.client foi alterado.

    tsm configuration set -k oauth.snowflake.clients -v " [{\"oauth.snowflake.instance_url\":\"https://account.snowflakecomputing.com\", \"oauth.snowflake.client_id\":\"client_id_string\", \"oauth.snowflake.client_secret\":\"client_secret_string\", \"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" }]"

    A chave oauth.snowflake.clientsobtém uma matriz de pares de chaves. Cada elemento no par de chaves deve estar entre aspas duplas. As aspas duplas devem ter \".

    Para especificar várias URLs de instância de conta, separe cada cliente OAuth adicional entre chaves ({}) com uma vírgula (,), como neste exemplo:

    tsm configuration set -k oauth.snowflake.clients -v " [{\"oauth.snowflake.instance_url\":\"https://account.snowflakecomputing.com\",\"oauth.snowflake.client_id\":\"client_id_string1\",\"oauth.snowflake.client_secret\":\"client_secret_string1\",\"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" },{\"oauth.snowflake.instance_url\":\"https://account2.snowflakecomputing.com\",\"oauth.snowflake.client_id\":\"client_id_string2\",\"oauth.snowflake.client_secret\":\"client_secret_string2\",\"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" }]"

    Substitua os valores de cada chave:

    • URL da instância da conta:oauth.snowflake.instance_url
    • ID do cliente: oauth.snowflake.client_id
    • Segredo do cliente: oauth.snowflake.client_secret
    • URL de redirecionamento: oauth.snowflake.redirect_uri

    Observação: antes de executar o comando, verifique cuidadosamente a sintaxe. O TSM não validará essa entrada.

    Copie o comando na CLI do TSM e execute-o.

  3. Insira o comando a seguir para aplicar as alterações:

    tsm pending-changes apply

    Se as alterações pendentes exigirem uma reinicialização do servidor, o comando pending-changes apply exibirá um prompt para que você saiba que ocorrerá uma reinicialização. Esse prompt será exibido mesmo que o servidor esteja parado, porém, nesse caso, não há reinicialização. Cancele o prompt com a opção --ignore-prompt, mas isso não altera o comportamento de reinicialização. Se as alterações não exigirem uma reinicialização, elas serão aplicadas sem um prompt. Para obter mais informações, consulte tsm pending-changes apply.

Opção 2: configurar OAuth para conexões Snowflake por site

Observação: esta opção também está disponível para Tableau Cloud começando com a versão 2024.2.

Você pode configurar um cliente Snowflake OAuth personalizado no nível do site usando a interface do usuário do Tableau Server.

Considere configurar um cliente OAuth personalizado para 1) substituir um cliente OAuth se configurado para o servidor ou 2) ativar o suporte para conexão segura a dados que requerem clientes OAuth exclusivos.

Quando um cliente OAuth personalizado é configurado, a configuração no nível do site tem precedência sobre qualquer configuração do lado do servidor, e todas as novas credenciais OAuth criadas usam o cliente OAuth no nível do site por padrão. Nenhuma reinicialização do Tableau Server é necessária para que as configurações tenham efeito.

Importante: as credenciais OAuth existentes estabelecidas antes da configuração do cliente OAuth personalizado podem ser usadas temporariamente, mas tanto os administradores do servidor quanto os usuários devem atualizar suas credenciais salvas para ajudar a garantir o acesso ininterrupto aos dados.

1: preparar a ID do cliente OAuth, a chave secreta do cliente e a URL de redirecionamento

Antes de configurar o cliente OAuth personalizado, você precisa das informações listadas abaixo. Depois de preparar essas informações, você pode registrar o cliente OAuth personalizado para o site. Para obter mais informações, consulte a seção Registrar cliente OAuth com Snowflake, acima.

  • ID do cliente OAuth e segredo do cliente: primeiro registre o cliente OAuth com o provedor de dados (conector) para recuperar a ID do cliente e o segredo gerado para o Tableau Server.

  • URL de redirecionamento: observe a URL de redirecionamento correto. Você precisará disso durante o processo de registro na Etapa 2 abaixo.

    https://<your_server_name>.com/auth/add_oauth_token

    Por exemplo, https://example.com/auth/add_oauth_token

2: registre a ID do cliente OAuth e a chave secreta do cliente

Siga o procedimento descrito abaixo para registrar o cliente OAuth personalizado no site.

  1. (Versões 2024.1 e anteriores) No computador do Tableau Server, execute o seguinte comando para ativar o serviço Snowflake OAuth:

    tsm configuration set -k native_api.enable_snowflake_privatelink_on_server -v true

    Observação: para versões 2024.2 e mais recentes, pule a etapa 1, independentemente de uma conexão privada Snowflake estar sendo usada ou não.

  2. Entre no site do Tableau Server usando suas credenciais de administrador acesse a página de Configurações.

  3. No Registro de clientes OAuth, clique no botão Adicionar cliente OAuth.

  4. Insira as informações necessárias, incluindo as informações da Etapa 1 acima:

    1. Para Tipo de conexão, selecione o conector, cujo cliente OAuth personalizado você deseja configurar.

    2. URL da instância OAuth é necessária se vários clientes OAuth estiverem sendo registrados. Caso contrário, é opcional.

    3. Para ID do cliente, Segredo do cliente e URL de redirecionamento, insira as informações que você preparou na Etapa 1 acima.

    4. Clique no botão Adicionar cliente OAuth para concluir o processo de registro.

  5. (Opcional) Repita a etapa 3 para todos os conectores compatíveis.

  6. Clique no botão Salvar na parte inferior ou superior da página Configurações para salvar as alterações.

3: validar e atualizar as credenciais salvas

Para ajudar a garantir o acesso ininterrupto aos dados, você (e os usuários do site) deve excluir as credenciais salvas anteriormente e adicioná-las novamente para usar o cliente OAuth personalizado para o site.

  1. Navegue até a página Minhas configurações da conta.

  2. Em Credenciais salvas para fontes de dados, faça o seguinte:

    1. Clique em Excluir ao lado das credenciais salvas existentes para o conector, cujo cliente OAuth personalizado você configurou na Etapa 2 acima.

    2. Ao lado do nome do conector, clique em Adicionar e siga as instruções para 1) conectar-se ao cliente OAuth personalizado configurado na Etapa 2 acima e 2) salvar as credenciais mais recentes.

4: notificar os usuários para atualizarem as credenciais salvas

Certifique-se de notificar os usuários do seu site para atualizar suas credenciais salvas para o conector, cujo cliente OAuth personalizado você configurou na Etapa 2 acima. Os usuários do site podem usar o procedimento descrito em Atualizar credenciais salvas para atualizar as credenciais salvas.

Agradecemos seu feedback!Seu feedback foi enviado. Obrigado!