Saiba mais sobre os requisitos do Keytab.

A autenticação Kerberos depende das credenciais armazenadas em arquivos especialmente formatados chamados arquivos keytab. Pode ser necessário gerar arquivos keytab para sua implantação do Tableau Server. Este tópico descreve os arquivos keytab usados pelo Tableau Server para acessar vários serviços em uma empresa típica. Talvez seja necessário gerar keytabs para integrar o Tableau aos seguintes serviços:

  • Autenticação de usuário (SSO) no Windows Active Directory
  • Delegação da fonte de dados
  • Sistema operacional
  • Serviço do diretório

Importante: A partir do Tableau Server 2021.2.25, 2021.3.24, 2021.4.19, 2022.1.15, 2022.3.7 e 2023.1.3 (ou posterior), certifique-se de que os arquivos keytab sejam criados com cifras AES-128 ou AES-256. As cifras RC4 e 3DES não são mais aceitas. Para obter mais informações, consulte "O Tableau Server não conseguiu autenticá-lo automaticamente"(O link abre em nova janela) na base de conhecimento do Tableau.

Se sua empresa incluir profissionais de TI que tratam de identidade, autenticação e/ou segurança, você deve trabalhar com eles para criar um plano para gerar keytabs adequados para a implantação do Tableau Server.

Autenticação de usuário (SSO) no Windows Active Directory

Caso você use o Active Directory como o repositório de identidades do Tableau Server, e queira que os usuários autentiquem com o Kerberos SSO, será necessário gerar um arquivo keytab para o Tableau Server.

O Tableau esta executando no...Precisa gerar o keytab manualmente?
Windows no domínio do Active DirectorySim
Linux no domínio do Active DirectorySim
Windows ou Linux em ambiente que não seja o Active DirectoryO SSO do Kerberos não é um cenário compatível.

Siga as recomendações a seguir (para versões do Windows e Linux do Tableau Server):

  • Crie uma conta de serviço em seu diretório para o Tableau Server.

  • Crie um arquivo keytab especialmente para a conta de serviço do Tableau Server. Na reutilize o arquivo keytab que a conta/sistema operacional do computador usa para autenticação. Você pode usar o mesmo keytab para Kerberos SSO usado para a autenticação do diretório no cenário acima.

  • É necessário criar nomes principais do servidor (SPN) no Active Directory para o serviço do Tableau Server.

  • Use o arquivo de lote na próxima seção para criar os SPNs e o arquivo keytab.

  • Depois de criar os SPNs, faça o upload do arquivo keytab conforme descrito em Configurar o Kerberos.

Arquivo de lote: definir o SPN e criar keytab no Active Directory

Você pode usar um arquivo de lote para definir os nomes principais do servidor (SPN) e criar um arquivo keytab. Essas operações são parte do processo para habilitar o SSO do Kerberos para o Tableau Server (no Windows e no Linux) em execução no Active Directory.

Nas versões anteriores do Tableau Server (antes de 2018.2), o script de configuração foi gerado a partir do utilitário de configuração do Tableau Server.

Para gerar um script de configuração, copie e cole os conteúdos a seguir do arquivo de lote em um arquivo de texto. O arquivo de lote cria nomes principais do servidor (SPN) para o Tableau Server e criará um arquivo keytab para o usuário especificado no arquivo.

Siga as instruções nos conteúdos do arquivo. Depois de concluir a personalização do arquivo, salve como um arquivo .bat.

Este arquivo deve ser executado em um domínio Active Directory por um administrador de domínio, que deverá fornecer a senha da conta de serviço especificada no arquivo.

O arquivo de lote usa os comandos set(O link abre em nova janela), setspn(O link abre em nova janela) e ktpass(O link abre em nova janela) do Windows.

Observação: o arquivo de lote abaixo é autodocumentado. No entanto, se você não tiver experiência com o Kerberos e a geração de arquivos keytab, recomenda-se a leitura da publicação do blog da Microsoft, Tudo o que você precisa saber sobre arquivos keytab(O link abre em nova janela), antes de continuar. Os detalhes do ambiente na sua organização podem exigir configuração adicional do comando ktpass. Por exemplo, você deve determinar o que definir para o parâmetro /crypto. Recomenda-se especificar um único valor /crypto, que é exigido pelo KDC. Consulte o artigo da Microsoft, ktpass(O link abre em nova janela) para obter a lista completa de valores suportados para o parâmetro /crypto.

A criação de um arquivo keytab para autenticação do usuário no Active Directory deve ser executada em um computador com Windows, como especificado aqui. A criação desse arquivo keytab em um computador Linux não é compatível.

Conteúdos do SPN e arquivo de lote keytab

A partir do Tableau Server 2022.3, 2022.1.8, 2021.4.12, 2021.3.17, 2021.2.18, 2021.1.20 e 2020.4.23

@echo off
setlocal EnableDelayedExpansion

REM ******* 

REM This script generates the Service Principal Names (SPNs) and keytab files required for 
REM Kerberos SSO with Apache.
REM This script executes set, setspn, and ktpass commands included in any Windows Server 
REM Operating System from 2003 on.
REM Before running this script you must enter configuration information for the setspn and 
REM ktpass commands. 
REM Elements that require your configuration information are enclosed in as such:
REM  ! -- and --!. 
REM After you customize this file, save it as a .bat file, and run on a domain-joined 
REM computer. 
REM This script must be run by a Domain admin.

REM **********

REM The following set command will prompt the domain admin for credentials of the 
REM Tableau Server service account. 
REM This account must be a valid domain user account.
REM If the password contains a literal \" (blackslash - double quote), all backslashes 
REM immediately before the double quote must be
REM duplicated when typed for the password to work, e.g. if password contains 
REM  \" replace with \\", if passwords contains \\" replace with \\\\"

set /p adpass= "Enter password for the Tableau Server service account."
set adpass=!adpass:"=\"!

REM **********

REM The following setspn commands create the SPN in the domain.
REM More information on setspn can be found here: 
REM http://technet.microsoft.com/en-us/library/cc731241(WS.10).aspx  
REM Enter the canonical FQDN and the host names for Tableau Server followed by the  
REM Tableau Server service account name.
REM Use this syntax: HTTP/hostname domain\service_account_name.
REM The example below shows syntax for a computer named "tableau01" in the "example.lan"  
REM domain, with service account, "tab-serv-account":
REM setspn -s HTTP/tableau01 example\tab-serv-account
REM setspn -s HTTP/tableau01.example.lan example\tab-serv-account  
REM DNS and AD are not case sensitive, but the keytab files are.  Verify that host names  
REM match letter case as stored in DNS. 
REM Use Windows Server's DNS Manager utility to verify host name case.

REM **********

echo Creating SPNs...
setspn -s HTTP/!--replace with canonical host name and service account --!
setspn -s HTTP/!--replace with canonical FQDN and service account --!

REM **********

REM The following commands create the keytab file in the same directory where the 
REM bat file is run. More information on ktpass can be found here: 
REM https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/ktpass 
REM Note: keytab files are case-sensitive.
REM The realm following the FQDN should be all uppercase.
REM Syntax is:
REM ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass!
REM /pttype KRB5_NTPRINCIPAL /crypto !--cipher--! /out keytabs\kerberos.keytab
REM Best practice: specify the /crypto value that is required by your KDC. 
REM Options for /crypto = {DES-CBC-CRC|DES-CBC-MD5|AES256-SHA1|AES128-SHA1|All}
REM Do not specify /crypto All because it will result in a keytab that contains ciphers that are not supported
REM and cause errors.
REM When using AES256-SHA1 OR AES128-SHA1, the /mapuser option must be included 
REM in the ktpass command to ensure the keytab file is mapped properly to the user. For example:
REM ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass! /ptype KRB5_NT_PRINCIPAL /mapuser <domain\username> /crypto AES256-SHA1 /out keytabs\kerberos.keytab
REM The following example shows the ktpass syntax with the example.lan configuration from above:
REM ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass! /ptype KRB5_NT_PRINCIPAL /crypto DES-CBC-CRC /out keytabs\kerberos.keytab
					
REM **********

echo Creating Keytab files in %CD%\keytabs
mkdir keytabs
ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass! /ptype KRB5_NT_PRINCIPAL /crypto DES-CBC-CRC /out keytabs\kerberos.keytab

Para versões anteriores do Tableau Server

@echo off
setlocal EnableDelayedExpansion

REM ******* 

REM This script generates the Service Principal Names (SPNs) and keytab files required for 
REM Kerberos SSO with Apache.
REM This script executes set, setspn, and ktpass commands included in any Windows Server 
REM Operating System from 2003 on.
REM Before running this script you must enter configuration information for the setspn and 
REM ktpass commands. 
REM Elements that require your configuration information are enclosed in as such:
REM  ! -- and --!. 
REM After you customize this file, save it as a .bat file, and run on a domain-joined 
REM computer. 
REM This script must be run by a Domain admin.

REM **********

REM The following set command will prompt the domain admin for credentials of the 
REM Tableau Server service account. 
REM This account must be a valid domain user account.
REM If the password contains a literal \" (blackslash - double quote), all backslashes 
REM immediately before the double quote must be
REM duplicated when typed for the password to work, e.g. if password contains 
REM  \" replace with \\", if passwords contains \\" replace with \\\\"

set /p adpass= "Enter password for the Tableau Server service account."
set adpass=!adpass:"=\"!

REM **********

REM The following setspn commands create the SPN in the domain.
REM More information on setspn can be found here: 
REM http://technet.microsoft.com/en-us/library/cc731241(WS.10).aspx  
REM Enter the canonical FQDN and the host names for Tableau Server followed by the  
REM Tableau Server service account name.
REM Use this syntax: HTTP/hostname domain\service_account_name.
REM The example below shows syntax for a computer named "tableau01" in the "example.lan"  
REM domain, with service account, "tab-serv-account":
REM setspn -s HTTP/tableau01 example\tab-serv-account
REM setspn -s HTTP/tableau01.example.lan example\tab-serv-account  
REM DNS and AD are not case sensitive, but the keytab files are.  Verify that host names  
REM match letter case as stored in DNS. 
REM Use Windows Server's DNS Manager utility to verify host name case.

REM **********

echo Creating SPNs...
setspn -s HTTP/!--replace with canonical host name and service account --!
setspn -s HTTP/!--replace with canonical FQDN and service account --!

REM **********

REM The following commands create the keytab file in the same directory where the 
REM bat file is run. More information on ktpass can be found here: 
REM https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/ktpass 
REM Note: keytab files are case-sensitive.
REM The realm following the FQDN should be all uppercase.
REM Syntax is:
REM ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass!
REM /pttype KRB5_NTPRINCIPAL /crypto !--cipher--! /out keytabs\kerberos.keytab
REM Best practice: specify the /crypto value that is required by your KDC. 
REM Options for /crypto = {DES-CBC-CRC|DES-CBC-MD5|RC4-HMAC-NT|AES256-SHA1|AES128-SHA1|All}
REM Specifying /crypto All will result in passwords stored with RC4 cipher, which is
REM no longer considered secure.
REM When using AES256-SHA1 OR AES128-SHA1, the /mapuser option must be included 
REM in the ktpass command to ensure the keytab file is mapped properly to the user. For example:
REM ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass! /ptype KRB5_NT_PRINCIPAL /mapuser <domain\username> /crypto AES256-SHA1 /out keytabs\kerberos.keytab
REM The following example shows the ktpass syntax with the example.lan configuration from above:
REM ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass! /ptype KRB5_NT_PRINCIPAL /crypto DES-CBC-CRC /out keytabs\kerberos.keytab
					
REM **********

echo Creating Keytab files in %CD%\keytabs
mkdir keytabs
ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass! /ptype KRB5_NT_PRINCIPAL /crypto DES-CBC-CRC /out keytabs\kerberos.keytab

Sistema operacional

Se sua empresa usa o Kerberos para autenticação, o computador onde o Tableau Server está sendo executado deve ser autenticado com o escopo do Kerberos no qual está sendo executado.

O Tableau esta executando no...Precisa gerar o keytab manualmente?
Windows no domínio do Active DirectoryNão
Linux no domínio do Active DirectorySim
Windows ou Linux em ambiente que não seja o Active DirectorySim

Se você estiver executando o Tableau Server no Windows e o computador estiver vinculado ao Active Directory, não será necessário gerenciar ou gerar um arquivo keytab para o sistema operacional.

Se estiver executando o Tableau Server no Linux em um escopo do Kerberos(MIT KDC ou Active Directory), será necessário gerar um arquivo keytab especificamente para o sistema operacional do computador. O keytab criado para o computador deve ser especificamente para a autenticação do sistema operacional. Não use o mesmo arquivo keytab para autenticação do sistema operacional que será usado para os outros serviços descritos posteriormente neste tópico.

Serviço do diretório

Se sua empresa usar um serviço de diretório, como LDAP ou Active Directory, para gerenciar a identidade de usuário, o Tableau Server solicitará acesso de apenas leitura para o diretório.

Como alternativa, é possível configurar o Tableau Server para gerenciar todas as contas instalando com um repositório de identidades local. Nesse caso, não será necessário um keytab.

A tabela a seguir resume as solicitações do keytab:

O Tableau esta executando no...Serviço do diretórioPrecisa gerar o keytab manualmente?
Windows no domínio do ADActive DirectoryNão
WindowsLDAP (GSSAPI bind)Sim
LinuxActive Directory ou LDAP (associação GSSAPI)Sim
Windows ou LinuxActive Directory ou LDAP (associação simples)Não
Windows ou LinuxRepositório de identidades localNenhum keytab exigido.

Se precisar gerar um keytab manualmente para este cenário, você vai usá-lo para associação GSSAPI ao diretório. Siga as recomendações a seguir:

  • Crie uma conta de serviço em seu diretório para o Tableau Server.

  • Crie um arquivo keytab especialmente para a conta de serviço do Tableau Server. Na reutilize o arquivo keytab que a conta/sistema operacional do computador usa para autenticação.

  • Faça upload do arquivo keytab como parte da configuração json do repositório de identidades do Tableau Server. Consulte Entidade identityStore.

Como parte do seu plano de recuperação de desastres, recomendamos manter um backup dos arquivos keytab e conf em um local seguro fora do Tableau Server. Os arquivos keytab e conf que você adicionar ao Tableau Server serão armazenados e distribuídos para outros nós pelo Serviço de arquivos do cliente. No entanto, os arquivos não são armazenados em um formato recuperável. Consulte Serviço de arquivo do cliente do Tableau Server.

Delegação de fonte de dados

Também é possível usar a delegação do Kerberos para acessar fontes de dados em um Active Directory. Neste cenário, os usuários podem ser autenticados para o Tableau Server com qualquer mecanismo de autenticação compatível (SAML, autenticação local, Kerberos etc.) e acessar fontes de dados habilitadas pelo Kerberos.

Siga as recomendações a seguir:

  • A conta do computador do Tableau Server (Windows ou Linux) deve estar no domínio do Active Directory.

  • O arquivo keytab usado para a delegação do Kerberos pode ser o mesmo usado para a autenticação de usuário (SSO ) do Kerberos.

  • O keytab deve ser mapeado para o principal do servidor para a delegação do Kerberos no Active Directory.

  • Você pode usar o mesmo keytab para várias fontes de dados.

Para obter mais informações, consulte os tópicos de configuração a seguir:

Agradecemos seu feedback!Seu feedback foi enviado. Obrigado!