(Bientôt disponible) En tant qu’administrateur de site Tableau Cloud, vous pouvez enregistrer un serveur d’autorisation externe (EAS) de manière à établir une relation de confiance entre votre site Tableau Cloud et le serveur EAS à l’aide du protocole standard Oauth 2.0. En établissant une relation de confiance, vous pouvez :

  • Offrir à vos utilisateurs une expérience d’authentification unique (SSO) pour le contenu Tableau intégré dans vos applications externes par le biais du fournisseur d’identités (IdP) que vous avez déjà configuré pour le site Tableau Cloud
  • Autoriser par programme l’accès à l’API REST de Tableau au nom des utilisateurs à l’aide d’un jeton JSON Web Token (JWT)

Lorsque le contenu Tableau intégré est chargé dans votre application externe, un flux OAuth standard est utilisé. Une fois que tous les utilisateurs se sont correctement connectés à leur IdP, ils sont automatiquement connectés à Tableau Cloud. Suivez les étapes décrites ci-dessous pour enregistrer votre serveur EAS auprès du site Tableau Cloud.

Important :

  • Certaines des procédures de cette rubrique nécessitent une configuration avec des logiciels et services tiers. Nous nous sommes efforcés de vérifier les procédures d’activation de la fonctionnalité EAS sur Tableau Server. Toutefois, les logiciels et services tiers peuvent changer ou votre organisation peut être différente. Si vous rencontrez ces problèmes, consultez la documentation du fournisseur tiers pour obtenir des détails concernant la configuration et l’assistance.
  • Si votre application connectée s’exécute dans un conteneur, tel qu’une instance EC2, les horloges du conteneur et de l’hôte doivent être définies sur UTC pour que le jeton de session soit valide. Si l’une ou l’autre des horloges utilise une norme différente, l’application connectée ne sera pas approuvée.

Étape 1 : Avant de commencer

Pour enregistrer un serveur EAS auprès du site Tableau Cloud, vous devez avoir déjà configuré un serveur EAS. En outre, l’EAS doit envoyer un jeton Web JSON (JWT) valide qui contient les revendications enregistrées et l’en-tête répertorié dans le tableau ci-dessous.

Revendication Description ou valeur requise
« kid » (ID Clé) Requis (dans l’en-tête) Un identifiant de clé unique du fournisseur d’identité.
"iss" (émetteur) Obligatoire (dans l’en-tête ou comme revendication). URI d’émetteur unique, en HTTPS, qui identifie l’application de connexion de confiance et sa clé de signature.
"alg" (algorithme) Requis (dans l’en-tête) Algorithme de signature JWT. Les noms d’algorithmes pris en charge sont répertoriés dans la page Class JWSAlgorithm(Le lien s’ouvre dans une nouvelle fenêtre) de la documentation javadoc.io.
"sub " (sujet) Nom d’utilisateur (adresse de courriel) de l’utilisateur Tableau Cloud authentifié.
"aud" (public)

La valeur doit être : "tableau:<site_luid>"

Pour obtenir le LUID du site, vous pouvez utiliser la méthode de connexion de l’API REST Tableau ou suivre les étapes ci-dessous pour copier le LUID du site. Remarque : vous devez enregistrer un serveur EAS à l’aide de la procédure décrite ici avant de pouvoir copier le LUID du site.

  1. Sélectionnez Paramètres > Applications connectées, puis sélectionnez l’application connectée au serveur d’autorisation externe.
  2. Cliquez sur le bouton Copier le LUID du site.

"exp " (Date d’expiration)

Pour être valide, un jeton JWT ne doit pas avoir expiré. Le délai d’expiration (en UTC) du jeton JWT doit être compris dans la période de validité maximale, qui est de 10 minutes.

"jti" (ID JWT) La revendication d’ID JWT fournit un identifiant unique pour le jeton JWT et est sensible à la casse.
"scp" (portée)

Pour l’intégration des flux de travail, les valeurs prises en charge incluent :

"tableau:views:embed"
"tableau:views:embed_authoring "
"tableau:metrics:embed"

Remarques :

  • Les valeurs doivent être transmises sous forme de type de liste.
  • Pour tableau:views:embed, la portée respecte les autorisations des utilisateurs déjà configurées dans Tableau Cloud et permet aux utilisateurs d’interagir avec les outils dans la vue intégrée s’ils sont disponibles dans la vue d’origine.
  • Nous recommandons que le code d’intégration exclue le paramètre de la barre d’outils. Pour plus d’informations, consultez Problèmes connus (intégration des flux de travail uniquement) ci-dessous.

Pour les flux de travail d’autorisations API REST , consultez Méthodes d’API REST prenant en charge l’autorisation JWT.

Remarque : les revendications JWT ci-dessus sont documentées dans la section Noms de revendications enregistrés(Le lien s’ouvre dans une nouvelle fenêtre) de la documentation distribuée par l’organisation IETF (Internet Engineering Task Force).

Étape 2 : Enregistrer votre serveur EAS auprès de Tableau Cloud

En enregistrant votre serveur EAS auprès de Tableau Cloud, vous établissez une relation de confiance entre le serveur EAS et votre site Tableau Cloud. Cela signifie que lorsque les utilisateurs accèdent au contenu Tableau intégré dans votre application externe, ils sont redirigés de manière à s’authentifier auprès du fournisseur d’identités. L’EAS génère le jeton d’authentification, qui est transmis à Tableau Server pour vérification. Une fois la relation de confiance vérifiée, l’accès au contenu intégré est accordé aux utilisateurs.

Remarque : certains EAS prennent en charge l’option d’affichage d’une boîte de dialogue de consentement qui requiert l’approbation des utilisateurs pour que l’application accède au contenu Tableau. Pour garantir la meilleure expérience à vos utilisateurs, nous vous recommandons de configurer votre EAS de manière à ce qu’il accepte automatiquement la demande de l’application externe au nom des utilisateurs.

  1. En tant qu’administrateur de site, connectez-vous à Tableau Cloud.

  2. Dans le volet gauche, sélectionnez Paramètres > Applications connectées.

  3. Cliquez sur la flèche déroulante du bouton Nouvelle application connectée et sélectionnez Confiance Oauth 2.0.

  4. Dans la boîte de dialogue Créer une application connectée, effectuez l’une des opérations suivantes :
    1. Dans la zone de texte URL de l’émetteur, collez l’URL du serveur EAS.

    2. Sélectionnez l’option Activer l’application connectée. Pour des raisons de sécurité, une application connectée est désactivée par défaut lors de sa création.

    3. Une fois terminé, cliquez sur le bouton Créer.

  5. Notez l’ID de l’application connectée, également appelé ID client, à utiliser à l’étape 3 ci-dessous.

Étape 3 : Étapes suivantes

d’intégration des flux de travail

Après avoir configuré votre site Tableau Cloud de manière à utiliser le serveur EAS, vous devez ajouter le code d’intégration à votre application externe. Assurez-vous d’inclure le jeton JWT valide généré par votre EAS, tel que décrit à l étape 1, dans le composant Web que votre application externe appelle.

Pour plus d’informations sur l’intégration de contenu Tableau, consultez l’un des éléments suivants ou les deux :

Remarque : pour que les utilisateurs s’authentifient avec succès lorsqu’ils accèdent au contenu intégré, leurs navigateurs doivent être configurés pour autoriser les témoins tiers.

Pour les flux de travail d’autorisations API REST

Une fois le jeton JWT configuré, vous devez ajouter le JWT valide à la demande de connexion API REST pour obtenir un accès autorisé. Pour plus d’informations, consultez la section Étendues d’accès des applications connectées.

Problèmes connus (intégration des flux de travail uniquement)

Il existe quelques problèmes connus à l’utilisation des applications connectées. Ils seront corrigés dans une future version.

  • Fonctionnalités de la barre d’outils : lorsque le paramètre de barre d’outils est défini pour le contenu intégré, les fonctionnalités de la barre d’outils ne fonctionneront pas toutes. Pour contourner ce problème, nous vous recommandons de masquer le paramètre de la barre d’outils comme dans l’exemple ci-dessous.

    <tableau-viz id='tab-viz' src='https://online.tableau.com/t/<your_site>/...'
    	toolbar='hidden'>
    </tableau-viz>

  • Sources de données publiées : les sources de données publiées définies sur Inviter l’utilisateur pour les informations d’identification de la base de données ne s’afficheront pas. Pour contourner ce problème, si possible, nous recommandons aux propriétaires de sources de données d’intégrer à la place leurs informations d’identification pour la base de données.

Résolution des problèmes

Lorsque le contenu intégré ne s’affiche pas dans votre application externe ou en cas d’échec de l’autorisation API REST de Tableau, vous pouvez utiliser les outils de développement d’un navigateur pour inspecter et identifier les codes d’erreur qui pourraient être associés à la fonctionnalité EAS activée sur votre siteTableau Cloud.

Consultez le tableau ci-dessous pour revoir la description du code d’erreur et la solution possible.

Code d’erreur Résumé Description Résolution ou explication potentielle
5 SYSTEM_USER_NOT_FOUND L’utilisateur de Tableau est introuvable Pour résoudre ce problème, vérifiez que la valeur de revendication 'sub' (sujet) dans le jeton JWT est le nom d’utilisateur (adresse de courriel) de l’utilisateur Tableau Cloud authentifié. Cette valeur est sensible à la casse.
16 LOGIN_FAILED Échec de la connexion Cette erreur est généralement causée par l’un des problèmes de réclamation suivants dans le JWT :
  • La valeur ’exp’ (délai d’expiration) dépasse la période de validité maximale par défaut. Pour résoudre ce problème, examinez les revendications enregistrées(Le lien s’ouvre dans une nouvelle fenêtre) requises pour un JWT valide et assurez-vous que la valeur correcte ne dépasse pas 10 minutes.
  • 'sub' (sujet) appelle un utilisateur inconnu. Pour résoudre ce problème, vérifiez que la valeur 'sub' est le nom d’utilisateur (adresse de courriel) de l’utilisateur Tableau Cloud authentifié.
142 EXTERNAL_AUTHORIZATION_SERVER_NOT_FOUND Serveur EAS introuvable Pour résoudre ce problème, vérifiez que l’émetteur approprié est appelé.
143 EXTERNAL_AUTHORIZATION_SERVER_LIMIT_EXCEEDED Limite de serveurs EAS dépassée Le site a atteint le nombre maximal autorisé (1) de serveurs d’autorisation externes (EAS) enregistrés.
144 INVALID_ISSUER_URL URL de l’émetteur non valide L’URL de l’émetteur n’est pas valide ou l’attribut "iss" (émetteur) est absent du jeton JWT.
10081 COULD_NOT_RETRIEVE_IDP_METADATA Point de terminaison de métadonnées EAS manquant Pour résoudre ce problème, vérifiez que l’EAS est configuré correctement et que l’émetteur approprié est appelé.
10082 AUTHORIZATION_SERVER_ISSUER_NOT_SPECIFIED Émetteur manquant Pour résoudre ce problème, vérifiez que l’émetteur approprié est appelé.
10083 BAD_JWT L’en-tête JWT contient des problèmes Cette erreur est généralement causée par l’un des problèmes suivants avec l’en-tête JWT :
  • Les revendications 'secret key' (Kid) ou 'clientId' (émetteur) sont manquantes dans l’en-tête JWT. Pour résoudre ce problème, assurez-vous que ces informations sont incluses.
  • Le JWT n’est ni signé ni chiffré. Tableau ne prend pas en charge les JWT non signés ou chiffrés.
10084 JWT_PARSE_ERROR JWT contient des problèmes

Pour résoudre ce problème, vérifiez les éléments suivants :

  • La valeur 'aud' (public) référencée dans le JWT utilise la valeur « tableau ». Cette valeur est sensible à la casse.
  • Les valeurs 'aud' (public) et 'sub' (sujet) sont incluses dans le jeton JWT.
10085 COULD_NOT_FETCH_JWT_KEYS JWT n’a pas pu trouver les clés

Impossible de trouver le secret.

Pour résoudre ce problème, vérifiez que l’émetteur approprié est appelé.

10087 BLOCKLISTED_JWS_ALGORITHM_USED_TO_SIGN Problème avec l’algorithme de signature JWT

Pour résoudre le problème, vous pouvez supprimer l’algorithme de signature.

10088 RSA_KEY_SIZE_INVALID Problème avec les exigences de signature JWT Pour résoudre ce problème, vérifiez auprès de l’EAS ou de l’IdP que le JWT est signé avec une taille de clé RSA de 2048.
10091 JTI_ALREADY_USED JWT unique requis

Le JWT a déjà été utilisé dans le processus d’authentification. Pour résoudre ce problème, l’EAS ou l’IdP doit générer un nouveau JWT.

10094 MISSING_REQUIRED_JTI ID JWT manquant Pour résoudre ce problème, vérifiez que « jti » (ID JWT) est inclus dans le JWT.
10095 EXTERNAL_AUTHZ_SERVER_DISABLED Serveur EAS désactivé L’application connectée pour le serveur EAS enregistrée sur le site est désactivée.
Merci de vos commentaires!