Aktivieren der "Ausführen als"-Authentifizierung für Kerberos für JDBC-Connectors

Ab Version 2020.2 unterstützt Tableau Server die Kerberos-Authentifizierung für JDBC-Connectors.

Sie können Tableau Server so konfigurieren, dass über ein Kerberos-Dienstkonto auf eine Datenbank zugegriffen wird. In diesem Szenario nutzt Tableau Server für die Verbindung mit Datenbanken ein Dienstkonto, das auch als "'Als Dienst ausführen'-Konto" bezeichnet wird. Dieses Szenario wird als "'Ausführen als'-Authentifizierung" bezeichnet.

Siehe "Ausführen als"-Dienstkonto.

Um die "Ausführen als"-Authentifizierung für Tableau Server verwenden zu können, müssen Sie zunächst eine Arbeitsmappe oder Datenquelle in Tableau Desktop erstellen, welche die integrierte Authentifizierung verwendet. Wenn Sie in Tableau Server veröffentlichen, erhalten Sie die Option für die "Ausführen als"-Authentifizierung. Wenn Sie eine Datenquelle mit der Webdokumenterstellung erstellen, ist die "Ausführen als"-Authentifizierung der Standardvorgang, sofern Sie die integrierte Authentifizierung auswählen.

Unterstützte Datenquellen

Tableau unterstützt die JDBC-Kerberos-Delegation mit den folgenden Datenquellen:

  • Oracle
  • PostgreSQL

Wenn Sie die "Ausführen als"-Authentifizierung für eine Oracle-Datenquelle mit einem JDBC-basierten Connector konfigurieren, sollten Sie der in diesem Thema beschriebenen Vorgehensweise folgen. Wenn der von Ihnen auf Tableau Server ausgeführte Connector einen nativen Treiber verwendet, müssen Sie die in diesem Thema beschriebenen Schritte nicht ausführen. Führen Sie in diesem Fall die im Thema Ändern des "Ausführen als"-Dienstkontos beschriebenen Schritte aus, wenn Sie ein "Als Dienst ausführen"-Konto erstellen möchten.

Anforderungen

Für die Kerberos-Delegierung ist Active Directory erforderlich.

  • Der Tableau Server-Informationsspeicher muss für die Verwendung von "LDAP – Active Directory" konfiguriert werden.
  • MIT KDC wird nicht unterstützt.

Konfigurationsprozess

Dieser Abschnitt bietet ein Beispiel für den Vorgang zur Aktivierung der "Ausführen als"-Authentifizierung für Kerberos.

  1. Erstellen Sie eine Keytab-Datei für das "Ausführen als"-Dienstkonto.

    Im folgenden Beispiel wird das im JDK bereitgestellte Ktab-Tool verwendet. Sie können das Tool unter AdoptOpenJDK(Link wird in neuem Fenster geöffnet) herunterladen. Verwenden Sie bei der Verwendung der Ktab zum Erstellen der Keytab-Datei einen Prinzipal für die Anmeldung im UPN-Format (beispielsweise service@EXAMPLE.COM), aber keinen Dienstprinzipalnamen (beispielsweise HTTP/service.example.com@EXAMPLE.COM). Darüber hinaus können Sie Keytabs mit dem Ktpass-Dienstprogramm generieren. In diesem Fall können Sie beide Prinzipalnamensformate verwenden.

    <JDK_HOME>/bin/ktab -k E:/tmp/tabsrv.keytab -a tabsrv@EXAMPLE.COM

    Tableau Server verwendet das "Ausführen als"-Dienstkonto und die zugewiesene Keytab-Datei für die Authentifizierung und Herstellung einer direkten Verbindung zur Datenbank.

  2. Kopieren Sie die Keytab in das Tableau Server-Datenverzeichnis, und stellen Sie sicher, dass das "Als Dienst ausführen"-Konto auf die Keytab-Datei zugreifen und diese lesen kann. Das Tableau Server-Datenverzeichnis befindet sich standardmäßig unter C:\ProgramData\Tableau. Wenn Sie Tableau Server in einer verteilten Bereitstellung ausführen, sollten Sie diesen Schritt auf jedem Knoten im Cluster durchführen.

  3. Führen Sie die folgenden TSM-Befehle aus, um das "Als Dienst ausführen"-Konto und den Pfad zur Keytab-Datei festzulegen:

    tsm configuration set -k native_api.datasource_runas_principal -v tabsrv@EXAMPLE.COM
    tsm configuration set -k native_api.datasource_runas_keytab_path -v <path-to-file>kerberos.keytab

    In einigen Fällen gibt TSM möglicherweise einen Fehler mit dem Hinweis --force-keys zurück. Wenn Sie diesen Fehler erhalten, führen Sie den Befehl erneut aus, und hängen Sie den Parameter --force-keys an das Argument an.

  4. Erstellen Sie eine krb5.conf-datei, und installieren Sie sie auf allen Tableau Server-Knoten unter C:\Windows.

    Wenn auf den Computern Ihrer Organisation bereits krb5.ini-Dateien bereitgestellt sind, sollten Sie diese Datei kopieren und für Tableau Server verwenden. Weitere Informationen finden Sie im MIT Kerberos Documentation-Thema krb5.conf(Link wird in neuem Fenster geöffnet).

    Führen Sie den folgenden Befehl aus, um den Speicherort der Kerberos-Konfigurationsdatei zu ändern:

    tsm configuration set -k native_api.kerberos_config_path --force-keys -v "C:\temp\krb5.ini"

    Im Folgenden finden Sie ein Beispiel für eine krb5.conf-Datei. Der Tableau-Support kann beim Erstellen von krb5.conf-Dateien keine Unterstützung bereitstellen.

    [libdefaults]
    forwardable = true
    default_realm = EXAMPLE.COM
    default_tkt_enctypes = rc4-hmac
    default_tgs_enctypes = rc4-hmac
    
    [realms]
    EXAMPLE.COM = {
    kdc = kdc.example.com
    admin_server = kdc.example.com
    }
    
    [domain_realm]
    .example.com = EXAMPLE.COM
    example.com = EXAMPLE.COM
  5. Führen Sie den folgenden TSM-Befehl aus, um die Änderungen auf Tableau Server anzuwenden:

    tsm pending-changes apply

    Wenn die ausstehenden Änderungen einen Neustart des Servers erfordern, zeigt der Befehl pending-changes apply eine Meldung an, um Sie darüber zu informieren, dass ein Neustart stattfinden wird. Diese Meldung wird auch angezeigt, wenn der Server angehalten ist. In diesem Fall erfolgt jedoch kein Neustart. Sie können diese Meldung mithilfe der Option --ignore-prompt unterdrücken, dies ändert jedoch nichts an dem Neustartverhalten. Wenn die Änderungen keinen Neustart erfordern, werden die Änderungen ohne Meldung angewendet. Weitere Informationen finden Sie unter tsm pending-changes apply.

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