Aktivieren des Zugriffs auf das Kerberos-Dienstkonto

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 (auch "RunAs-Konto" genannt).

Um die RunAs-Authentifizierung für Tableau Server verwenden zu können, müssen Sie zunächst eine Arbeitsmappe oder Datenquelle erstellen, die die integrierte Authentifizierung verwendet. Wenn Benutzer in Tableau Server veröffentlichen, erhalten sie die Option für die RunAs-Authentifizierung. Wenn Sie eine Datenquelle mit Tableau Server-Webdokumenterstellung erstellen, für die die integrierte Authentifizierung verwendet wird, verwendet die Datenquelle standardmäßig die RunAs-Authentifizierung.

Hinweis: Die integrierte Authentifizierung wird bei einigen Connectors auch als Windows-Authentifizierung bezeichnet. In beiden Fällen verwendet Tableau Server die Kerberos-Authentifizierung.

Datenzugriff mit dem Konto "Als Dienst ausführen"

Um die RunAs-Authentifizierung zu verwenden, benötigt das RunAs-Konto Lese- und Abfrageberechtigungen für externe Datenbanken. Gemäß Konzeption haben Tableau Server-Benutzer mit der Rolle Creator oder Explorer (kann veröffentlichen) vollen Zugriff auf das RunAs-Konto für Abfragen an externe Datenbanken.

Beispielsweise kann ein Benutzer mit der Rolle "Creator" alle Datenbanken anzeigen, denen Zugriff auf das Konto "Als Dienst ausführen" gewährt wurde. Sie können auch Tabellen auflisten und benutzerdefinierte SQL ausführen.

Wenn der Creator-Benutzer den Datenbankhostnamen angibt und beim Erstellen einer neuen Datenquelle mit Webdokumenterstellung die integrierte Authentifizierung auswählt, werden dem Benutzer Datenbanken angezeigt, denen RunAs-Zugriff gewährt wurde.

Der Ansichtszugriff auf Datenbankelemente ist nicht auf Benutzer beschränkt, die über die Webdokumenterstellung eine Verbindung zu Tableau Server herstellen. Fortgeschrittene Benutzer, die über die oben genannten Rollen sowie über Kenntnisse der Datenbankservernamen verfügen, können auch Arbeitsmappen mit Tableau Desktop erstellen, die die Datenbanken anzeigen, denen RunAs-Zugriff gewährt wurde.

Empfehlungen

Ob der Benutzerzugriff auf Datenbanken in diesen Szenarien akzeptabel ist, obliegt der Beurteilung durch Ihre Organisation. Im Allgemeinen verringert die Reduzierung der Nutzung und des Umfangs des Kontos "Als Dienst ausführen" die Wahrscheinlichkeit eines unbeabsichtigten Benutzerzugriffs auf Datenbankinhalte. Die Reduzierung der Nutzung und des Umfangs des Dienstkontos "Als Dienst ausführen" kann jedoch auch zu einer aufwändigeren Anmeldeinformationsverwaltung für Sie und Ihre Benutzer führen.

Beurteilen Sie die folgenden Empfehlungen im Zusammenhang mit Ihren Geschäftsanforderungen und Datenzugriffsrichtlinien.

  • Stellen Sie zunächst sicher, dass alle Benutzer mit den Rollen "Creator" oder "Explorer (kann veröffentlichen)" vertrauenswürdig sind. Sie müssen sich darauf verlassen können, dass diese Benutzer Aktionen in Tableau mit Integrität ausführen.
  • Wenn nicht alle Benutzer vertrauenswürdig sind, die über Veröffentlichungsrechte für Datenquellen verfügen, auf die das Konto "Als Dienst ausführen" Zugriff hat, sollten Sie das Einbetten von Anmeldeinformationen für diese Datenquellen in Betracht ziehen.
  • Wenn eine Datenquelle nicht für automatisierte Extraktaktualisierungen eingerichtet ist, d. h., auf die Datenquelle in erster Linie als Live-Verbindung zugegriffen wird, können Sie möglicherweise die Kerberos-Delegierung verwenden. Informationen zu Anforderungen finden Sie unter Aktivieren der Kerberos-Delegierung.

Anforderungen

  • MIT Kerberos wird nicht unterstützt.
  • Das RunAs-Dienstkonto muss Lesezugriff auf die Ziel-Datenbank haben.

Konfigurationsprozess

Dieser Abschnitt bietet ein Beispiel für den Vorgang zur Aktivierung des Zugriffs auf das Kerberos-Dienstkonto.

  1. Erstellen Sie ein Domänenbenutzerkonto, das als RunAs-Dienstkonto dienen soll. Dieses Konto muss Lesezugriff auf die Ziel-Datenbank haben.

    In diesem Beispiel ist das RunAs-Dienstkonto ein Benutzerprinzip mit dem Namen tabsrv@example.com.

  2. Erstellen Sie eine keytab-Datei für das RunAs-Dienstkonto.

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

    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 RunAs-Dienstkonto und die zugewiesene keytab-Datei für die Authentifizierung und baut eine direkte Verbindung zur Datenbank auf.

  3. Kopieren Sie die "keytab"-Datei in das Tableau Server-Datenverzeichnis, und legen Sie das richtige Besitzrecht bzw. die richtigen Berechtigungen fest. Die keytab-Datei sollte vom nicht privilegierten Benutzer lesbar sein. Der standardmäßig von Tableau Setup erstellte nicht privilegierte Benutzer ist tableau.

    Falls Sie eine Bereitstellung mit mehreren Knoten ausführen, müssen Sie die folgenden Befehle auf allen Knoten im Cluster ausführen:

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

    tsm configuration set -k features.RunAsAuthLinux -v true --force-keys
    tsm configuration set -k native_api.datasource_runas_principal -v tabsrv@EXAMPLE.COM --force-keys
    tsm configuration set -k native_api.datasource_runas_keytab_path -v /var/opt/tableau/tableau_server/keytab/tabsrv-runas.keytab --force-keys			
  5. Führen Sie den folgenden TSM-Befehl aus, um die Änderungen auf die Tableau Server-Bereitstellung 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.