Amazon Redshift IAM Identity Center OAuth instellen

Vanaf Tableau 2023.3.2 voor gebruik op locatie van (Tableau Desktop, Tableau Server en Tableau Prep), kunt u met OAuth 2.0/OIDC identiteiten van een externe identiteitsprovider federatief gebruiken in Amazon Redshift. Deze functie is niet beschikbaar voor OSX vanwege stuurprogrammabeperkingen.

Opmerking: vanwege Unicode-problemen in Linux kan het Redshift ODBC 2.0-stuurprogramma momenteel niet worden gebruikt met Linux, als uw ID's (databasenamen, tabelnamen, weergavenamen en kolomnamen) niet in het Engels zijn. We wachten op een bijgewerkt stuurprogramma van Amazon.

Deze instructies hebben betrekking op de nieuwere AWS IAM IDC-service. Zie Amazon Redshift IAM OAuth instellen voor de originele IAM-integratie.

Afhankelijk van de identiteitsprovider zijn er verschillende stappen nodig om de integratie te configureren. Dit is een algemeen overzicht. Tableau kan geen gedetailleerde instructies geven voor het configureren van AWS of de IDP, maar dit is de algemene methode.

De IDP configureren

  1. Maak OAuth-clients in de IDP voor Tableau Desktop en Tableau Server of Tableau Cloud. De Desktop-client moet PKCE inschakelen en http://localhost-omleidingen gebruiken.

  2. Voeg eventuele vereiste aangepaste claims toe die worden gebruikt voor het autoriseren van rollen.

  3. Maak de Tableau OAuth-configuratiebestanden. Bekijk de documentatie op GitHub(Link wordt in een nieuw venster geopend) en voorbeelden(Link wordt in een nieuw venster geopend). Voorbeelden voor andere IDP's zijn van harte welkom.

    1. Zorg ervoor dat u het voorvoegsel 'custom_' gebruikt voor OAuth Config-ID's van Tableau.

    2. Als uw IDP de dynamische poort voor localhost ondersteunt, schakelt u OAUTH_CAP_FIXED_PORT_IN_CALLBACK_URL uit. Als dit niet het geval is, voeg dan verschillende localhost callback-URL's toe aan de toelatingslijst in het configuratiebestand en in de IDP.

  4. Installeer OAuth-configuratiebestanden voor Tableau op desktopcomputers en Tableau Server- of Tableau Cloud-sites.

Stap 2: IDP en rollen configureren in AWS

Zie uw AWS-documentatie voor informatie hierover.

Stap 3: verbinding maken met Redshift

  1. Maak verbinding met Redshift.

  2. Selecteer OAuth voor Verificatie.

  3. Selecteer Identity Center voor Federatietype.

  4. Geef zo nodig de Naamruimte van het Identity Center op (optioneel).

Wanneer u de juiste configuratie hebt, wordt u doorgestuurd naar de IDP om tokens voor Tableau te verifiëren en autoriseren. Tableau ontvangt een toegangstoken en vernieuwingstokens. Het stuurt het toegangstoken naar het stuurprogramma voor verificatie.

Okta

Als u Okta gebruikt, kunt u beter een 'aangepaste autorisatieserver' gebruiken in plaats van de 'org-autorisatieserver'. De aangepaste autorisatieservers zijn flexibeler. Er wordt standaard een aangepaste autorisatieserver gemaakt met de naam 'standaard’. De autorisatie-URL ziet er ongeveer als volgt uit:

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

Het stuurprogramma bijwerken

U moet voor Redshift OAuth die gebruikmaakt van de IAM IDC-service het Redshift ODBC-stuurprogramma gebruiken vanaf versie 2.0.1.0. Het kan worden gedownload van https://github.com/aws/amazon-redshift-odbc-driver/tags(Link wordt in een nieuw venster geopend). Er is geen v2-stuurprogramma voor OSX.

Problemen met Redshift IAM IDC Oauth oplossen

Als u bij de eerste keer dat er verbinding wordt gemaakt een foutmelding ziet over een ongeldig/verlopen token afkomstig van het stuurprogramma (de foutmelding bevat een SQLState-foutcode, zoals [28000] of [08001]), dan heeft Tableau de OAuth-stroom voltooid, maar is er een fout opgetreden met het stuurprogramma. Dit betekent dat er een verkeerde configuratie is aan de kant van AWS of IDP. Er kunnen ook fouten met de machtigingen of autorisatie worden geretourneerd door het stuurprogramma, waar Tableau ook geen invloed op heeft.

De beste manier om een diagnose te stellen van deze fouten is door Tableau buiten beeld te laten. U moet eerst een toegangstoken (de standaard voor IAM IDC) of vernieuwingstoken (indien aangepast) verkrijgen die u naar het stuurprogramma verzendt.

Hier volgt een voorbeeld met Okta. Bijna alle IDP's hebben een (soortgelijke) manier om dit op te lossen. Als u deze stroom wilt gebruiken, moet u het wachtwoordtoekenningstype voor de resource-eigenaar hebben ingeschakeld. Vervang de IDP-URL, het clientgeheim, de client-ID, de gebruikersnaam en het wachtwoord.

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"

Wanneer u het token eenmaal hebt, kunt u met DSN een test uitvoeren. Hieronder ziet u een voorbeeld van het gebruik van de ODBC-stuurprogrammamanager in Windows. Op Mac kunt u de gebruikersinterface van de iODBC-stuurprogrammamanager gebruiken. In Linux kunt u de isql-opdrachtregeltool gebruiken die bij Tableau Server wordt geleverd in de map customer-bin.

Bedankt voor uw feedback.De feedback is verzonden. Dank u wel.