Configuration de Tableau Server pour OpenID Connect

Cette rubrique explique comment configurer Tableau Server de manière à ce qu’il utilise OpenID Connect (OIDC) pour l’authentification unique (SSO). Il s’agit d’une étape dans un processus à plusieurs étapes. Les rubriques suivantes expliquent comment configurer et utiliser OIDC avec Tableau Server.

  1. Aperçu OpenID Connect

  2. Configurer le fournisseur d’identité pour OpenID Connect

  3. Configuration de Tableau Server pour OpenID Connect (vous êtes ici)

  4. Connexion à Tableau Server avec OpenID Connect

Remarques :

  1. Ouvrez TSM dans un navigateur :

    https://<tsm-computer-name>:8850. Pour plus d’informations, consultez Se connecter à l’interface utilisateur Web Tableau Services Manager.

  2. Dans l’onglet CONFIGURATION, sélectionnez Identité de l’utilisateur et accès > Méthodes d’authentification.

  3. Dans Méthode d’authentification, sélectionnez OpenID Connect dans le menu déroulant.

  4. Sous OpenID Connect, sélectionnez Activer l’authentification OpenID pour le serveur.

  5. Entrez les données de configuration OpenID de votre entreprise :

    Image d’une configuration OpenID Connect dans TSM

    Remarques :

    • À l’étape 3, si votre fournisseur s’appuie sur un fichier de configuration hébergé sur un ordinateur local (plutôt que sur un fichier hébergé sur une URL publique), vous pouvez spécifier le fichier avec tsm authentication openid <commandes>. Utilisez l’option --metadata-file <file_path> pour spécifier un fichier de configuration d’IdP local.

    • À l’étape 4 : à partir de la version 2025.3 de Tableau Server, vous pouvez activer la déconnexion unique (SLO) et spécifier une URL vers laquelle rediriger vos utilisateurs après la déconnexion.

    • À l’étape 5 : à compter de la veersion 2026.2 de Tableau Server, vous pouvez activer les attributs utilisateur et leurs fonctions dans le cadre du flux de travail d’authentification OIDC. Pour plus d’informations, consultez Attributs utilisateur dans les revendications OIDC.

  6. Cliquez sur Enregistrer les modifications en attente après avoir entré vos données de configuration.

  7. Cliquez sur Modifications en attente en haut de la page :

    Barre d’outils de Tableau Server Manager indiquant que des modifications sont en attente.

  8. Cliquez sur Appliquer les modifications et redémarrer.

La procédure de cette section décrit comment utiliser l’interface en ligne de commande TSM pour configurer OpenID Connect. Vous pouvez également utiliser un fichier de configuration pour la configuration initiale d’OpenID Connect. Consultez Entité openIDSettings.

  1. Utilisez la commande configure de tsm authentication openid <commandes> pour définir les options requises suivantes :

    • --client-id <id> : Spécifie l’ID du client du fournisseur que votre IdP a attribué à votre application, Par exemple, “xxxkjwdlnaoiloadjkwha".

    • --client-secret <secret> : Spécifie le secret du client du fournisseur. Il s’agit d’un jeton utilisé par Tableau pour vérifier l’authenticité de la réponse du fournisseur d’identités. Cette valeur est un secret et doit être protégée. Par exemple, “xxxhfkjaw72123=".

    • --config-url <url> ou --metadata-file <file_path> : Spécifie l’emplacement du fichier de configuration json du fournisseur. Si le fournisseur héberge un fichier de découverte JSON public, utilisez --config-url. Sinon, spécifiez un chemin sur l’ordinateur local et un nom de fichier pour --metadata-file.

    • --return-url <url> : l’URL de votre serveur. Il s’agit généralement du nom public de votre serveur, par exemple "http://example.tableau.com".

    Par exemple, exécutez la commande :

    tsm authentication openid configure --client-id “xxxkjwdlnaoiloadjkwha" --client-secret “xxxhfkjaw72123=" --config-url "https://example.com/openid-configuration" --return-url "http://tableau.example.com"

    Remarque : 

  2. Entrez la commande suivante pour activer Open ID Connect :

    tsm authentication openid enable

  3. Exécutez tsm pending-changes apply pour appliquer les modifications.

    Si les modifications en attente nécessitent un redémarrage du serveur, la commande pending-changes apply affichera une invite pour vous informer qu’un redémarrage va avoir lieu. Cette invite s’affiche même si le serveur est arrêté, mais dans ce cas, il n’y a pas de redémarrage. Vous pouvez supprimer l’invite à l’aide de l’option --ignore-prompt, mais cela ne modifiera pas le comportement de redémarrage. Si les modifications ne nécessitent pas de redémarrage, les modifications sont appliquées sans invite. Pour plus d’informations, consultez tsm pending-changes apply.

Configurer OpenID pour qu’il fonctionne avec un proxy de transfert

Par défaut, Tableau Server ignore les paramètres de proxy et envoie toutes les demandes OpenID directement à l’IdP.

À partir de Tableau Server 2021.2.2 et versions ultérieures, si Tableau est configuré pour utiliser un proxy de transfert pour se connecter à Internet, vous pouvez configurer Tableau Server pour utiliser les paramètres d’hôte et de port proxy pour contacter l’IdP OpenID.

La façon dont vous configurez Tableau Server est différente selon la manière dont vous avez implémenté le proxy de transfert dans votre organisation :

  • Le proxy de transfert est configuré sur l’ordinateur Windows sur lequel Tableau Server est exécuté.
  • Tableau Server envoie tout le trafic sortant directement à un serveur proxy de transfert exécuté dans votre organisation.

Configuration du proxy système Windows

Si votre organisation a configuré un proxy de transfert sur chaque ordinateur Windows, utilisez cette méthode pour utiliser la configuration de proxy système pour OpenID sur Tableau Server. Exécutez les commandes suivantes :

tsm configuration set -k tomcat.useSystemProxies -v true
tsm pending-changes apply

Serveur proxy de tranfert

Utilisez la commande, tsm configuration set, pour effectuer les modifications.

  • Pour les hôtes proxy HTTPS, utilisez les paires clé-valeur suivantes :

    -k tomcat.https.proxyHost -v host.domain

    -k tomcat.https.proxyPort -v port_number

    Par exemple, si votre serveur proxy est à https://proxy.example.lan:8443, exécutez les commandes suivantes :

    tsm configuration set -k tomcat.https.proxyHost -v proxy.example.lan
    tsm configuration set -k tomcat.https.proxyPort -v 8443
    tsm pending-changes apply
  • Pour les hôtes proxy HTTP, utilisez les paires clé-valeur suivantes :

    -k tomcat.http.proxyHost -v host.domain

    -k tomcat.http.proxyPort -v port_number

    Après avoir défini ces clés, exécutez tsm pending-changes apply.

Personnaliser et contrôler l’accès aux données à l’aide d’attributs utilisateur

Les attributs utilisateur sont des métadonnées utilisateur définies par votre organisation. Les attributs utilisateur peuvent être utilisés pour déterminer l’accès selon un modèle d’autorisation de contrôle d’accès basé sur les attributs (Attribute-based access control, ABAC). Les attributs utilisateur peuvent concerner n’importe quel aspect du profil utilisateur, y compris les rôles professionnels, l’appartenance au service, le niveau de gestion, etc. Ils peuvent également être associés à des contextes utilisateur d’exécution, comme l’endroit d’où l’utilisateur est connecté ou sa préférence linguistique.

En incluant des attributs utilisateur dans votre flux de travail, vous pouvez contrôler et personnaliser l’expérience utilisateur grâce à l’accès aux données et à la personnalisation.

  • Accès aux données : les attributs utilisateur peuvent être utilisés pour appliquer des politiques de sécurité des données. Cette approche garantit que les utilisateurs ne voient que les informations qu’ils sont autorisés à voir.
  • Personnalisation : en transmettant des attributs utilisateur comme l’emplacement et le rôle, votre contenu peut être personnalisé pour n’afficher que les informations pertinentes pour l’utilisateur qui y accède, ce qui lui permet de trouver plus facilement les informations dont il a besoin.

Résumé des étapes de transmission des attributs utilisateur

Le processus d’activation des attributs utilisateur dans un flux de travail est résumé dans les étapes suivantes :

  1. Activer le paramètre des attributs utilisateur
  2. Inclure des attributs utilisateur dans l’assertion
  3. Vérifier que l’auteur du contenu inclut les fonctions d’attribut utilisateur et les filtres pertinents
  4. Vérifier le contenu

Étape 1 : Activer le paramètre des attributs utilisateur

Pour des raisons de sécurité, les attributs utilisateur ne sont validés dans un flux de travail d’authentification que lorsque le paramètre d’attribut utilisateur est activé par un administrateur de serveur.

  1. Ouvrez TSM dans un navigateur :

    https://<tsm-computer-name>:8850. Pour plus d’informations, consultez Se connecter à l’interface utilisateur Web Tableau Services Manager.

  2. Dans l’onglet CONFIGURATION, sélectionnez Identité de l’utilisateur et accès > Méthode d’authentification.

  3. Sous Méthode d’authentification, sélectionnez SAML dans le menu déroulant.

  4. Sous Étape 8, cochez la case Activer la capture des attributs utilisateur pendant l’authentification SAML.

  5. Lorsque vous avez terminé, procédez comme suit :

    1. Cliquez sur Enregistrer les modifications en attente.

    2. Cliquez sur le bouton Modifications en attente en haut de la page.

    3. Cliquez sur Appliquer les modifications et redémarrer.

Étape 2 : Inclure l’attribut utilisateur dans l’assertion

Assurez-vous que l’assertion contient les attributs utilisateur.

Remarque : Les attributs de la réponse SAML sont soumis à une limite de 4 096 caractères, à l’exception des attributs scope et scp. Si les attributs de la réponse, y compris les attributs utilisateur, dépassent cette limite, Tableau supprime les attributs et transmet l’attribut ExtraAttributesRemoved à la place. L’auteur du contenu peut ensuite créer un calcul avec l’attribut ExtraAttributesRemoved pour déterminer comment afficher le contenu aux yeux des utilisateurs lorsque l’attribut a été détecté.

Exemple

Supposons que vous ayez un employé, Fred Suzuki, un gestionnaire situé dans la région Sud. Vous devez vous assurer que lorsque Fred examine les rapports, il ne puisse voir que les données de la région Sud. Dans un tel scénario, vous pouvez inclure l’attribut utilisateur Region dans la réponse SAML comme dans l’exemple ci-dessous.

<saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
	<saml;Issuer">https://myidp.okta.com/saml</saml:Issuer">
   <saml;Subject">
	  <saml:NameId Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"fsuzuki@example.com</saml:NameID">
   <saml:AttributeStatement xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
  		<saml:Attribute Name="Region" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
  			<saml:AttributeValue">South</saml:AttributeValue">
    	</saml:Attribute">
   </saml:AttributeStatement">
</saml:Assertion">

Étape 3 : S’assurer que l’auteur du contenu inclut des fonctions d’attribut

Assurez-vous que l’auteur du contenu inclut les fonctions d’attribut utilisateur et les filtres associés pour contrôler les données pouvant s’afficher dans son contenu. Pour que les assertions d’attributs utilisateur soient transmises à Tableau, le contenu doit contenir l’une des fonctions d’attribut utilisateur suivantes :

  • USERATTRIBUTE('attribute_name')
  • USERATTRIBUTEINCLUDES('attribute_name', 'expected_value')

La fonction utilisée par l’auteur de contenu varie selon que les attributs utilisateur soient censés renvoyer une ou plusieurs valeurs. Pour plus d’informations sur ces fonctions et des exemples de chacune d’elles, consultez Fonctions utilisateur(Le lien s’ouvre dans une nouvelle fenêtre) dans l’aide de Tableau.

Remarques :

  • Il est impossible de prévisualiser le contenu de ces fonctions lors de la création dans Tableau Desktop ou Tableau Cloud. La fonction renverra les valeurs NULL ou FALSE. Pour vous assurer que les fonctions utilisateur fonctionnent comme prévu, nous recommandons à l’auteur de vérifier les fonctions après avoir mis le contenu à disposition.
  • Pour s’assurer que le contenu s’affiche comme prévu, l’auteur de contenu peut envisager d’inclure un calcul utilisant l’attribut ExtraAttributesRemoved qui 1) vérifie cet attribut et 2) détermine quoi faire avec le contenu si c’est le cas, par exemple afficher un message. Tableau ajoute l’attribut ExtraAttributesRemoved et supprime tous les autres attributs (à l’exception scp de ou scope) uniquement lorsque les attributs dans le fichier XML SAML dépassent 4 096 caractères. Cela permet d’assurer des performances optimales et de respecter les limitations de stockage.

Exemple

Si l’on reprend l’exemple présenté à l’Étape 2 : Inclure l’attribut utilisateur dans l’assertion ci-dessus, pour transmettre l’assertion d’attribut utilisateur « Région » à un classeur, l’auteur peut inclure USERATTRIBUTEINCLUDES. Par exemple USERATTRIBUTEINCLUDES('Region', [Region]), où « Region » est l’attribut utilisateur et [Region] est une colonne dans les données. À l’aide du nouveau calcul, l’auteur peut créer une table contenant les données des gestionnaires et des ventes. Lorsque le calcul est ajouté, le classeur renvoie des valeurs « False », comme prévu.

Pour afficher uniquement les données associées à la région Sud dans le classeur intégré, l’auteur peut créer un filtre et le personnaliser de manière à afficher les valeurs lorsque la zone géographique Sud est « True ». Lorsque le filtre est appliqué, le classeur se vide comme prévu, car la fonction renvoie des valeurs « False » et le filtre est personnalisé pour afficher uniquement les valeurs « True ».

Étape 4 : Vérifier le contenu

Vérifiez et validez le contenu.

Exemple

Pour conclure l’exemple de Étape 3 : S’assurer que l’auteur du contenu inclut des fonctions d’attribut ci-dessus, vous pouvez voir que les données de vente de la vue sont personnalisées pour Fred Suzuki parce que son contexte utilisateur est la région Sud.

Les responsables des régions représentées dans le classeur devraient voir la valeur associée à leur région. Par exemple, Sawdie Pawthorne de la région Ouest voit les données spécifiques à sa région.

Les gestionnaires dont les régions ne sont pas représentées dans le classeur voient un classeur vide.

Problèmes connus et restrictions

Il existe quelques problèmes connus et restrictions dont vous devez tenir compte lorsque vous utilisez des fonctions d’attribut utilisateur.

Merci de vos commentaires!Votre commentaire s été envoyé avec succès. Merci!