Habilitar o acesso à conta de serviço do Kerberos

O Tableau Server pode ser configurado para usar uma conta de serviço Kerberos para acessar um banco de dados. Neste cenário, o Tableau Server se conecta aos bancos de dados com uma conta de serviço, também referenciada como uma "conta do serviço RunAs".

Para usar a autenticação RunAs no Tableau Server, você deve primeiro criar uma pasta de trabalho ou fonte de dados que usa autenticação integrada. Quando os usuários publicarem no Tableau Server, eles terão a opção de autenticação RunAs. Se você criar uma fonte de dados com a criação na Web do Tableau Server que usa autenticação integrada, a fonte de dados usará a autenticação RunAs por padrão.

Observação: a autenticação integrada também é conhecida como autenticação do Windows em alguns conectores. Em ambos os casos, o Tableau Server usa a autenticação Kerberos.

Acesso aos dados com a conta de serviço RunAs

Para usar a autenticação RunAs, a conta RunAs requer permissões de leitura e consulta em bancos de dados externos. Como padrão, os usuários do Tableau Server com a função Criator (Criador) ou Explorer (Can Publish) Explorador (pode publicar) têm acesso total à conta RunAs para consultas a bancos de dados externos.

Por exemplo, um usuário com a função Creator pode visualizar todos os bancos de dados com acesso concedido à conta de serviço RunAs. Eles também podem listar tabelas e executar o SQL personalizado.

Se o usuário Creator (Criador) especifica o nome de host do banco de dados e seleciona Autenticação integrada ao criar uma nova fonte de dados com criação na Web, então os bancos de dados que receberam acesso RunAs serão exibidos para o usuário.

O acesso de exibição aos ativos de banco de dados não se restringe aos usuários que se conectam ao Tableau Server com a criação na Web. Os usuários sofisticados, que têm as mesmas funções mencionadas acima e conhecem nomes de servidores de banco de dados, poderiam criar pastas de trabalho com o Tableau Desktop que exibem bancos de dados que receberam acesso RunAs.

Recomendações

A organização deve avaliar se o acesso do usuário aos bancos de dados nesses cenários é aceitável. Geralmente, reduzir o uso e o escopo da conta de serviço RunAs reduzirá a probabilidade de acesso inadvertido do usuário ao conteúdo do banco de dados. No entanto, reduzir o uso e o escopo da conta de serviço RunAs também pode impor mais gerenciamento de credenciais para você e seus usuários.

Avalie as recomendações a seguir no contexto das necessidades da sua empresa e das políticas de acesso aos dados.

  • Em primeiro lugar, você deve confiar em todos os usuários que têm funções de Creator ou Explorer (pode publicar). Você dependerá desses usuários para realizar as ações no Tableau com integridade.
  • Se você não puder confiar em todos os usuários que têm direitos de publicação nas fontes de dados acessadas pela conta de serviço RunAs, você deve considerar o uso de credenciais inseridas para essas fontes de dados.
  • Se uma fonte de dados não for configurada para atualizações de extração automáticas, ou seja, a fonte de dados é acessada principalmente como uma conexão em tempo real, você pode utilizar a Delegação Kerberos. Para obter os requisitos, consulte Habilitar a Delegação do Kerberos.

Requisitos

  • O MIT Kerberos não é compatível.
  • A conta de serviço RunAs deve ter acesso de leitura ao banco de dados de destino.

Processo de configuração

Esta seção fornece um exemplo do processo para habilitar o acesso à conta de serviço do Kerberos.

  1. Crie uma conta de usuário de domínio para atuar como a conta de serviço RunAs. Esta conta deve ter acesso de leitura ao banco de dados de destino.

    Neste exemplo, a conta de serviço RunAs é a principal do Usuário chamado tabsrv@example.com.

  2. Crie um arquivo keytab para a conta de serviço RunAs.

    Por exemplo, os seguintes comandos criam um keytab (tabsrv-runas.keytab) usando a ferramenta ktutil:

    ktutil
    ktutil:  addent -password -p tabsrv@EXAMPLE.COM -k 2 -e <encryption scheme>

    Os esquemas de criptografia para este comando incluem RC4-HMAC, aes128-cts-hmac-sha1-96 e aes256-cts-hmac-sha1-96. Consulte sua equipe de TI para obter o esquema de criptografia correto para o ambiente e a fonte de dados.

    ktutil:  wkt tabsrv-runas.keytab

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

  3. Copie o keytab no diretório de dados do Tableau Server e defina a propriedade e as permissões adequadas. O keytab deve ser legível pelo usuário sem privilégios. O usuário sem privilegiado padrão criado pela Configuração do Tableau é tableau.

    Se você estiver executando uma implantação de múltiplos nós, execute os seguintes comandos em cada nó do cluster:

    mkdir /var/opt/tableau/tableau_server/keytab                
    sudo cp -p tabsrv-runas.keytab /var/opt/tableau/tableau_server/keytab                 
    sudo chown $USER /var/opt/tableau/tableau_server/keytab/tabsrv-runas.keytab                  
    chgrp tableau /var/opt/tableau/tableau_server/keytab/tabsrv-runas.keytab                  
    chmod g+r /var/opt/tableau/tableau_server/keytab/tabsrv-runas.keytab 
    
  4. Execute os seguintes comandos do TSM para ativar o acesso RunAs, defina a conta de serviço RunAs e associe o arquivo keytab à conta de serviço.

    tsm configuration set -k features.RunAsAuthLinux -v true --force-keys
    tsm configuration set -k native_api.datasource_runas_principal -v tabsrv@EXAMPLE.COM --force-keys
    tsm configuration set -k native_api.datasource_runas_keytab_path -v /var/opt/tableau/tableau_server/keytab/tabsrv-runas.keytab --force-keys			
  5. Execute o seguinte comando do TSM para aplicar as alterações à implantação do 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.

Agradecemos seu feedback!Seu feedback foi enviado. Obrigado!