Configurer 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 de OpenID Connect

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

  3. Configurer Tableau Server pour OpenID Connect (vous êtes à cette étape)

  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éthode 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 informations de configuration OpenID de votre entreprise :

    Image d’une configuration OpenID Connect dans TSM

    Remarques :

    • Pour l’Étape 3 : si votre fournisseur s’appuie sur un fichier de configuration hébergé sur un ordinateur local (plutôt qu’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.

    • Pour l’Étape 4 : à compter de Tableau Server 2025.3, vous pouvez activer la déconnexion unique (SLO) et spécifier une URL vers laquelle rediriger vos utilisateurs une fois qu’ils ont été déconnectés.

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

  6. Cliquez sur Enregistrer les modifications en attente après avoir saisi vos informations 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 de l’IdP. 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 utilise 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, si Tableau est configuré pour utiliser un proxy de transfert pour se connecter à Internet, vous pouvez configurer Tableau Server de manière à utiliser les paramètres d’hôte et de port proxy pour contacter l’IdP OpenID.

La façon dont vous configurez Tableau Server varie selon la façon dont vous avez implémenté le proxy direct dans votre entreprise :

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

Configuration du proxy système Windows

Si votre entreprise 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 transfert

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, puis 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écuteztsm 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 entreprise. Les attributs utilisateur peuvent être utilisés pour déterminer l’accès dans un modèle d’autorisation de contrôle d’accès basé sur les attributs (ABAC). Les attributs utilisateur peuvent être 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, tels que l’endroit où l’utilisateur est connecté ou sa préférence linguistique.

En incluant des attributs utilisateur dans votre workflow, 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 stratégie de sécurité des données. Cette approche garantit que les utilisateurs n’ont accès qu’aux informations qu’ils sont autorisés à voir.
  • Personnalisation : en transmettant des attributs utilisateur tels que l’emplacement et le rôle, votre contenu peut être personnalisé de manière à afficher uniquement les informations pertinentes pour l’utilisateur qui y accède, lequel trouvera ainsi 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 workflow 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 workflow 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éthodes d’authentification.

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

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

  5. Une fois que vous avez terminé, procédez comme suit :

    1. Cliquez sur Enregistrer les modifications en attente.

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

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

Étape 2 : Inclure un 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 4096 caractères, à l’exception des attributs scope ou 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, qui est un responsable dans la région Sud. Vous devez vous assurer que, lorsqu’il examine les rapports, Fred ne peut voir que les données de la région Sud. Dans un tel cas, 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 : Vérifier 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 inclure l’une des fonctions d’attribut utilisateur suivantes :

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

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

Remarques :

  • l’aperçu du contenu avec ces fonctions n’est pas disponible lors de la création dans Tableau Desktop ou Tableau Cloud. La fonction retournera des valeurs NULL ou FALSE. Pour que les fonctions utilisateur fonctionnent comme prévu, nous recommandons à l’auteur de les vérifier 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 pour 1) vérifier cet attribut et 2) déterminer que faire avec le contenu, par exemple afficher un message. Tableau ajoute uniquement l’attribut ExtraAttributesRemoved et supprime tous les autres attributs (à l’exception de scp ou scope) lorsque les attributs SAML XML excèdent 4 096 caractères. Cette mesure permet d’assurer des performances optimales et de respecter les limitations de stockage.

Exemple

Si l’on poursuit l’exemple présenté à l’Étape 2 : Inclure un attribut utilisateur dans l’assertion ci-dessus, l’auteur peut inclure USERATTRIBUTEINCLUDES pour transmettre l’assertion d’attribut utilisateur « region » à un classeur, 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 Responsable et 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 région Sud est « True ». Lorsque le filtre est appliqué, le classeur devient vide comme prévu, car la fonction renvoie des valeurs « False » et le filtre est personnalisé pour afficher les valeurs « True » uniquement.

Étape 4 : Vérifier le contenu

Vérifiez le contenu et validez-le.

Exemple

Pour conclure l’exemple de l’Étape 3 : Vérifier que l’auteur du contenu inclut des fonctions d’attribut ci-dessus, vous pouvez voir que les données de vente dans 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 des données spécifiques à sa région.

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

Problèmes connus et limitations

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 !Avis correctement envoyé. Merci