Einrichten von Amazon Redshift IAM Identity Center OAuth

Sie können OAuth 2.0/OIDC ab Tableau 2023.3.2 für On-Premise-Anwendungen (Tableau Desktop, Tableau Server und Tableau Prep) und ab Ende März 2024 auch für Tableau Cloud verwenden. Dadurch können die für einen externen Identitätsanbieter verwendeten Identitäten auch in Amazon Redshift genutzt werden. In Tableau Cloud kann als Workaround Tableau Bridge verwendet werden, bis dieses Feature verfügbar ist. Weitere Informationen zu Bridge finden Sie unter Verwenden von Bridge, um Daten auf dem neuesten Stand zu halten.

Hinweis: Für OSX ist dieses Feature aufgrund von Treibereinschränkungen nicht verfügbar.

Diese Anweisungen gelten für den neueren AWS IAM IDC-Dienst. Informationen zur ursprünglichen IAM-Integration finden Sie unter Einrichten von Amazon Redshift IAM OAuth.

Je nach Identitätsanbieter sind unterschiedliche Schritte zur Konfiguration der Integration erforderlich. Dies ist eine allgemeine Anleitung. Tableau kann keine detaillierten Anweisungen zur Konfiguration von AWS oder IDP bereitstellen – die allgemeine Vorgehensweise sieht jedoch wie folgt aus.

Konfigurieren des Identitätsanbieters (IDP)

  1. Erstellen Sie OAuth-Clients bei dem IDP für Tableau Desktop und Tableau Server oder Tableau Cloud. Am Desktop-Client sollte PKCE aktiviert sein und http://localhost-Weiterleitungen sollten verwendet werden.

  2. Fügen Sie benutzerdefinierte Ansprüche hinzu, die für die Autorisierung von Rollen verwendet werden sollen.

  3. Erstellen Sie die Tableau-OAuth-Konfigurationsdateien. Informationen dazu finden Sie in der Dokumentation auf Github(Link wird in neuem Fenster geöffnet) und in den Beispielen(Link wird in neuem Fenster geöffnet). Wir freuen uns über Beispiele für andere IDPs.

    1. Achten Sie darauf, den Tableau-OAuth-Konfigurations-IDs custom_ voranzustellen.

    2. Wenn Ihr IDP den dynamischen Localhost-Port unterstützt, deaktivieren Sie OAUTH_CAP_FIXED_PORT_IN_CALLBACK_URL. Wenn dies nicht der Fall ist, stellen Sie sicher, dass Sie diverse Localhost-Rückruf-URLs zur Zulassungsliste in der Konfigurationsdatei und bei dem IDP hinzufügen.

  4. Installieren Sie Tableau-OAuth-Konfigurationsdateien auf Desktop-Computern sowie auf Tableau Server oder Tableau Cloud-Sites.

Schritt 2: Konfigurieren von IDP und Rollen in AWS

Wie das geht, erfahren Sie in Ihrer AWS-Dokumentation.

Schritt 3: Herstellen einer Verbindung zu Redshift

  1. Stellen Sie eine Verbindung zu Redshift her.

  2. Wählen Sie als Authentifizierung „OAuth“ aus.

  3. Wählen Sie als Zusammenführungstyp „Identity Center“ aus.

  4. (Optional) Falls erforderlich, geben Sie den Identity Center-Namespace an.

Wenn ordnungsgemäß konfiguriert, werden Sie zu dem IDP weitergeleitet, um Token für Tableau zu authentifizieren und zu autorisieren. Tableau wird ein Zugriffstoken und Aktualisierungstoken erhalten. Das Zugriffstoken wird zur Authentifizierung an den Treiber gesendet.

Okta

Wenn Sie Okta verwenden, ist es besser, einen „benutzerdefinierten Autorisierungsserver“ anstelle des „Organisations-Autorisierungsservers“ zu verwenden. Die benutzerdefinierten Autorisierungsserver sind flexibler. Ein benutzerdefinierter Autorisierungsserver wird standardmäßig erstellt und mit dem Namen „default“ (Standard) versehen. Die Autorisierungs-URL sollte wie folgt aussehen:

https://${yourOktaDomain}/oauth2/{authServerName}/v1/authorize

Aktualisieren des Treibers

Für Redshift OAuth mit dem IAM IDC-Dienst müssen Sie den Redshift ODBC-Treiber ab Version 2.0.1.0 verwenden, der von der folgenden Stelle heruntergeladen werden kann: https://github.com/aws/amazon-redshift-odbc-driver/tags(Link wird in neuem Fenster geöffnet). Beachten Sie, dass es für OSX keinen v2-Treiber gibt.

Fehlerbehebung bei Redshift IAM IDC OAuth

Wenn der Treiber beim ersten Herstellen einer Verbindung eine Fehlermeldung bezüglich eines ungültigen/abgelaufenen Tokens zurückgibt (mit einem SQLState-Fehlercode wie [28000] oder [08001]), bedeutet dies, dass Tableau den OAuth-Ablauf erfolgreich abgeschlossen hat und der Fehler ist im Treiber vorliegt. Dies bedeutet, dass entweder bei AWS oder beim IDP eine fehlerhafte Konfiguration vorliegt. Möglicherweise werden vom Treiber auch Berechtigungs- oder Autorisierungsfehler zurückgegeben, was ebenfalls außerhalb der Kontrolle von Tableau liegt.

Um diese Fehler zu diagnostizieren, ist es am besten, den Vorgang ohne Tableau auszuführen. Sie müssen zunächst ein Zugriffstoken (Standard für IAM IDC) oder ein Zugriffstoken (sofern angepasst) erhalten, um es an den Treiber zu senden.

Hier ist ein Beispiel mit Okta. Fast alle IDPs bieten diese Möglichkeit, die bei allen sehr ähnlich ist. Beachten Sie, dass Sie zur Verwendung dieses Schemas den Kennwort-Gewährungstyp "Ressourcenbesitzer" aktiviert haben müssen. Ersetzen Sie die IDP-URL, den geheimen Clientschlüssel, die Client-ID, den Benutzernamen und das Kennwort.

curl -X POST "https://OKTA_URL/v1/token" \
-H 'accept: application/json' \
-H "Authorization: Basic $(echo -n 'CLIENTID:CLIENTSECRET' | base64)" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=password&username=USER&password=PASSWORD&scope=openid"

Sobald Sie das Token haben, können Sie einen DSN zum Testen verwenden. Nachfolgend finden Sie ein Beispiel für die Verwendung des ODBC-Treibermanagers unter Windows. Auf einem Mac können Sie die Benutzeroberfläche des iODBC-Treibermanagers verwenden. Unter Linux können Sie das isql-Befehlszeilentool verwenden, das in Tableau Server im Ordner "customer-bin" verfügbar ist.

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