Konfigurieren von OAuth für Snowflake-Verbindungen in Tableau Server

Es gibt mehrere Möglichkeiten, OAuth für Snowflake-Verbindungen zu konfigurieren, je nachdem, welche Version von Tableau Server Sie verwenden und wie viele Sites Sie aktualisieren. In diesem Thema wird die Konfiguration für jede verfügbare Option behandelt.

  • Für alle Versionen von Tableau bis einschließlich Version 2024.1 verwendet der Tableau Snowflake-Connector standardmäßig einen in AWS (GALOP) gehosteten OAuth-Proxy, der eine gemeinsame Client-ID und ein gemeinsames Client-Geheimnis verwendet. Optional können Sie Tableau Server zum Verwenden eines neuen OAuth-Dienstes konfigurieren, der am gleichen Speicherort wie diese Instanz von Tableau ausgeführt wird. Dazu ist es erforderlich, dass Sie Ihre eigene Client-ID und Ihr eigenes Geheimnis angeben (was als benutzerdefiniertes OAuth bezeichnet wird und wie weiter unten beschrieben konfiguriert werden kann).

  • Ab 2024.2 wird der GALOP-Proxy veraltet sein. Nun gelten die folgenden Anweisungen zum Einrichten von benutzerdefiniertem OAuth als obligatorisch, da jetzt der lokale OAuth-Dienst zur Authentifizierung verwendet wird.

  • Ab Tableau Desktop- und Tableau Cloud-Version 2024.3 können Sie einen Drittanbieter-IdP (externes OAuth) für Snowflake konfigurieren. Weitere Informationen finden Sie unter Externes OAuth für Snowflake.

Benutzerdefiniertes OAuth bietet die folgenden Vorteile:

  • Verbesserte Sicherheit

  • Sie können OAuth in isolierten Umgebungen verwenden, die keine Verbindung zu dem OAuth-Proxy (GALOP) herstellen können.

  • Sie brauchen die GALOP-IP-Adressen nicht in einer Zulassungsliste einzutragen, damit das OAuth-Schema in AWS PrivateLink- oder Azure Private Link-VPCs ausgeführt werden kann.

Schritt 1: Einrichten und Registrieren des OAuth-Clients bei Snowflake

Um eine benutzerdefinierte OAuth-Einrichtung in Tableau Server verwenden zu können, müssen Sie zuerst Ihren OAuth-Client einrichten und registrieren und eine Client-ID und ein Client-Geheimnis in Snowflake erhalten. Bei Tableau Server-Version 2024.2 und höher ist dieser Schritt erforderlich, unabhängig davon, welche Konfigurationsoption Sie verwenden. Zum Registrieren eines benutzerdefinierten OAuth-Clients mit Snowflake führen Sie die Schritte durch, die unter Snowflake OAuth für kundenspezifische Clients konfigurieren(Link wird in neuem Fenster geöffnet) beschrieben sind.

Nachdem Sie Ihren OAuth-Client in Snowflake registriert haben, indem Sie die Schritte aus dem oben verlinkten Snowflake-Artikel ausgeführt haben, verwenden Sie die folgenden Snowflake-Parameter, um Tableau Server zu konfigurieren:

  • URL der Kontoinstanz

  • Client-ID

  • Client-Geheimnis

  • Weiterleitungs-URL

Hinweis: Die einzugebende Weiterleitungs-URL ist sowohl Snowflake- als auch Tableau-seitig dieselbe. Das Format lautet:
https://<url_ihres_tableau_servers>.com/auth/add_oauth_token

Schritt 2: Konfigurieren von Tableau Server für die Verwendung von OAuth für Snowflake

Option 1: Konfigurieren von OAuth für Snowflake-Verbindungen mithilfe von TSM

Wir empfehlen die Verwendung dieser Option, wenn Sie mehrere Tableau Server-Sites auf einmal aktualisieren müssen.

Hinweis: Diese Konfigurationsoption ist nicht für den Einsatz auf Tableau Cloud verfügbar.

  1. (Version 2024.1 und früher) Führen Sie auf dem Tableau Server-Computer den folgenden Befehl aus, um den Snowflake OAuth-Dienst zu aktivieren:

    tsm configuration set -k native_api.enable_snowflake_privatelink_on_server -v true

    Hinweis: Ab Version 2024.2 können Sie Schritt 1 überspringen, unabhängig davon, ob eine private Snowflake-Verbindung verwendet wird oder nicht.

  2. Kopieren Sie folgenden Befehl, fügen Sie ihn in einen Texteditor ein und passen ihn an:

    tsm configuration set -k oauth.snowflake.clients -v " [{\"oauth.snowflake.instance_url\":\"https://account.snowflakecomputing.com\", \"oauth.snowflake.client_id\":\"client_id_string\", \"oauth.snowflake.client_secret\":\"client_secret_string\", \"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" }]"

    Der Schlüssel oauth.snowflake.clients nimmt eine Anordnung von Schlüsselpaaren. Jedes Element im Schlüsselpaar muss innerhalb von doppelten Anführungszeichen stehen. Beendet werden die doppelte Anführungszeichen durch \".

    Um mehrere Kontoinstanz-URLs anzugeben, trennen Sie jeden zusätzlichen OAuth-Client in geschweiften Klammern ({}) mit einem Komma (,), wie in diesem Beispiel:

    tsm configuration set -k oauth.snowflake.clients -v " [{\"oauth.snowflake.instance_url\":\"https://account.snowflakecomputing.com\",\"oauth.snowflake.client_id\":\"client_id_string1\",\"oauth.snowflake.client_secret\":\"client_secret_string1\",\"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" },{\"oauth.snowflake.instance_url\":\"https://account2.snowflakecomputing.com\",\"oauth.snowflake.client_id\":\"client_id_string2\",\"oauth.snowflake.client_secret\":\"client_secret_string2\",\"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" }]"

    Ersetzen Sie die Werte für die einzelnen Schlüssel wie folgt:

    • URL der Kontoinstanz: oauth.snowflake.instance_url

    • Client-ID: oauth.snowflake.client_id

    • Client-Geheimnis: oauth.snowflake.client_secret

    • Weiterleitungs-URL: oauth.snowflake.redirect_uri

    Hinweis:Überprüfen Sie vor dem Ausführen des Befehls die Syntax sorgfältig. TSM wird diese Eingabe nicht validieren.

    Kopieren Sie den Befehl in die TSM-Befehlszeile und führen Sie ihn aus.

  3. Geben Sie den folgenden Befehl ein, um die Änderungen 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.

Option 2: Konfigurieren von OAuth für Snowflake-Verbindungen per Site

Hinweis: Diese Option ist auch für Tableau Cloud ab Version 2024.2 verfügbar.

Sie können einen benutzerdefinierten Snowflake OAuth-Client auf der Site-Ebene konfigurieren, indem Sie die Tableau Server-Benutzeroberfläche verwenden.

Erwägen Sie, einen benutzerdefinierten OAuth-Client auf Site-Ebene zu konfigurieren, um:

  1. Einen OAuth-Client zu überschreiben, wenn für den Server konfiguriert

  2. Unterstützung für sichere Verbindungen zu Daten zu ermöglichen, die ganz spezielle OAuth-Clients erfordern.

Wenn ein benutzerdefinierter OAuth-Client konfiguriert ist, hat die Konfiguration auf Site-Ebene Vorrang vor allen Server-seitigen Konfigurationen, und alle neu hinzugefügten OAuth-Anmeldeinformationen verwenden standardmäßig den OAuth-Client auf Site-Ebene. Damit die benutzerdefinierten OAuth-Konfigurationen auf Site-Ebene wirksam werden, ist kein Tableau Server-Neustart erforderlich.

Wichtig: Vorhandene OAuth-Anmeldeinformationen, die vor der Konfiguration des benutzerdefinierten OAuth-Clients erstellt wurden, sind vorübergehend verwendbar, aber sowohl Tableau Server-Administratoren als auch -Benutzer müssen ihre gespeicherten Anmeldeinformationen aktualisieren, damit ein unterbrechungsfreier Datenzugriff sichergestellt ist.

Schritt 1: Vorbereiten der OAuth-Client-ID, des Client-Geheimnisses und der Umleitungs-URL

Bevor Sie den benutzerdefinierten OAuth-Client konfigurieren können, benötigen Sie die unten aufgeführten Informationen. Sobald Sie diese Informationen zur Verfügung haben, können Sie den benutzerdefinierten OAuth-Client für die Site registrieren. Weitere Informationen finden Sie weiter oben im Abschnitt Schritt 1: Einrichten und Registrieren des OAuth-Clients bei Snowflake.

  • URL der Kontoinstanz

  • OAuth-Client-ID und Client-Geheimnis: Registrieren Sie zunächst den OAuth-Client beim Datenanbieter (Connector), um die für Tableau Server generierte Client-ID sowie das dazugehörige Geheimnis abzurufen.

  • Weiterleitungs-URL: Notieren Sie sich die korrekte Weiterleitungs-URL. Sie benötigen diese für den Registrierungsprozess in Schritt 2: Hinzufügen des OAuth-Clients zur Tableau Server-Site weiter unten.

    https://<url_ihres_tableau_servers>.com/auth/add_oauth_token

Schritt 2: Hinzufügen des OAuth-Clients zur Tableau Server-Site

Befolgen Sie das unten beschriebene Verfahren, um den benutzerdefinierten OAuth-Client bei der Site zu registrieren.

  1. (Version 2024.1 und früher): Führen Sie auf dem Tableau Server-Computer die folgenden zwei Befehle aus, um den Snowflake OAuth-Dienst zu aktivieren:

    tsm configuration set -k native_api.enable_snowflake_privatelink_on_server -v true

    tsm pending-changes apply

    Hinweis: Ab Version 2024.2 können Sie Schritt 1 überspringen, unabhängig davon, ob eine private Snowflake-Verbindung verwendet wird oder nicht.

  2. Melden Sie sich mit Ihren Administrator-Anmeldeinformationen bei Ihrer Tableau Server-Site an und navigieren Sie zur Seite Einstellungen.

  3. Klicken Sie unter „OAuth-Clients-Registrierung“ auf die Schaltfläche OAuth-Client hinzufügen.

  4. Geben Sie die erforderlichen Informationen ein, einschließlich der Informationen aus Schritt 1 oben:

    1. Wählen Sie bei Verbindungstyp den Connector aus, dessen benutzerdefinierten OAuth-Client Sie konfigurieren möchten.

    2. Eine OAuth-Instanz-URL ist erforderlich, wenn mehrere OAuth-Clients registriert werden. Andernfalls ist sie optional.

    3. Geben Sie für Client-ID, Client-Geheimnis und Weiterleitungs-URL die Informationen ein, die Sie in Schritt 1 oben zusammengestellt haben.

    4. Klicken Sie auf die Schaltfläche OAuth-Client hinzufügen, um den Registrierungsprozess abzuschließen.

  5. Klicken Sie unten oder oben auf der Einstellungsseite auf die Schaltfläche Speichern, um die Änderungen zu speichern.

Schritt 3: Validieren und Aktualisieren der gespeicherten Anmeldeinformationen

Zur Gewährleistung eines kontinuierlichen Datenzugriffs müssen Sie (und Ihre Site-Benutzer) die zuvor gespeicherten Anmeldeinformationen löschen und sie erneut hinzufügen, um den benutzerdefinierten OAuth-Client für die Site zu verwenden.

  1. Navigieren Sie zur Seite Eigene Kontoeinstellungen.

  2. Gehen Sie unter Gespeicherte Anmeldeinformationen für Datenquellen wie folgt vor:

    1. Klicken Sie auf Löschen neben den vorhandenen gespeicherten Anmeldeinformationen für den Connector, dessen benutzerdefinierten OAuth-Client Sie in Schritt 2: Hinzufügen des OAuth-Clients zur Tableau Server-Site weiter oben konfiguriert haben.

    2. Klicken Sie neben dem Namen des Connectors auf Hinzufügen und folgen Sie den Anweisungen, um 1.) eine Verbindung mit dem benutzerdefinierten OAuth-Client herzustellen, den Sie weiter oben in Schritt 2: Hinzufügen des OAuth-Clients zur Tableau Server-Site konfiguriert haben, und 2.) die aktuellen Anmeldeinformationen zu speichern.

Schritt 4: Benachrichtigen der Benutzer, dass diese ihre gespeicherten Anmeldeinformationen aktualisieren sollen

Vergessen Sie nicht, Ihre Site-Benutzer aufzufordern, ihre gespeicherten Anmeldeinformationen für den Connector zu aktualisieren, dessen benutzerdefinierten OAuth-Client Sie oben in Schritt 2: Hinzufügen des OAuth-Clients zur Tableau Server-Site konfiguriert haben. Site-Benutzer können dazu die Vorgehensweise verwenden, die unter Aktualisierung gespeicherter Anmeldeinformationen beschrieben ist, um ihre gespeicherten Anmeldeinformationen zu aktualisieren.

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