Konfigurieren von OAuth für Snowflake-Verbindungen
Es gibt mehrere Möglichkeiten, OAuth für Snowflake-Verbindungen zu konfigurieren, je nachdem, welche Tableau-Version 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. Ab Tableau 2020.4 können Sie Tableau Server optional zur Verwendung 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). 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.
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.
Registrieren eines OAuth-Clients bei Snowflake
Um eine benutzerdefinierte OAuth-Einrichtung in Tableau Server verwenden zu können, müssen Sie zuerst Ihren OAuth-Client registrieren und eine Client-ID und ein Client-Geheimnis erhalten, um die Konfiguration abzuschließen. 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.
Nach der Registrierung 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://ihre_server_url.com/auth/add_oauth_token
Beispiel: https://beispiel.com/auth/add_oauth_token
Option 1: Konfigurieren von OAuth für Snowflake-Verbindungen mithilfe von TSM
Wir empfehlen die Verwendung dieser Option, wenn Sie mehrere Sites gleichzeitig aktualisieren müssen.
Hinweis: Diese Konfigurationsoption ist nicht für den Einsatz auf Tableau Cloud verfügbar.
(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.
Kopieren Sie folgenden Befehl, fügen Sie ihn in einen Texteditor ein und passen ihn an:
Hinweis: Wenn Sie diese Konfigurationsänderungen in Tableau Server 2021.1 und höher vornehmen, müssen Sie beachten, dass das Format des oauth.snowflake.clients-Wertes geändert wurde.
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_url1\":\"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\" }]"
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.
- URL der Kontoinstanz:
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 die Konfiguration eines benutzerdefinierten OAuth-Clients, um 1) einen OAuth-Client zu überschreiben, wenn er für den Server konfiguriert ist, oder 2) Unterstützung für die sichere Verbindung zu Daten zu aktivieren, die eindeutige OAuth-Clients erfordern.
Wenn ein benutzerdefinierter OAuth-Client konfiguriert ist, hat die Konfiguration auf Site-Ebene Vorrang vor jeder serverseitigen Konfiguration und alle neu erstellten OAuth-Anmeldeinformationen verwenden standardmäßig den OAuth-Client auf Site-Ebene. Damit die Konfigurationen wirksam werden, ist kein Neustart von Tableau Server erforderlich.
Wichtig: Vorhandene OAuth-Anmeldeinformationen, die vor der Konfiguration des benutzerdefinierten OAuth-Clients erstellt wurden, sind vorübergehend verwendbar, aber sowohl Serveradministratoren als auch Benutzer müssen ihre gespeicherten Anmeldeinformationen aktualisieren, um einen kontinuierlichen Datenzugriff zu gewährleisten.
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 im Abschnitt OAuth-Client mit Snowflake registrieren, über.
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 weiter unten.
https://<your_server_name>.com/auth/add_oauth_token
Beispiel: https://beispiel.com/auth/add_oauth_token
2: Registrieren von OAuth-Client-ID und Client-Geheimnis
Befolgen Sie das unten beschriebene Verfahren, um den benutzerdefinierten OAuth-Client bei der Site zu registrieren.
(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.
Melden Sie sich mit Ihren Administrator-Anmeldeinformationen bei Ihrer Tableau Server-Site an und navigieren Sie zur Seite Einstellungen.
Klicken Sie unter "OAuth-Clients-Registrierung" auf die Schaltfläche OAuth-Client hinzufügen.
Geben Sie die erforderlichen Informationen ein, einschließlich der Informationen aus Schritt 1 oben:
Wählen Sie bei Verbindungstyp den Connector aus, dessen benutzerdefinierten OAuth-Client Sie konfigurieren möchten.
Geben Sie für Client-ID, Client-Geheimnis und Weiterleitungs-URL die Informationen ein, die Sie in Schritt 1 oben zusammengestellt haben.
Klicken Sie auf die Schaltfläche OAuth-Client hinzufügen, um den Registrierungsprozess abzuschließen.
(Optional) Wiederholen Sie Schritt 3 für alle unterstützten Connectoren.
- Klicken Sie unten oder oben auf der Einstellungsseite auf die Schaltfläche Speichern, um die Änderungen zu speichern.
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.
Navigieren Sie zur Seite Eigene Kontoeinstellungen.
Führen Sie unter Gespeicherte Anmeldeinformationen für Datenquellen Folgendes aus:
Klicken Sie neben den vorhandenen gespeicherten Anmeldeinformationen für den Connector, dessen benutzerdefinierten OAuth-Client Sie oben in Schritt 2 konfiguriert haben, auf Löschen.
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, der oben in Schritt 2 konfiguriert wurde, und 2) die neuesten Anmeldeinformationen zu speichern.
4: Benachrichtigung der Benutzer, um ihre gespeicherten Anmeldeinformationen zu aktualisieren
Stellen Sie sicher, dass Sie Ihre Site-Benutzer darüber informieren, ihre gespeicherten Anmeldeinformationen für den Connector zu aktualisieren, dessen benutzerdefinierten OAuth-Client Sie oben in Schritt 2 konfiguriert haben. Site-Benutzer können dazu die Vorgehensweise verwenden, die unter Aktualisierung gespeicherter Anmeldeinformationen beschrieben ist, um ihre gespeicherten Anmeldeinformationen zu aktualisieren.