Konfigurieren des Authentifizierungsmoduls mit Independent Gateway

Eine gängige Sicherheitspraxis besteht darin, nur authentifizierte Anfragen durch die innere Firewall der DMZ-Server passieren zu lassen. Das Independent Gateway unterstützt die traditionellen Authentifizierungsmethoden in Tableau Server, enthält aber auch Konfigurationseigenschaften, die die Integration eines ladbaren Apache-httpd-Moduls für benutzerdefinierte Authentifizierung ermöglichen.

Wenn Sie beispielsweise SAML in Tableau Server konfigurieren und ein benutzerdefiniertes Authentifizierungsmodul konfigurieren, können Sie verlangen, dass sich alle Benutzer mit Ihrem IdP am Independent Gateway authentifizieren. Nur Benutzer, die authentifiziert werden, können dann auf Tableau Server zugreifen, wo dann Benutzerzugriff authentifiziert und autorisiert werden kann.

Eine ausführlichere Erläuterung dieses Authentifizierungsschemas finden Sie unter Vorauthentifizierung mit einem AuthN-Modul(Link wird in neuem Fenster geöffnet) im Handbuch zu Tableau Server Enterprise-Bereitstellung

Um das Authentifizierungsmodul zu konfigurieren, müssen Sie die folgenden Schritte ausführen:

  1. Generieren der Konfigurationsdateien für das Authentifizierungsmodul. Nach Abschluss der Einrichtung wird jedes Modul mit seinen Konfigurationsdirektiven als Include-Optionen behandelt, wodurch die inkludierten Dateien logisch Bestandteil der gesamten httpd-Konfiguration werden.
  2. Kopieren Sie die Konfigurationsdateien auf jeden Computer, auf dem Independent Gateway ausgeführt wird. Alle Dateien müssen auf jedem Independent Gateway-Computer an den gleichen Speicherort kopiert werden. Jede Datei ist einer Konfigurationseigenschaft zugeordnet, die von Tableau Server verwaltet wird.
  3. Legen Sie die Konfigurationseigenschaften mit dem tsm configuration set-Befehl in Tableau Server fest.

Die httpd-Konfigurationsdatei (httpd.conf) auf dem Independent Gateway dürfen Sie nicht bearbeiten, da Independent Gateway eine Logik enthält, die die httpd-Konfiguration basierend auf Änderungen aktualisiert, die mit TSM-Befehlen in Tableau Server vorgenommen werden.

Beispielkonfiguration des Authentifizierungsmoduls

Ein Konfigurationsbeispiel für ein End-to-End-Authentifizierungsmodul finden Sie unter Beispiel einer Authentifizierungskonfiguration: SAML mit externem IdP(Link wird in neuem Fenster geöffnet) im Handbuch zu Tableau Server Enterprise-Bereitstellung Das Beispiel beschreibt die Einrichtung und Konfiguration von SAML mit Okta IdP und Mellon-Authentifizierungsmodul für eine Tableau Server-Bereitstellung auf Linux in AWS. Obwohl das Beispiel den Prozess für Linux beschreibt, ist das Konfigurationsbeispiel auch für Tableau Server unter Windows nützlich.

Konfigurationseigenschaften

Die folgende Tabelle beschreibt die verschiedenen Konfigurationsdateien, auf die Sie verweisen können. Jede Datei ist einer Konfigurationseigenschaft zugeordnet, die in Tableau Server festgelegt wird. Sie müssen nur die Eigenschaften definieren, die zum Formulieren Ihrer benutzerdefinierten Authentifizierungskonfiguration erforderlich sind. Alle nicht benötigten Konfigurationseigenschaften können Sie überspringen.

KonfigurationseigenschaftBeschreibung
gateway.tsig.authn_module_blockSteht am Ende des Satzes normalerweise geladener Apache-httpd-Module. Dient dem Zweck, dass die Datei eine oder mehrere LoadModule-Direktiven enthält. Die Module selbst sollten mit vollständigen Pfaden identifiziert werden.
gateway.tsig.authn_global_blockSteht nach allen LoadModule-Verweisen und vor den meisten anderen Apache httpd-Direktiven. Dient dem Zweck, einen Platz für alle Konfigurationsanweisungen bereitzustellen, die von dem benutzerdefinierten Modul benötigt werden.
gateway.tsig.authn_globalbottom_blockSteht ganz unten in der Konfigurationsdatei, wieder auf der globalen Ebene. Dient dem Zweck, einen Platz für alle Konfigurationsanweisungen bereitzustellen, die von dem benutzerdefinierten Modul benötigt werden und extra hinter verschiedenen anderen Anweisungen stehen müssen. (Sie werden dies wahrscheinlich nicht brauchen.)
gateway.tsig.authn_location_blockSteht in einem <Location "/">-Block, der alle URL-Pfade abdeckt.
gateway.tsig.authn_directory_blockSteht in einem <Directory "/"> -Block, der alle Pfade zu Dateien abdeckt, die vom Independent Gateway bedient werden. (Sie werden das wahrscheinlich nicht brauchen. Die meisten von Independent Gateway bereitgestellten Dateien sind nicht vertrauliche statische Assets, wie beispielsweise Bilder und JavaScript-Dateien.)
gateway.tsig.authn_virtualhost_block

Erscheint innerhalb eines oder zweier <VirtualHost> -Blöcke: einer für TLS (falls aktiviert) und einer für Nicht-TLS. Falls konfiguriert, wird an beiden Stellen dieselbe Datei eingebunden. Wenn Sie die beiden Fälle unterscheiden müssen, können Sie die Standard-HTTPS-Umgebungsvariable von Apache httpd verwenden.

Der <Location "/tsighk">-Block

Zusätzlich zu dem erwarteten <Location "/">-Block für aus normalen Anforderungen resultierenden Datenverkehr gibt es auch einen <Location "/tsighk"> -Block, der für interne HK-Anforderungen von Independent Gateway dient. Diese HK-Anforderungen haben ihre eigenen Authentifizierungswächter und funktionieren nicht mit typischen benutzerdefinierten SSO-Lösungen.

Möglicherweise müssen Sie Ihr benutzerdefiniertes Modul ausdrücklich von Authentifizierungsversuchen für den HK-URL-Pfad ausschließen.

Um festzustellen, ob Sie Ihr Modul ausschließen müssen, konfigurieren Sie zuerst das Modul. Suchen Sie dann im Zugriffsprotokoll des Independent Gateways nach HK-Anforderungen. Sie sollten mindestens ein- oder zweimal pro Minute eine Statusprüfung sehen. Wenn diese Anfragen einen Antwortcode vom Typ "200" erhalten, ist wahrscheinlich alles in Ordnung. Wenn diese Anfragen andererseits einen Antwortcode vom Typ "3xx" erhalten (Umleitung zu Ihrem benutzerdefinierten Authentifizierungsanbieter), müssen Sie etwas unternehmen.

Mögliche Lösungen wären:

  • Der <Location "/tsighk">-Block enthält die Direktive AuthType None, und das kann schon ausreichen.
  • In der httpd.conf vom Independent Gateway steht die standardmäßige Apache-httpd-Direktive ProxyPreserveHost(Link wird in neuem Fenster geöffnet) On. Wenn ein ungewöhnlicher Umstand es erfordert, diese Einstellung auf "Off" oder auf einen anderen Wert zu setzen, kann dies mit dem TSM-Konfigurationselement gateway.tsig.proxypreservehost vorgenommen werden.
  • Möglicherweise benötigen Sie einige modulspezifische Anweisungen zum Deaktivieren Ihres Authentifizierungsmoduls für <Location "/tsighk">. Sie können diesen Block in der Datei httpd.conf nicht direkt ändern. Stattdessen können Sie einen anderen <Location "/tsighk">- Block in Ihrer gateway.tsig.authn_global_block-Datei anlegen und es Apache httpd überlassen, diese logisch zusammenzuführen. Beispielsweise erfordern einige Versionen von mod_auth_mellon, einem beliebten Open-Source-Authentifizierungsmodul, dass MellonEnable Off bei Abschnitten eingestellt wird, in denen es nicht zutrifft, selbst wenn AuthType None eingestellt ist.
  • Beim Erstellen eines zusätzlichen<Location "/tsighk">-Abschnittes, wie im vorherigen Punkt beschrieben, werden Sie möglicherweise Folgendes feststellen: Die Reihenfolge, in der die verschiedenen Abschnitte in der httpd.conf-Datei stehen, macht einen Unterschied darin, wie diese sich gegenseitig beeinflussen. Der standardmäßige <Location "/tsighk">-Abschnitt steht vor dem standardmäßigen <Location "/">-Abschnitt. Wenn Ihre Experimente zeigen, dass eine andere Reihenfolge erforderlich ist, müssen Sie möglicherweise einen weiteren <Location "/">-Abschnitt in Ihrem gateway.tsig.authn_global_block-Block definieren, zusätzlich zu einem weiteren <Location "/tsighk">-Abschnitt. In diesem Fall benötigen Sie wahrscheinlich nichts in einem gateway.tsig.authn_location_block-Block.

Fehlerbehebung bei der Konfiguration des benutzerdefinierten Authentifizierungsmoduls

Eine praktische Methode, um zu verstehen, wie das Independent Gateway die httpd.conf-Datei erstellt, würde wie folgt aussehen: Legen Sie die TSM-Konfigurationselemente einfach mit Werten fest, die auf leere Dateien auf Ihren Independent Gateway-Computern verweisen. (Die Dateien müssen vorhanden sein, können aber leer sein.) Dann können Sie sich die httpd.conf-Datei des Independent Gateways ansehen, um ein konkretes Verständnis dafür zu bekommen, wo die Include -Direktiven für die verschiedenen Konfigurationsdateien tatsächlich stehen werden.

Konfigurationsprobleme in der httpd.conf-Datei des Independent Gateways können dazu führen, dass der tsig-httpd-Dienst nicht starten kann. Andere Konfigurationsprobleme können den Empfang von Konfigurationsaktualisierungen vom Independent Gateway-Begleitdienst auf dem Tableau Server-Cluster beeinträchtigen. Eine Möglichkeit zur Wiederherstellung, nachdem Sie die Ursache des Problems behoben haben, wäre, TSIG_DATA/config/httpd.conf.stub nach TSIG_DATA/config/httpd.conf zu kopieren und starten dann den tsig-httpd-Dienst neu zu starten.

Weitere Tipps zur Fehlerbehebung finden Sie unter Fehlerbehebung bei Tableau Server Independent Gateway(Link wird in neuem Fenster geöffnet) im Handbuch zu Tableau Server Enterprise-Bereitstellung (Enterprise Deployment Guide, EDG). Das EDG bietet eine beispielhafte Bereitstellung von Tableau Server unter Linux. Die Schritte zur Fehlerbehebung sind für Windows- oder Linux-Versionen von Tableau Server hilfreich.

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