Utiliser votre propre fournisseur d’identité avec Amazon Athena
Depuis Tableau 2023.2, vous pouvez utiliser Oauth 2.0/OIDC pour fédérer l’identité d’un fournisseur d’identité externe dans Amazon Athena.
Selon le fournisseur d’identité, plusieurs étapes sont nécessaires pour configurer l’intégration. Tableau ne fournit que des instructions détaillées sur la manière de configurer les produits Tableau. Pour savoir comment configurer votre fournisseur d’identité (tel que Okta), consultez l’aide et les tutoriels de ce produit. Ce document présente une vue d’ensemble du processus de configuration.
Remarque :Les étapes et les liens qui ne font pas partie du contenu de Tableau et de Salesforce peuvent ne pas être mis à jour ou être inexacts.
Configurer le fournisseur d’identité (IDP)
Créez des clients OAuth sur le fournisseur d’identité pour Tableau Desktop et Tableau Server. Le client Desktop active PKCE(Le lien s’ouvre dans une nouvelle fenêtre) et utilise les redirections http://localhost.
Ajoutez les revendications personnalisées requises pour l’autorisation des rôles. Pour plus de détails sur les revendications et les portées, consultez Portées c. revendications(Le lien s’ouvre dans une nouvelle fenêtre).
Créez le fichier de configuration Tableau Oauth. Pour plus de détails sur la procédure à suivre, consultez Configuration et utilisation d’OAuth(Le lien s’ouvre dans une nouvelle fenêtre) sur GitHub et des exemples ici. N’oubliez pas de préfixer les identifiants de configuration Tableau Oauth avec “custom_”.
Installez les fichiers de configuration Tableau OAuth sur les ordinateurs Tableau Desktop et sur les sites Tableau Server et Tableau Cloud, comme expliqué dans le lien de la rubrique Configuration OAuth ci-dessus.
Configurer le fournisseur d’identité sur AWS
- Créez l’entité de l’IdP. Consultez la documentation Amazon Fédération d’identité Web, Créer un fournisseur d’identité OIDC.
- Le fournisseur d’identité doit être configuré pour se fédérer avec Athena afin qu’il fonctionne avec le module d’extension du pilote de Tableau. Les informations suivantes sur le fournisseur sont utilisées pour les flux Tableau Server et Tableau Desktop :
AwsCredentialsProviderClas=com.simba.athena.iamsupport.plugin.JwtCredentialsProvider
role_session_name=AthenaJWT - Créez des rôles et des stratégies pour le fournisseur d’identité en particulier. Consultez Créer un rôle pour OIDC sur la documentation AWS.
Configurer des rôles pour Athena
Joignez les stratégies nécessaires pour Athena. Il existe de nombreuses façons de le faire. La première consiste à utiliser des revendications personnalisées. Vous pouvez utiliser des revendications personnalisées dans le jeton openID pour autoriser des rôles. Ces rôles ont accès à d’autres ressources. Pour plus d’informations, consultez :
Tutoriel : Configuration de l’accès fédéré des utilisateurs d’Okta à Athena en utilisant Lake Formation et JDBC.
Accès détaillé aux bases de données et tables dans le AWS Glue Data Catalog.
Connexion à Athena
L’utilisateur doit préciser l’ARN (Amazon Resource Name) du rôle AWS à assumer, puis, sous Fournisseur OAuth, sélectionner la configuration OAuth installée précédemment. Notez que le menu déroulant permettant de sélectionner une configuration n’apparaîtra que s’il y a plusieurs configurations possibles.
Lorsqu’il est correctement configuré, l’utilisateur est redirigé vers l’IdP pour s’authentifier et autoriser les jetons pour Tableau. Tableau reçoit les jetons openid et les actualise. AWS peut valider le jeton et la signature reçus du fournisseur d’identité, extraire les revendications du jeton, vérifier si les revendications sont associées au rôle IAM, et autoriser ou empêcher Tableau d’assumer le rôle au nom de l’utilisateur.
Exemple : AssumeRoleWithWebIdentity
Jetons
Par défaut, Athena OAuth IAM transmet le jeton d'identification au pilote. Pour les clients sur site, y compris ceux qui utilisent Tableau Bridge, vous pouvez aussi utiliser un fichier TDC pour transmettre le jeton d'accès.
<connection-customization class='athena' enabled='true' version='10.0'> <vendor name='athena' /> <driver name='athena' /> <customizations> <customization name='CAP_OAUTH_FEDERATE_ACCCESS_TOKEN' value='yes'/> </customizations> </connection-customization>
Pour plus d’informations sur la configuration et l’installation des fichiers .tdc, consultez Personnalisation et optimisation d’une connexion(Le lien s’ouvre dans une nouvelle fenêtre).
Configuration d’Okta
Si vous utilisez Okta, il est préférable d’utiliser un « serveur d’autorisation personnalisé » plutôt que le « serveur d’autorisation de l’organisation ». Les serveurs d’autorisation personnalisés offrent plus de souplesse. Un serveur d’autorisation personnalisé, appelé « default », est créé par défaut. L’URL d’autorisation ressemble à l’exemple suivant.
https://${yourOktaDomain}/oauth2/{authServerName}/v1/authorize