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.

Web-Authoring und Kerberos-Authentifizierung von Benutzern

Wenn Sie das Herstellen einer Verbindung zu Daten für ein bestimmtes Ziel konfigurieren, können Sie die integrierte oder Windows-Authentifizierung als bevorzugte Authentifizierungsmethode auswählen. Bei Web-Authoring-Szenarien besteht das Standardverhalten jedoch darin, stattdessen das Kerberos-Dienstkonto („Ausführen als“-Konto) zu verwenden.

Um Benutzeranmeldeinformationen in Web-Authoring-Szenarien mit Kerberos-Delegierung zu aktivieren, müssen Sie eine zusätzliche Konfiguration mit TSM vornehmen. Führen Sie die folgenden Befehle aus:

tsm configuration set -k native_api.WebAuthoringAuthModeKerberosDelegation -v true
tsm pending-changes apply

Nach dieser Konfiguration wird die Kerberos-Delegierung zum Standardvorgang, wenn Sie die integrierte Authentifizierung mit Web-Authoring auswählen. Diese Einstellung verhindert jedoch nicht, dass Inhaltsersteller auf das Dienstkonto zugreifen. Ersteller können weiterhin Inhalte veröffentlichen, die mit dem „Ausführen als“-Dienstkonto verknüpft sind, indem sie Tableau Desktop oder andere Methoden verwenden.

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!Ihr Feedback wurde erfolgreich übermittelt. Vielen Dank.