Konfigurera OAuth för Amazon Redshift IAM Identity Center

Från och med Tableau 2023.3.2 kan du använda OAuth 2.0/OIDC för att federera identitet från en extern identitetsprovider till Amazon Redshift.

De här instruktionerna avser den nyare AWS IAM IDC-tjänsten. Om det gäller ursprunglig IAM-integrering läser du Konfigurera OAuth för Amazon Redshift IAM Identity Center.

Beroende på identitetsprovider finns det olika steg som måste genomföras för att konfigurera integreringen. Detta är en översikt. Tableau kan inte lämna detaljerade anvisningar om hur du konfigurerar AWS eller identitetsprovidern, men detta är det allmänna tillvägagångssättet.

Du hittar detaljerade exempel på autentiseringsimplementering med Redshift i ”Integrera Tableau och Okta med Amazon Redshift med AWS IAM Identity Center(Länken öppnas i ett nytt fönster)” och ”Integrera Tableau och Microsoft Entra ID med Amazon Redshift med AWS IAM Identity Center(Länken öppnas i ett nytt fönster)” (på engelska).

Steg 1: Konfigurera en IDP

  1. Skapa OAuth-klienter hos identitetsprovidern för Tableau Desktop och Tableau Server eller Tableau Cloud. Tableau Desktop-klienten ska aktivera PKCE och använda http://localhost-omdirigeringar.

  2. Lägg till eventuella anpassade anspråk som ska användas för auktorisering till roller.

  3. Skapa Tableau OAuth-konfigurationsfilerna. Läs dokumentationen hos GitHub(Länken öppnas i ett nytt fönster) och exempel här(Länken öppnas i ett nytt fönster). Vi tar gärna emot exempel för andra identitetsprovider.

    1. Se till att lägga till prefixet ”custom_” i konfigurations-ID:na för Tableau OAuth.

    2. Om identitetsprovidern har stöd för en dynamisk localhost-port inaktiverar du OAUTH_CAP_FIXED_PORT_IN_CALLBACK_URL. Om inte, ser du till att lägga till flera URL:er för localhost-återanrop i godkännandelistan i konfigurationsfilen och hos identitetsprovidern.

  4. Installera de nya OAuth-konfigurationsfilerna för Tableau i mappen OAuthConfigs för varje associerat program på värddatorerna (Tableau Desktop, Tableau Prep Builder, Tableau Bridge) och på alla Tableau Server- och Tableau Cloud-platser som ska använda OAuth.

Steg 2: Konfigurera identitetsprovider och roller i AWS

Läs AWS-dokumentationen för information om hur du gör detta.

Steg 3: Ansluta till Redshift

  1. Anslut till Redshift.

  2. Välj OAuth som Authentication (Autentisering).

  3. Välj Identity Center som Federation Type (Federationstyp).

  4. (Valfritt) Ange Identity Center Namespace (Namnrymd för Identity Center) vid behov.

När allt har konfigurerats korrekt omdirigeras du till identitetsprovidern för att autentisera och auktorisera token för Tableau. Tableau får en åtkomsttoken och uppdateringstoken. Tableau skickar åtkomsttoken till drivrutinen för autentisering.

Token

Som standard skickar Redshift OAuth till IAM IDC åtkomsttoken till föraren. För kunder på plats, inklusive de som använder Tableau Bridge, kan du använda en TDC-fil för att skicka ID-token istället.

<connection-customization class='redshift' enabled='true' version='10.0'>
	<vendor name='redshift' />
	<driver name='redshift' />
	<customizations>
		<customization name='CAP_OAUTH_FEDERATE_ID_TOKEN' value='yes'/>
	</customizations>
</connection-customization>

Mer information om att konfigurera och installera .tdc-filer finns i Anpassa och ställa in en anslutning(Länken öppnas i ett nytt fönster) och Using a .tdc File with Tableau Server(Länken öppnas i ett nytt fönster) (på engelska).

Okta

Om du använder Okta är det bättre att använda en ”custom authorization server” (anpassad auktoriseringsserver) i stället för ”org authorization server” (organisationens auktoriseringsserver). De anpassade auktoriseringsservrarna är mer flexibla. En anpassad auktoriseringsserver skapas som standard och kallas ”default”. Auktoriserings-URL:en bör se ut så här:

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

Uppdatera drivrutinen

För Redshift OAuth med IAM IDC-tjänsten måste du använda minst version 2.x av ODBC-drivrutinen. Ladda ner den senaste versionen av Redshift ODBC-drivrutinen som finns på https://github.com/aws/amazon-redshift-odbc-driver/tags(Länken öppnas i ett nytt fönster). Tänk på att det inte finns någon v2-drivrutin för OSX än.

Felsöka OAuth för Redshift IAM IDC

Det bästa sättet att diagnostisera fel är att plocka bort Tableau ur bilden. Du kan i stället testa med drivrutinshanteraren eller ett liknande verktyg. Detta är bara för felsökning – du bör inte använda ett DSN eller kopplingen ”Andra databaser (ODBC)” för regelbunden användning av den här funktionen. För att testet ska vara giltigt bör parametrarna vara desamma som de nedan, med undantag för klusterinformation, databas, token och namnutrymme.

Om det visas ett felmeddelande om ogiltig/förfallen token från drivrutinen vid den första anslutningen (med en SQLState-felkod som [28000] eller [08001] i felmeddelandet), så har Tableau slutfört OAuth-flödet utan fel men misslyckats med drivrutinen. Detta betyder att det finns en felkonfiguration antingen på AWS-sidan eller hos identitetsprovidern. Det kan också finnas behörighets- eller auktoriseringsfel som returneras från drivrutinen, vilket också ligger utanför Tableaus kontroll.

Innan du börjar testa måste du först få en åtkomsttoken (standard för IAM IDC) eller en uppdateringstoken (om anpassad) att skicka till drivrutinen.

Här är ett exempel med Okta. Nästan alla identitetsprovider gör detta på ungefär samma sätt. Tänk på att du måste ha aktiverat lösenord som behörighetstyp för resursägaren för att använda det här flödet. Ersätt identitetsproviderns URL, klienthemligheten, klient-ID:t, användarnamnet och lösenordet.

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"

När du väl har token kan du använda ett DSN för att testa. På Windows kan du använda ODBC-drivrutinshanteraren. På Linux kan du använda kommandoradsverktyget isql som ingår i Tableau Server i mappen customer-bin.

Tableau rekommenderar att du inte använder andra plugin-program för testning, eftersom de kanske inte fungerar i en servermiljö. De använder antingen en fast AWS-profil eller kräver direkt tillgång till en webbläsare.

Nedan visas ett exempel på hur du använder ODBC-drivrutinshanteraren i Windows.

Tack för din feedback!Din feedback har skickats in. Tack!