Ativar a autenticação Kerberos Run As para conectores JDBC

A partir da versão 2020.2, o Tableau Server é compatível com a autenticação Kerberos para conectores SMTP.

O Tableau Server pode ser configurado para usar uma conta de serviço Kerberos para acessar um banco de dados. Nesse cenário, o Tableau Server se conecta aos bancos de dados com uma conta de serviço, também conhecida como “conta de serviço Run As”. Esse cenário é chamado de “autenticação Run As”.

Consulte Conta de serviço Run As.

Para usar a autenticação Run As no Tableau Server, você deve primeiro criar uma pasta de trabalho ou fonte de dados no Tableau Desktop que use autenticação integrada. Quando você publicar no Tableau Server, terá a opção de usar a autenticação Run As. Ao criar uma fonte de dados com a Criação na Web, a autenticação Run As é a operação padrão se você selecionar autenticação integrada.

Fontes de dados compatíveis

O Tableau é compatível com a delegação JDBC Kerberos com as seguintes fontes de dados:

  • Oracle
  • PostgreSQL

Se você estiver configurando a autenticação Run As para uma fonte de dados Oracle que usa um conector JDBC, siga o procedimento neste tópico. Como alternativa, se o conector executado no Tableau Server usar um driver nativo, você não precisará seguir os passos deste tópico. Em vez disso, siga os passos para criar uma conta de serviço Run As conforme documentado no tópico, Alterar a conta de serviço Run As.

Requisitos

A delegação do Kerberos exige o Active Directory.

  • O armazenamento de informações do Tableau Server deve ser configurado para usar LDAP - Active Directory.
  • O MIT KDC não é compatível.

Processo de configuração

Esta seção fornece um exemplo do processo para ativar a autenticação Kerberos Run As.

  1. Crie um arquivo keytab para a conta de serviço Run As.

    O exemplo a seguir usa a ferramenta ktab fornecida com o JDK. É possível baixar a ferramenta no AdoptOpenJDK(O link abre em nova janela). Ao usar o ktab para criar o keytab, use um principal de logon no formato UPN (por exemplo, service@EXAMPLE.COM) e não um nome principal de serviço (por exemplo, HTTP/service.example.com@EXAMPLE.COM). Além disso, é possível gerar keytabs com o utilitário ktpass. Nesse caso, você pode usar qualquer estilo de nome principal.

    <JDK_HOME>/bin/ktab -k E:/tmp/tabsrv.keytab -a tabsrv@EXAMPLE.COM

    O Tableau Server usará a conta de serviço Run As e o keytab associado para autenticar e fazer uma conexão direta com o banco de dados.

  2. Copie o keytab no diretório de dados do Tableau Server e verifique se a conta de serviço Run As pode acessar e ler o arquivo keytab. Por padrão, o diretório de registro do Tableau Server encontra-se em C:\ProgramData\Tableau. Se estiver executando o Tableau Server em uma implantação distribuída, realize essa etapa em cada nó no cluster.

  3. Execute os seguintes comandos TSM para definir a conta de serviço Run As e o caminho para o arquivo keytab:

    tsm configuration set -k native_api.datasource_runas_principal -v tabsrv@EXAMPLE.COM
    tsm configuration set -k native_api.datasource_runas_keytab_path -v <path-to-file>kerberos.keytab

    Em alguns casos, o TSM pode retornar um erro mencionando o --force-keys. Caso tenha recebido esse erro, execute o comando novamente com o parâmetro --force-keys anexado ao argumento.

  4. Crie um arquivo krb5.conf e instale em C:\Windows em todos os nós do Tableau Server.

    Se você já implantou um arquivo krb5.ini nos computadores da empresa, copie esse arquivo e use-o no Tableau Server. Para obter mais informações, consulte o tópico de Documentação do MIT Kerberos, krb5.conf(O link abre em nova janela).

    Para alterar a localização do arquivo de configuração Kerberos, execute o seguinte comando TSM:

    tsm configuration set -k native_api.kerberos_config_path --force-keys -v "C:\temp\krb5.ini"

    O exemplo a seguir mostra um arquivo krb5.conf. O Suporte do Tableau não pode ajudar na criação do krb5.conf.

    [libdefaults]
    forwardable = true
    default_realm = EXAMPLE.COM
    default_tkt_enctypes = rc4-hmac
    default_tgs_enctypes = rc4-hmac
    
    [realms]
    EXAMPLE.COM = {
    kdc = kdc.example.com
    admin_server = kdc.example.com
    }
    
    [domain_realm]
    .example.com = EXAMPLE.COM
    example.com = EXAMPLE.COM
  5. Execute o seguinte comando do TSM para aplicar as alterações ao Tableau Server:

    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.