Förstå kraven för keytab-filer

Kerberos-autentisering förlitar sig på inloggningsuppgifter som lagras i speciellt formaterade filer som kallas keytab-filer. Du kan behöva generera keytab-filer för din Tableau Server-driftsättning. Det här avsnittet beskriver keytab-filerna som Tableau Server använder för att komma åt olika tjänster i en typisk organisation. Du kan behöva generera keytab-filer för att Tableau Server ska kunna integreras i följande tjänster:

  • Användarautentisering (SSO) i Windows Active Directory
  • Delegering av datakällor
  • Operativsystem
  • Katalogtjänst

Viktigt: Från och med Tableau Server 2021.2.25, 2021.3.24, 2021.4.19, 2022.1.15, 2022.3.7, 2023.1.3 (eller senare) ser du till att keytab-filer skapas med AES-128- eller AES-256-chiffer. RC4- och 3DES-chiffer stöds inte längre. Du hittar mer information i artikeln Tableau Server could not authenticate you automatically(Länken öppnas i ett nytt fönster) (på engelska) i Tableaus kunskapsbas.

Om din organisation innefattar IT-specialister som hanterar identitet, autentisering och/eller säkerhet bör du arbeta med dem för att skapa en plan för att generera lämpliga keytab-filer för din Tableau Server-driftsättning.

Användarautentisering (SSO) i Windows Active Directory

Om du kommer att använda Active Directory som identitetsregister för Tableau Server, och du vill att användarna ska autentiseras med enkel inloggning (SSO) via Kerberos, måste du skapa en keytab-fil för Tableau Server.

Tableau körs på...Behöver jag generera en keytab-fil manuellt?
Windows i Active Directory-domänenJa
Linux i Active Directory-domänenJa
Windows eller Linux i en miljö som inte är en Active Directory-miljöEnkel inloggning via Kerberos är inte ett scenario som stöds.

Följ dessa rekommendationer (för Windows- och Linux-versioner av Tableau Server):

  • Skapa ett tjänstkonto i katalogen för Tableau Server.

  • Skapa en keytab-fil specifikt för Tableau Server-tjänstkontot. Återanvänd inte den keytab-fil som datorkontot/operativsystemet använder för att autentisera. Du kan använda samma keytab-fil för enkel inloggning i Kerberos som du använder för katalogautentisering i scenariot ovan.

  • Du måste skapa tjänstens huvudnamn (SPN) i Active Directory för Tableau Server-tjänsten.

  • Använd kommandofilen i nästa avsnitt för att skapa SPN:erna och keytab-filen.

  • När du har skapat SPN:erna laddar du upp keytab-filen enligt beskrivningen i Konfigurera Kerberos.

Kommandofil: Konfigurera SPN och skapa keytab-fil i Active Directory

Du kan använda en kommandofil för att konfigurera tjänstens huvudnamn (SPN) och skapa en keytab-fil. Dessa steg är en del av processen för att aktivera enkel inloggning i Kerberos för Tableau Server (på Windows eller Linux) som körs i Active Directory.

I tidigare versioner av Tableau Server (före 2018.2) genererades konfigurationsskriptet från verktyget Tableau Server Configuration.

Om du vill generera ett konfigurationsskript kopierar och klistrar du in innehållet i följande kommandofil i en textfil. Kommandofilen skapar tjänstens huvudnamn (SPN) för Tableau Server och skapar en keytab-fil för användaren som anges i filen.

Följ anvisningarna i filens innehåll. Spara filen som en .bat-fil när du har anpassat den.

Denna fil måste köras i en Active Directory-domän av en domänadministratör, som kommer att bli tillfrågad om lösenordet för tjänstekontot som anges i filen.

Kommandofilen använder Windows-kommandona set(Länken öppnas i ett nytt fönster), setspn(Länken öppnas i ett nytt fönster) och ktpass(Länken öppnas i ett nytt fönster).

Obs! Kommandofilen nedan har sin egen dokumentation. Om du inte har erfarenhet av Kerberos och att generera keytab-filer rekommenderar vi dock att du läser Microsofts blogginlägg All you need to know about Keytab files(Länken öppnas i ett nytt fönster) innan du fortsätter. Miljöinformationen i din organisation kan kräva ytterligare konfiguration av kommandot ktpass. Du måste till exempel bestämma vad som ska konfigureras för parametern /crypto. Vi rekommenderar att ange ett enskilt värde för /crypto som krävs av din KDC. I Microsoft-artikeln ktpass (Länken öppnas i ett nytt fönster) finns en fullständig lista över värden som stöds för parametern/crypto.

Att skapa en keytab-fil för användarautentisering i Active Directory måste utföras på en Windows-dator enligt dessa specifikationer. Att skapa den här keytab-fil på en Linux-dator stöds inte.

Innehåll i SPN- och keytab-kommandofilen

Från och med Tableau Server 2022.3, 2022.1.8, 2021.4.12, 2021.3.17, 2021.2.18, 2021.1.20 och 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

För tidigare versioner av 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

Operativsystem

Om din organisation använder Kerberos för autentisering måste datorn som kör Tableau Server autentiseras med den Kerberos-sfär som den körs på.

Tableau körs på...Behöver jag generera en keytab-fil manuellt?
Windows i Active Directory-domänenNej
Linux i Active Directory-domänenJa
Windows eller Linux i en miljö som inte är en Active Directory-miljöJa

Om du kör Tableau Server i Windows och datorn är ansluten till Active Directory behöver du inte hantera eller generera en keytab-fil för operativsystemet.

Om du kör Tableau Server i Linux i en Kerberos-sfär (MIT KDC eller Active Directory) måste du skapa en keytab-fil som är specifik för den datorns operativsystem. Keytab-filen som skapas för datorn ska vara specifikt avsedd för OS-autentisering. Använd inte samma keytab-fil för OS-autentisering som du kommer att använda för de andra tjänsterna som beskrivs senare i det här ämnet.

Katalogtjänst

Om din organisation använder en katalogtjänst, till exempel LDAP eller Active Directory, för att hantera användaridentitet måste Tableau Server ha skrivskyddad åtkomst till katalogen.

Alternativt kan du konfigurera Tableau Server för att hantera alla konton genom att installera ett lokalt identitetsregister. Då behövs ingen keytab-fil.

Följande tabell sammanfattar kraven för keytab-filer:

Tableau körs på...KatalogtjänstBehöver jag generera en keytab-fil manuellt?
Windows i AD-domänActive DirectoryNej
WindowsLDAP (GSSAPI-bindning)Ja
LinuxActive Directory eller LDAP (GSSAPI-bindning)Ja
Windows eller LinuxActive Directory eller LDAP (enkel bindning)Nej
Windows eller LinuxLokalt identitetsregisterIngen keytab-fil behövs.

Om du behöver generera en keytab-fil manuellt för det här scenariot kommer den att användas för GSSAPI-bindningen till katalogen. Följ dessa rekommendationer:

  • Skapa ett tjänstkonto i katalogen för Tableau Server.

  • Skapa en keytab-fil specifikt för Tableau Server-tjänstkontot. Återanvänd inte den keytab-fil som datorkontot/operativsystemet använder för att autentisera.

  • Ladda upp keytab-filen som en del av json-konfigurationen för identitetsregistret i Tableau Server. Se identityStore Entity.

Som en del av din plan för haveriberedskap rekommenderar vi att du sparar en säkerhetskopia av keytab- och conf-filerna på en säker plats utanför Tableau Server. De keytab- och conf-filer som läggs till i Tableau Server kommer att lagras och distribueras till andra noder av klientfilstjänsten. Filerna lagras dock inte i ett återställningsbart format. Läs mer i Klientfiltjänst (CFS) för Tableau Server.

Datakällsdelegering

Det går även att använda Kerberos-delegering för att komma åt datakällor i Active Directory. I det här scenariot kan användare autentiseras till Tableau Server med vilken autentiseringsmetod som helst som stöds (SAML, lokal autentisering, Kerberos, etc.), men kan komma åt datakällor som är aktiverade av Kerberos.

Följ dessa rekommendationer:

  • Datorkontot för Tableau Server (Windows eller Linux) måste finnas i Active Directory-domänen.

  • Keytab-filen som används för Kerberos-delegering kan vara samma keytab-fil som används för Kerberos-användarautentisering (enkel inloggning).

  • Keytab-filen måste mappas till tjänstens huvudnamn för Kerberos-delegeringen i Active Directory.

  • Det går att använda samma keytab-fil för flera datakällor.

Mer information finns i följande ämnen om konfiguration:

Tack för din feedback!Din feedback har skickats in. Tack!