De basisprincipes van keytab-vereisten

Kerberos-verificatie is afhankelijk van referenties die zijn opgeslagen in speciaal opgemaakte bestanden, de zogenaamde keytab-bestanden. Mogelijk moet u keytab-bestanden genereren voor uw Tableau Server-implementatie. In dit onderwerp worden de keytab-bestanden beschreven die Tableau Server gebruikt om toegang te krijgen tot verschillende services in een typische organisatie. Mogelijk moet u keytabs genereren voor Tableau Server om deze te integreren met de volgende services:

  • Gebruikersverificatie (SSO) in Windows Active Directory
  • Databrondelegatie
  • Besturingssysteem
  • Directoryservice

Belangrijk: Vanaf Tableau Server 2021.2.25, 2021.3.24, 2021.4.19, 2022.1.15, 2022.3.7 en 2023.1.3 (of later) moet u ervoor zorgen dat keytab-bestanden worden gemaakt met AES-128- of AES-256-codering. RC4- en 3DES-coderingen worden niet meer ondersteund. Zie "Tableau Server kan u niet automatisch verifiëren"(Link wordt in een nieuw venster geopend) in de Tableau-knowledgebase voor meer informatie.

Als er in uw organisatie IT-professionals werkzaam zijn die identiteit, verificatie en/of beveiliging afhandelen, kunt u met hen samenwerken om een plan te maken voor het genereren van geschikte keytabs voor uw Tableau Server-implementatie.

Gebruikersverificatie (SSO) in Windows Active Directory

Als u Active Directory als identiteitenarchief voor Tableau Server gebruikt en u wilt dat gebruikers zich verifiëren via Kerberos SSO, moet u een keytab-bestand voor Tableau Server genereren.

Tableau draait op...Moet u handmatig een keytab genereren?
Windows in Active Directory-domeinJa
Linux in Active Directory-domeinJa
Windows of Linux in een niet-Active Directory-omgevingKerberos SSO wordt niet ondersteund.

Volg deze aanbevelingen (voor Windows- en Linux-versies van Tableau Server):

  • Maak een serviceaccount in uw directory voor Tableau Server.

  • Maak een keytab specifiek voor het Tableau Server-serviceaccount. Gebruik het keytab-bestand dat het computeraccount/besturingssysteem gebruikt voor verificatie niet opnieuw. U kunt dezelfde keytab voor Kerberos SSO gebruiken als voor de directoryverificatie in het bovenstaande scenario.

  • U moet Service Principal Names (SPN's) in Active Directory maken voor de Tableau Server-service.

  • Gebruik het batchbestand in de volgende sectie om de SPN's en het keytab-bestand te maken.

  • Nadat u de SPN's hebt gemaakt, uploadt u het keytab-bestand zoals beschreven in Kerberos configureren.

Batchbestand: SPN instellen en keytab maken in Active Directory

U kunt een batchbestand gebruiken om de SPN's (Service Principal Names) in te stellen en een keytab-bestand te maken. Deze bewerkingen maken deel uit van het proces om Kerberos SSO in te schakelen voor Tableau Server (op Windows of Linux) dat in Active Directory wordt uitgevoerd.

In eerdere versies van Tableau Server (vóór 2018.2) werd het configuratiescript gegenereerd vanuit het hulpprogramma Tableau Server Configuration.

Om een configuratiescript te genereren, kopieert en plakt u de volgende batchbestandinhoud in een tekstbestand. Het batchbestand maakt Service Principal Names (SPN's) voor Tableau Server en maakt een keytab-bestand voor de gebruiker die u in het bestand opgeeft.

Volg de instructies in de bestandsinhoud. Nadat u klaar bent met het aanpassen van het bestand, slaat u het op als een .bat-bestand.

Dit bestand moet in een Active Directory-domein worden uitgevoerd door een domeinbeheerder. Deze wordt gevraagd om het wachtwoord van het serviceaccount dat u in het bestand opgeeft.

Het batchbestand gebruikt de Windows-opdrachten set(Link wordt in een nieuw venster geopend), setspn(Link wordt in een nieuw venster geopend) en ktpass(Link wordt in een nieuw venster geopend).

Opmerking: Het onderstaande batchbestand bevat eigen documentatie. Als u echter geen ervaring hebt met Kerberos en het genereren van keytab-bestanden, raden wij u aan het Microsoft-blogbericht Alles wat u moet weten over keytab-bestanden(Link wordt in een nieuw venster geopend) (in het Engels) te lezen voordat u verdergaat. Omgevingsdetails in uw organisatie vereisen mogelijk aanvullende configuratie van de ktpass-opdracht. U moet bijvoorbeeld bepalen wat u moet instellen voor de /crypto-parameter. Wij raden aan om één enkele /crypto-waarde op te geven die vereist is door uw KDC. Zie het Microsoft-artikel kt-pass(Link wordt in een nieuw venster geopend) voor de volledige lijst met ondersteunde waarden voor de /crypto-parameter.

Inhoud van SPN- en keytab-batchbestanden

Vanaf Tableau Server 2022.3, 2022.1.8, 2021.4.12, 2021.3.17, 2021.2.18, 2021.1.20 en 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

Voor eerdere versies van 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

Besturingssysteem

Als uw organisatie Kerberos gebruikt voor verificatie, moet de computer waarop Tableau Server wordt uitgevoerd, worden geverifieerd met het Kerberos-realm waarin deze wordt uitgevoerd.

Tableau draait op...Moet u handmatig een keytab genereren?
Windows in Active Directory-domeinNee
Linux in Active Directory-domeinJa
Windows of Linux in een niet-Active Directory-omgevingJa

Als u Tableau Server op Windows uitvoert en de computer is gekoppeld aan Active Directory, hoeft u geen keytab-bestand voor het besturingssysteem te beheren of te genereren.

Als u Tableau Server op Linux in een Kerberos-realm (MIT KDC of Active Directory) uitvoert, moet u een keytab-bestand genereren dat specifiek is voor het besturingssysteem van de computer. De keytab die u voor de computer maakt, moet specifiek bedoeld zijn voor OS-verificatie. Gebruik niet hetzelfde keytab-bestand voor OS-verificatie als voor de andere services die later in dit onderwerp worden beschreven.

Directoryservice

Als uw organisatie een directoryservice, zoals LDAP of Active Directory, gebruikt om de identiteit van gebruikers te beheren, vereist Tableau Server alleen-lezentoegang tot de directory.

U kunt Tableau Server ook configureren om alle accounts te beheren door te installeren met een lokaal identiteitenarchief. In dit geval hebt u geen keytab nodig.

De volgende tabel vat de keytab-vereisten samen:

Tableau draait op...DirectoryserviceMoet u handmatig een keytab genereren?
Windows in AD-domeinActive DirectoryNee
WindowsLDAP (GSSAPI-binding)Ja
LinuxActive Directory of LDAP (GSSAPI-binding)Ja
Windows of LinuxActive Directory of LDAP (eenvoudige binding)Nee
Windows of LinuxLokaal identiteitenarchiefGeen keytab vereist.

Als u handmatig een keytab voor dit scenario moet genereren, gebruikt u deze voor GSSAPI-binding aan de directory. Volg deze aanbevelingen:

  • Maak een serviceaccount in uw directory voor Tableau Server.

  • Maak een keytab specifiek voor het Tableau Server-serviceaccount. Gebruik het keytab-bestand dat het computeraccount/besturingssysteem gebruikt voor verificatie niet opnieuw.

  • Upload het keytab-bestand als onderdeel van de JSON-configuratie van het Tableau Server-identiteitenarchief. Zie identityStore-entiteit.

Als onderdeel van uw noodherstelplan raden we u aan een back-up van de keytab- en conf-bestanden te bewaren op een veilige locatie buiten de Tableau Server. De keytab- en conf-bestanden die u aan Tableau Server toevoegt, worden door de Client File Service opgeslagen en naar andere knooppunten gedistribueerd. De bestanden worden echter niet opgeslagen in een herstelbaar formaat. Zie Tableau Server - Clientbestandsservice.

Databrondelegatie

U kunt ook Kerberos-delegatie gebruiken om toegang te krijgen tot databronnen in een Active Directory. In dit scenario kunnen gebruikers worden geverifieerd bij Tableau Server met elk ondersteund verificatiemechanisme (SAML, lokale verificatie, Kerberos, enz.), maar hebben ze toegang tot databronnen die door Kerberos zijn ingeschakeld.

Volg deze aanbevelingen:

  • Het computeraccount voor Tableau Server (Windows of Linux) moet zich in het Active Directory-domein bevinden.

  • Het keytab-bestand dat u voor Kerberos-delegatie gebruikt, kan hetzelfde keytab-bestand zijn dat u voor Kerberos-gebruikersverificatie (SSO) gebruikt.

  • De keytab moet worden toegewezen aan de serviceprincipal voor Kerberos-delegatie in Active Directory.

  • U kunt dezelfde keytab gebruiken voor meerdere databronnen.

Zie de volgende configuratieonderwerpen voor meer informatie:

Bedankt voor uw feedback.De feedback is verzonden. Dank u wel.