Aktivieren der Kerberos-Delegierung

Die Kerberos-Delegierung ermöglicht Tableau Server die Verwendung der Kerberos-Anmeldeinformationen der Person, die eine Arbeitsmappe oder Ansicht anzeigt, um für den Anzeigenden eine Abfrage auszuführen. Diese Option ist in den folgenden Situationen hilfreich:

  • Sie müssen wissen, wer auf die Daten zugreift (der Name der anzeigenden Person wird in den Zugriffsprotokollen für die Datenquelle angegeben).

  • Für Ihre Datenquelle ist Sicherheit auf Zeilenebene festgelegt, das heißt, unterschiedliche Benutzer können auf unterschiedliche Zeilen zugreifen.

Unterstützte Datenquellen

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

  • Cloudera: Hive, Impala
  • Denodo
  • Hortonworks
  • Oracle
  • PostgreSQL
  • Spark
  • SQL Server
  • Teradata
  • Vertica

MSAS wird auf Linux-Plattformen nicht unterstützt.

Anforderungen

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

  • Der Identitätsspeicher von Tableau Server muss für die Verwendung von Active Directory konfiguriert sein.
  • Der Computer, auf dem Tableau Server installiert ist, muss an die Active Directory-Domäne angeschlossen sein.
  • MIT Kerberos KDC wird nicht unterstützt.

Webdokumenterstellung

Es gibt zwei Szenarien für die Webdokumenterstellung, die die Kerberos-Delegierung nicht unterstützen: Die Funktionen "Mit Daten im Web verbinden" und "Datenquelle im Web erstellen" unterstützen die Delegierung noch nicht. Wenn Sie eine Datenquelle erstellen, die Kerberos mit der Webdokumenterstellung verwendet, nutzt die Datenquelle die Authentifizierung über das Dienstkonto "Ausführen als". Wenn Sie die Kerberos-Delegierung zum Erstellen einer Datenquelle verwenden möchten, müssen Sie mit Tableau Desktop veröffentlichen. Weitere Informationen zum Dienstkonto "Ausführen als" finden Sie unter Aktivieren des Zugriffs auf das Kerberos-Dienstkonto.

Konfigurationsprozess

Dieser Abschnitt bietet ein Beispiel für den Vorgang zur Aktivierung der Kerberos-Delegation. Das Szenario enthält zudem Beispielnamen, die Beziehungen zwischen den Konfigurationselementen beschreiben sollen.

  1. Für Tableau Server ist ein Kerberos-Service-Ticket erforderlich, um im Namen des Benutzers zu delegieren, der den Aufruf der Datenbank initiiert. Sie müssen ein Domänenkonto erstellen, das für die Delegierung an die jeweilige Datenbank verwendet wird. Dieses Konto wird als "Ausführen als"-Dienstkonto bezeichnet. In diesem Thema lautet der als Delegierungskonto/Konto vom Typ "Ausführen als" konfigurierte Beispielbenutzer tabsrv@example.com.

    Das Konto muss mit Active Directory-Benutzer und Computern auf einem Windows-Server konfiguriert werden, der mit der Benutzerdomäne verbunden ist:

    • Öffnen Sie die Seite Eigenschaften für das "Ausführen als"-Dienstkonto, klicken Sie auf die Registerkarte Delegierung, und wählen Sie die Optionen Diesen Benutzer nur bei der Delegierung an bestimmte Dienste als vertrauenswürdig einstufen und Beliebiges Authentifizierungsprotokoll verwenden aus.
  2. Erstellen Sie eine Keytab-Datei für das "Ausführen als"-Dienstkonto.

    Beispielsweise erstellen die folgenden Befehle eine keytab-Datei (tabsrv-runas.keytab) mithilfe des ktutil-Tools:

    sudo ktutil
    ktutil:  addent -password -p tabsrv@EXAMPLE.COM -k 2 -e <encryption scheme>

    Zu den Codierungsschlüsseln für diesen Befehl zählen RC4-HMAC, aes128-cts-hmac-sha1-96 und aes256-cts-hmac-sha1-96. Wenden Sie sich an Ihre IT-Abteilung, um den korrekten Codierungsschlüssel für Ihre Umgebung und Ihre Datenquelle zu bestimmen.

    ktutil:  wkt tabsrv-runas.keytab

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

  3. Kopieren Sie die "keytab"-Datei in das Tableau Server-Datenverzeichnis, und legen Sie das richtige Besitzrecht bzw. die richtigen Berechtigungen fest. Falls Sie eine Bereitstellung mit mehreren Knoten ausführen, müssen Sie die folgenden Befehle auf allen Knoten in dem Cluster ausführen.

    mkdir /var/opt/keytab                
    sudo cp -p tabsrv-runas.keytab /var/opt/keytab                 
    sudo chown $USER /var/opt/keytab/tabsrv-runas.keytab                  
    chgrp tableau /var/opt/keytab/tabsrv-runas.keytab                  
    chmod g+r /var/opt/keytab/tabsrv-runas.keytab 
    					
  4. Führen Sie die folgenden TSM-Befehle aus, um die Kerberos-Delegierung zu aktivieren, das Dienstkonto für die Delegierung festzulegen und dem Dienstkonto die keytab-Datei zuzuweisen:

    					
    tsm configuration set -k wgserver.delegation.enabled -v true
    tsm configuration set -k native_api.datasource_impersonation_runas_principal -v tabsrv@EXAMPLE.COM
    tsm configuration set -k native_api.datasource_impersonation_runas_keytab_path -v /var/opt/keytab/tabsrv-runas.keytab
    tsm configuration set -k native_api.protocol_transition_a_d_short_domain -v false
    tsm configuration set -k native_api.protocol_transition_uppercase_realm -v true

    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.

  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.

  6. Aktivieren der Delegierung für Datenverbindungen:

    Siehe auch

    Problembehebung für Kerberos

Vielen Dank für Ihr Feedback!