Une pratique de sécurité courante consiste à autoriser uniquement les demandes authentifiées à traverser le pare-feu interne des serveurs DMZ. La passerelle indépendante prend en charge les méthodes d'authentification traditionnelles de Tableau Server, mais elle inclut également des propriétés de configuration qui permettent d'intégrer un module chargeable Apache httpd pour une authentification personnalisée.

Par exemple, en configurant SAML sur Tableau Server et en configurant un module d'authentification personnalisé, vous pouvez exiger que tous les utilisateurs s'authentifient auprès de votre IdP sur la passerelle indépendante. Seuls les utilisateurs authentifiés pourront alors accéder à Tableau Server, qui pourra alors authentifier et autoriser l'accès des utilisateurs.

Pour une explication plus détaillée de ce schéma d'authentification, consultez Pré-authentification avec un module AuthN(Le lien s’ouvre dans une nouvelle fenêtre) dans le Guide de déploiement en entreprise.

Pour configurer le module d'authentification, vous devez effectuer les étapes suivantes :

  1. Générez les fichiers de configuration du module d’authentification. Une fois l'installation terminée, chaque module et ses directives de configuration seront traités comme des options d'inclusion, faisant des fichiers inclus une partie logique de la configuration globale httpd.
  2. Copiez les fichiers de configuration sur chaque ordinateur exécutant la passerelle indépendante. Tous les fichiers doivent être copiés aux mêmes emplacements sur chaque ordinateur de passerelle indépendante. Chaque fichier correspond à une propriété de configuration gérée par Tableau Server.
  3. Définissez les propriétés de configuration avec la commande tsm configuration set sur Tableau Server.

Ne modifiez pas le fichier de configuration httpd (httpd.conf) sur la passerelle indépendante. Cette dernière inclut en effet une logique pour mettre à jour la configuration httpd en fonction des modifications apportées avec les commandes TSM sur Tableau Server.

Exemple de configuration du module d'authentification

Pour un exemple de configuration de module d'authentification de bout en bout, consultez Exemple de configuration d'authentification : SAML avec IdP externe(Le lien s’ouvre dans une nouvelle fenêtre) dans le Guide de déploiement en entreprise. L'exemple décrit comment installer et configurer SAML avec un IdP Okta et un module d'authentification Mellon pour un déploiement Tableau Server sous Linux exécuté dans AWS. Bien que l'exemple décrive le processus pour Linux, l'exemple de configuration est également utile pour Tableau Server sous Windows.

Propriétés de configuration

Le tableau suivant décrit les différents fichiers de configuration auxquels vous pouvez vous référer. Chaque fichier correspond à une propriété de configuration définie sur Tableau Server. Utilisez des barres obliques dans le chemin, même sous Windows (convention Apache httpd). Il vous suffit de définir les propriétés nécessaires pour formuler votre configuration d'authentification personnalisée. Ignorez toutes les propriétés de configuration qui ne sont pas nécessaires.

Propriété de configurationDescription
gateway.tsig.authn_module_blockApparaît à la fin de l'ensemble des modules Apache httpd normalement chargés. L'intention est que le fichier comprenne une ou plusieurs directives LoadModule. Les modules eux-mêmes doivent être identifiés par des chemins complets.
gateway.tsig.authn_global_blockApparaît après toutes les références LoadModule et avant la plupart des autres directives Apache httpd. Le but est de fournir un emplacement pour toutes les directives de configuration nécessaires au module personnalisé.
gateway.tsig.authn_globalbottom_blockApparaît tout en bas du fichier de configuration, toujours au niveau global. L'intention est de fournir un emplacement pour toutes les directives de configuration nécessaires au module personnalisé qui doivent spécifiquement venir après diverses autres directives. (Il est peu probable que vous en ayez besoin.)
gateway.tsig.authn_location_blockApparaît à l'intérieur d'un bloc <Location "/">, couvrant tous les chemins d'URL.
gateway.tsig.authn_directory_blockApparaît à l'intérieur d'un bloc <Directory "/">, couvrant tous les chemins d'accès aux fichiers servis par la passerelle indépendante. (Il est peu probable que vous en ayez besoin. La plupart des fichiers servis par la passerelle indépendante sont des ressources statiques non sensibles, comme des images et des fichiers JavaScript.)
gateway.tsig.authn_virtualhost_block

Apparaît à l'intérieur d'un ou deux blocs <VirtualHost>  : un pour TLS (si activé) et un pour non-TLS. S'il est configuré, le même fichier est inclus dans les deux emplacements. Si vous avez besoin de distinguer les deux cas, vous pouvez utiliser la variable d'environnement Apache httpd HTTPS standard.

Bloc <Location "/tsighk">

En plus du bloc attendu <Location "/"> pour le trafic de requête normal, il y a aussi un bloc <Location "/tsighk"> utilisé pour traiter les demandes internes de maintenance (housekeeping, ou HK) de la passerelle indépendante. Ces demandes HK ont leurs propres protections d'authentification et ne fonctionneront pas avec les solutions SSO personnalisées typiques.

Vous devrez peut-être exclure explicitement votre module personnalisé de toute tentative d'authentification pour le chemin d'URL HK.

Pour déterminer si vous devez exclure votre module, configurez d'abord le module. Recherchez ensuite les requêtes HK dans le journal d'accès de la passerelle indépendante. Vous devriez voir au moins une vérification d'état une ou deux fois par minute. Si ces demandes reçoivent un code de réponse 200, tout va probablement bien. Par contre, si ces demandes reçoivent un code de réponse 3xx (redirection vers votre fournisseur d'authentification personnalisé), vous devez prendre des mesures.

Voici quelques solutions possibles :

  • Le bloc <Location "/tsighk"> contient la directive AuthType None, et cela peut suffire.
  • La passerelle indépendante httpd.conf utilise la directive standard Apache httpd ProxyPreserveHost(Le lien s’ouvre dans une nouvelle fenêtre) On. S'il existe une circonstance inhabituelle qui nécessite qu'elle soit désactivée ou une autre valeur, cette valeur peut être définie avec l'élément de configuration TSM gateway.tsig.proxypreservehost.
  • Vous aurez peut-être besoin de directives spécifiques au module pour désactiver votre module d'authentification pour <Location "/tsighk">. Vous ne pouvez pas modifier directement ce bloc dans le fichier httpd.conf. Au lieu de cela, vous pouvez créer un autre bloc <Location "/tsighk"> dans votre fichier gateway.tsig.authn_global_block et laisser Apache httpd les fusionner logiquement. Par exemple, certaines versions de mod_auth_mellon, un module d'authentification open source populaire, nécessitent MellonEnable Off pour les sections où cela ne s'applique pas, même si AuthType None est défini dans ces sections.
  • Lors de la création d'une section supplémentaire <Location "/tsighk">, comme décrit dans le point précédent, vous pouvez constater que l'ordre d'apparition des différentes sections dans le fichier httpd.conf fait une différence dans la manière dont elles s'affectent les unes les autres. La section standard <Location "/tsighk"> apparaît avant la section standard <Location "/">. Si votre expérimentation montre qu'un ordre différent est nécessaire, vous devrez peut-être définir une autre section <Location "/"> dans votre bloc gateway.tsig.authn_global_block en plus d'une autre section <Location "/tsighk">. Dans ce cas, vous n'aurez peut-être besoin de rien dans un bloc gateway.tsig.authn_location_block.

Résoudre les problèmes de configuration du module d'authentification personnalisée

Un moyen pratique de comprendre comment la passerelle indépendante composera le fichier httpd.conf consiste à définir les éléments de configuration TSM avec des valeurs pointant vers des fichiers vides sur vos ordinateurs de passerelle indépendante. (Les fichiers doivent exister, mais ils peuvent être vides.) Vous pouvez ensuite consulter le fichier httpd.conf de la passerelle indépendante pour comprendre concrètement où les directives Include pour les différents fichiers de configuration apparaîtront réellement.

Des problèmes de configuration dans la passerelle indépendante httpd.conf peuvent entraîner l’échec de démarrage du service tsig-httpd. D'autres problèmes de configuration peuvent interférer avec la réception des mises à jour de configuration du service compagnon de la passerelle indépendante sur le cluster Tableau Server. Une possibilité de récupération, après avoir corrigé la cause du problème, consiste à copier TSIG_DATA/config/httpd.conf.stub sur TSIG_DATA/config/httpd.conf, puis à redémarrer le service tsig-httpd.

Pour des conseils de dépannage plus détaillés, consultez Résolution des problèmes de la passerelle indépendante Tableau Server(Le lien s’ouvre dans une nouvelle fenêtre) dans le Guide de déploiement en entreprise (EDG). Le guide EDG fournit un exemple de déploiement de Tableau Server sous Linux. Les étapes de dépannage sont utiles pour les versions Windows ou Linux de Tableau Server.

Merci de vos commentaires !