Einführung in keytab-Anforderungen

Für die Kerberos-Authentifizierung werden Anmeldeinformationen benötigt, die in speziell formatierten Dateien gespeichert werden. Diese werden als Keytab-Dateien bezeichnet. Möglicherweise müssen Sie Keytab-Dateien für Ihre Tableau Server-Bereitstellung generieren. In diesem Thema werden die Keytab-Dateien beschrieben, mit denen Tableau Server in einer typischen Organisation auf verschiedene Dienste zugreift. Möglicherweise müssen Sie Keytabs generieren, damit Tableau Server in die folgenden Dienste integriert werden kann:

  • Benutzerauthentifizierung (SSO) in Windows Active Directory
  • Delegation von Datenquellen
  • Betriebssystem
  • Verzeichnisdienst

Wichtig: Ab Tableau Server 2021.2.25, 2021.3.24, 2021.4.19, 2022.1.15, 2022.3.7 und 2023.1.3 (oder höher) müssen Sie sicherstellen, dass Keytab-Dateien mit AES-128- oder AES-256-Verschlüsselungen erstellt werden. RC4- und 3DES-Verschlüsselungen werden nicht mehr unterstützt. Weitere Informationen finden Sie unter „Tableau Server konnte Sie nicht automatisch authentifizieren“(Link wird in neuem Fenster geöffnet) in der Tableau-Wissensdatenbank.

Wenn in Ihrer Organisation IT-Experten Identität, Authentifizierung und/oder Sicherheit verwalten, sollten Sie in Zusammenarbeit mit ihnen das Generieren geeigneter Keytab-Dateien für Ihre Tableau Server-Bereitstellung planen.

Benutzerauthentifizierung (SSO) in Windows Active Directory

Wenn Sie Active Directory als Identitätsspeicher für Tableau Server verwenden möchten und die Benutzer durch einmalige Anmeldung per Kerberos authentifiziert werden sollen, müssen Sie eine Keytab-Datei für Tableau Server generieren.

Tableau wird ausgeführt in ...Muss manuell eine Keytab-Datei erstellt werden?
Windows in der Active Directory-DomäneJa
Linux in der Active Directory-DomäneJa
Windows oder Linux in einer Umgebung ohne Active DirectoryKerberos SSO ist kein unterstütztes Szenario.

Berücksichtigen Sie dabei folgende Empfehlungen (für Windows- und Linux-Versionen von Tableau Server):

  • Erstellen Sie ein Dienstkonto in Ihrem Verzeichnis für Tableau Server.

  • Erstellen Sie eine Keytab-Datei speziell für das Tableau Server-Dienstkonto. Verwenden Sie nicht noch einmal die Keytab-Datei, die das Computerkonto/Betriebssystem für die Authentifizierung nutzt. Sie können für die einmalige Anmeldung per Kerberos die gleiche Keytab-Datei wie für die Verzeichnisauthentifizierung im Szenario oben verwenden.

  • Sie müssen Dienstprinzipalnamen (Service Principal Names, SPN) in Active Directory für den Tableau Server-Dienst erstellen.

  • Verwenden Sie die Batch-Datei im nächsten Abschnitt zum Erstellen der SPNs und der Keytab-Datei.

  • Wenn Sie die SPNs erstellt haben, laden Sie die Keytab-Datei wie im Kapitel zur Konfigurieren von Kerberos beschrieben hoch.

Batch-Datei: Festlegen des SPN und Erstellen der Keytab-Datei in Active Directory

Sie können eine Batch-Datei verwenden, um die Dienstprinzipalnamen (Service Principal Names, SPN) festzulegen und eine Keytab-Datei zu erstellen. Diese Vorgänge sind Teil des Prozesses, um Kerberos SSO für Tableau Server (unter Windows oder Linux) im Active Directory zu ermöglichen.

In älteren Versionen von Tableau Server (vor 2018.2) wurde das Konfigurationsskript vom Tableau Server-Konfigurationsdienstprogramm erstellt.

Kopieren Sie zum Generieren eines Konfigurationsskripts die folgenden Inhalte der Batch-Datei und fügen Sie sie in einer Textdatei ein. Mit der Batch-Datei werden Dienstprinzipalnamen (Service Principal Names, SPN) für Tableau Server sowie eine Keytab-Datei für den in der Datei angegebenen Benutzer erstellt.

Folgen Sie den Anweisungen in der Datei. Wenn Sie die Datei angepasst haben, speichern Sie sie als .bat-Datei.

Diese Datei muss in einer Active Directory-Domäne von einem Domänenadministrator ausgeführt werden. Dieser wird zur Eingabe des Dienstkontokennworts des Kontos aufgefordert, das Sie in der Datei angeben.

Die Batchdatei verwendet die Windows-Befehle set(Link wird in neuem Fenster geöffnet), setspn(Link wird in neuem Fenster geöffnet)und ktpass(Link wird in neuem Fenster geöffnet) .

Hinweis: Die untenstehende Batch-Datei ist selbst dokumentiert. Wenn Sie jedoch keine Erfahrung mit Kerberos und dem Erzeugen von Keytab-Dateien haben, empfehlen wir Ihnen, den Microsoft-Blogbeitrag Alles, was Sie über Keytab-Dateien wissen müssen(Link wird in neuem Fenster geöffnet), zu lesen, bevor Sie fortfahren. Umgebungsdetails in Ihrem Unternehmen können eine zusätzliche Konfiguration des Befehls ktpass erfordern. Beispielsweise müssen Sie festlegen, was für den /crypto-Parameter eingestellt werden soll. Wir empfehlen, einen /crypto-Einzelwert anzugeben, der von Ihrem KDC gefordert wird. Siehe Microsoft-Artikel ktpass(Link wird in neuem Fenster geöffnet) für die vollständige Liste der unterstützten Werte für den /crypto-Parameter.

Inhalt der Batch-Datei für SPN und keytab

Ab Tableau Server 2022.3, 2022.1.8, 2021.4.12, 2021.3.17, 2021.2.18, 2021.1.20 und 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 frühere Versionen von 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

Betriebssystem

Wenn in Ihrer Organisation Kerberos für die Authentifizierung verwendet wird, muss der Computer, auf dem Tableau Server ausgeführt wird, in dem Kerberos-Bereich authentifiziert werden, in dem die Software ausgeführt wird.

Tableau wird ausgeführt in ...Muss manuell eine Keytab-Datei erstellt werden?
Windows in der Active Directory-DomäneNein
Linux in der Active Directory-DomäneJa
Windows oder Linux in einer Umgebung ohne Active DirectoryJa

Wenn Sie Tableau Server unter Windows ausführen und der Computer mit dem Active Directory verbunden ist, müssen Sie keine Keytab-Datei für das Betriebssystem verwalten oder generieren.

Wenn Sie Tableau Server unter Linux in einem Kerberos-Bereich (MIT KDC oder Active Directory) ausführen, müssen Sie eine Keytab-Datei speziell für das Betriebssystem des Computers generieren. Die Keytab-Datei, die Sie für den Computer erstellen, sollte speziell für die Betriebssystemauthentifizierung erstellt werden. Verwenden Sie für die Betriebssystemauthentifizierung nicht die gleiche Keytab-Datei wie für die weiter unten in diesem Thema beschriebenen Dienste.

Verzeichnisdienst

Wenn Ihr Unternehmen einen Verzeichnisdienst, wie LDAP oder Active Directory, zur Verwaltung der Benutzeridentität verwendet, benötigt Tableau Server einen Lesezugriff auf das Verzeichnis.

Alternativ können Sie Tableau Server zum Verwalten aller Konten konfigurieren, indem Sie bei der Installation einen lokalen Identitätsspeicher angeben. In diesem Fall benötigen Sie keine Keytab.

In der folgenden Tabelle werden die Anforderungen für keytab zusammengefasst:

Tableau wird ausgeführt in ...VerzeichnisdienstMuss manuell eine Keytab-Datei erstellt werden?
Windows in AD-DomäneActive DirectoryNein
WindowsLDAP (GSSAPI-Bindung)Ja
LinuxActive Directory oder LDAP (GSSAPI-Bindung)Ja
Windows oder LinuxActive Directory oder LDAP (Einfache Bindung)Nein
Windows oder LinuxLokaler IdentitätsspeicherKein Keytab erforderlich.

Wenn Sie für dieses Szenario manuell eine Keytab-Datei generieren müssen, verwenden Sie sie für die GSSAPI-Bindung an das Verzeichnis. Berücksichtigen Sie die folgenden Empfehlungen:

  • Erstellen Sie ein Dienstkonto in Ihrem Verzeichnis für Tableau Server.

  • Erstellen Sie eine Keytab-Datei speziell für das Tableau Server-Dienstkonto. Verwenden Sie nicht noch einmal die Keytab-Datei, die das Computerkonto/Betriebssystem für die Authentifizierung nutzt.

  • Laden Sie die Keytab-Datei als Teil der json-Konfiguration des Tableau Server-Identitätsspeichers hoch. Informationen finden Sie unter identityStore-Entität.

Als Teil Ihres Disaster-Recovery-Plans empfehlen wir, eine Sicherung der Keytab- und Conf-Dateien an einem sicheren Ort außerhalb des Tableau Servers vorzunehmen. Die Keytab- und Conf-Dateien, die Sie Tableau Server hinzufügen, werden vom Client-Dateidienst gespeichert und an andere Knoten verteilt. Die Dateien werden jedoch nicht in einem wiederherstellbaren Format gespeichert. Siehe Tableau Server-Clientdateidienst.

Datenquellendelegierung

Sie können auch mit der Kerberos-Delegierung auf Datenquellen in einem Active Directory-Verzeichnis zugreifen. In diesem Szenario können Benutzer in Tableau Server mit einem beliebigen unterstützten Authentifizierungsmechanismus authentifiziert werden (SAML, lokale Authentifizierung, Kerberos usw.), sie können aber auf Datenquellen zugreifen, die von Kerberos aktiviert wurden.

Berücksichtigen Sie die folgenden Empfehlungen:

  • Das Computerkonto für Tableau Server (Windows oder Linux) muss sich in der Active Directory-Domäne befinden.

  • Die Keytab-Datei, die Sie für die Kerberos-Delegation verwenden, kann die gleiche Keytab-Datei sein, die Sie für die Kerberos-Benutzerauthentifizierung (SSO) verwenden.

  • Die Keytab-Datei muss dem Dienstprinzipal für die Kerberos-Delegierung in Active Directory zugeordnet sein.

  • Sie können die gleiche Keytab-Datei für mehrere Datenquellen verwenden.

Weitere Informationen erhalten Sie in den folgenden Themen zur Konfiguration:

Vielen Dank für Ihr Feedback!Ihr Feedback wurde erfolgreich übermittelt. Vielen Dank.