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äne | Ja |
Linux in der Active Directory-Domäne | Ja |
Windows oder Linux in einer Umgebung ohne Active Directory | Kerberos 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.
Das Erstellen einer Keytab-Datei für die Benutzerauthentifizierung in Active Directory muss wie hier angegeben auf einem Windows-Computer ausgeführt werden. Das Erstellen dieser Keytab-Datei auf einem Linux-Computer wird nicht unterstützt.
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äne | Nein |
Linux in der Active Directory-Domäne | Ja |
Windows oder Linux in einer Umgebung ohne Active Directory | Ja |
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 ... | Verzeichnisdienst | Muss manuell eine Keytab-Datei erstellt werden? |
---|---|---|
Windows in AD-Domäne | Active Directory | Nein |
Windows | LDAP (GSSAPI-Bindung) | Ja |
Linux | Active Directory oder LDAP (GSSAPI-Bindung) | Ja |
Windows oder Linux | Active Directory oder LDAP (Einfache Bindung) | Nein |
Windows oder Linux | Lokaler Identitätsspeicher | Kein 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:
Tableau Server unter Linux: Aktivieren der Kerberos-Delegierung(Link wird in neuem Fenster geöffnet)
Tableau Server unter Windows: Aktivieren der Kerberos-Delegierung(Link wird in neuem Fenster geöffnet)