Amazon Redshift IAM Identity Center OAuth instellen
Vanaf Tableau 2023.3.2 kunt u OAuth 2.0/OIDC gebruiken om de identiteit van een externe identiteitsprovider te federeren naar Amazon Redshift.
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.
Zie Tableau en Okta integreren met Amazon Redshift met gebruik van AWS IAM Identity Center(Link wordt in een nieuw venster geopend) en Tableau en Microsoft Entra ID integreren met Amazon Redshift met gebruik van AWS IAM Identity Center(Link wordt in een nieuw venster geopend) voor enkele gedetailleerde voorbeelden van het implementeren van verificatie met Redshift.
Opmerking: Vernieuwingstokens voor eenmalig gebruik (soms ook wel rolling vernieuwingstokens of rotatie van vernieuwingstokens genoemd) worden op dit moment niet ondersteund voor OAuth-verbindingen met Tableau. Ondersteuning voor deze tokens staat gepland voor een toekomstige release.
Stap 1: Configureer de IDP
Maak OAuth-clients in de IDP voor Tableau Desktop en Tableau Server of Tableau Cloud. De Desktop-client moet
PKCE
inschakelen enhttp://localhost
-omleidingen gebruiken.Voeg eventuele vereiste aangepaste claims toe die worden gebruikt voor het autoriseren van rollen.
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.
Zorg ervoor dat u het voorvoegsel '
custom_
' gebruikt voor OAuth Config-ID's van Tableau.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.
Installeer de nieuwe Tableau OAuth-configuratiebestanden in de map
OAuthConfigs
die is gekoppeld aan elke toepassing op desktophosts (Tableau Desktop, Tableau Prep Builder, Tableau Bridge) en op elke Tableau Server- en Tableau Cloud-site die OAuth gaat gebruiken.
Stap 2: IDP en rollen configureren in AWS
Zie uw AWS-documentatie voor informatie hierover.
Stap 3: verbinding maken met Redshift
Maak verbinding met Redshift.
Selecteer OAuth voor Verificatie.
Selecteer Identity Center voor Federatietype.
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.
Tokens
Standaard geeft Redshift OAuth naar IAM IDC het toegangstoken door aan het stuurprogramma. Voor on-premise klanten, waaronder klanten die Tableau Bridge gebruiken, kunt u in plaats daarvan een TDC-bestand gebruiken om het toegangstoken door te geven.
<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>
Zie Een verbinding aanpassen en afstemmen(Link wordt in een nieuw venster geopend) en Een .tdc-bestand gebruiken met Tableau Server(Link wordt in een nieuw venster geopend) voor meer informatie over het configureren en installeren van .tdc-bestanden.
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
Voor Redshift OAuth met gebruik van de IAM IDC-service moet u minimaal versie 2.x van het ODBC-stuurprogramma gebruiken. Download de nieuwste versie van het Redshift ODBC-stuurprogramma die u kunt vinden op https://github.com/aws/amazon-redshift-odbc-driver/tags(Link wordt in een nieuw venster geopend). Er is nog geen v2-stuurprogramma voor OSX.
Problemen met Redshift IAM IDC Oauth oplossen
De beste manier om een diagnose van fouten te stellen is door Tableau buiten beeld te laten. U kunt in plaats daarvan testen met behulp van de stuurprogrammamanager of een vergelijkbare tool. Dit is alleen bedoeld om problemen op te lossen. DSN en de connector 'Andere ODBC' zijn niet bedoeld voor normaal gebruik van deze functie. Voor een geldige test moeten de parameters overeenkomen met de onderstaande parameters, met uitzondering van de clusterinformatie, de database, het token en de naamruimte.
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.
Voordat u begint met testen, dient u een toegangstoken (de standaard voor IAM IDC) of vernieuwingstoken (indien aangepast) te verkrijgen om naar het stuurprogramma te verzenden.
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. In Windows kunt u de ODBC-stuurprogrammamanager gebruiken. In Linux kunt u de isql-opdrachtregeltool gebruiken die bij Tableau Server wordt geleverd in de map customer-bin.
Tableau raadt u aan om geen andere plug-ins te gebruiken om te testen, omdat deze mogelijk niet werken in een serveromgeving. Deze gebruiken een vast AWS-profiel of vereisen directe toegang tot een browser.
Hieronder ziet u een voorbeeld van het gebruik van de ODBC-stuurprogrammamanager in Windows.