Configuration des proxy pour Tableau Server

Dans la plupart des entreprises, Tableau Server doit communiquer avec Internet. Tableau Server a été conçu pour fonctionner à l'intérieur d'un réseau interne protégé. Ne configurez pas Tableau Server directement sur Internet ou dans une DMZ. Au lieu de cela, les communications entre votre réseau et Internet doivent utiliser un intermédiaire via des serveurs proxy. Les serveurs proxy de transfert arbitrent le trafic depuis l'intérieur du réseau vers des cibles sur Internet. Les serveurs proxy inverses servent d'intermédiaire au trafic entre Internet vers les cibles au sein du réseau.

Qui devrait lire cet article ?

Cet article s'adresse aux professionnels informatiques avec une expérience de la mise en réseau générale et des solutions proxy de passerelle. Cet article décrit la manière et le moment où Tableau nécessite un accès Internet, et décrit comment configurer votre réseau et Tableau pour utiliser les serveurs proxy de transfert et inversés pour un accès à Internet. Il existe plusieurs solutions de proxy tierces disponibles. Par conséquent, une partie du contenu de l'article est forcément générique.

Avant de configurer un serveur proxy, consultez Communication avec Internet.

Configurer un serveur proxy de transfert

Pour activer la communication de Tableau Server vers Internet, déployez Tableau Server derrière un serveur de proxy de transfert. Lorsque Tableau Server doit accéder à Internet, il n'envoie pas la requête directement depuis Internet. À la place, il envoie la requête vers le proxy de transfert, qui à son tour, transfère la requête. Les proxy de transfert aident les administrateurs à gérer le trafic provenant d'Internet pour les tâches telles que l'équilibrage de charge, le blocage d'accès aux sites, etc.

Si vous utilisez un proxy de transfert, vous devez configurer les ordinateurs qui exécutent Tableau Server dans le réseau pour envoyer le trafic vers le proxy de transfert. Tableau Server ne prend pas en charge l'authentification par relais activé ou par proxy manuel.

Configuration de Tableau Server sur Linux pour qu'il utilise un proxy de transfert

Nous vous recommandons de configurer Tableau Server de manière à utiliser votre solution de proxy de transfert comme partie intégrante du processus d'installation. Plus spécifiquement, configurez Tableau Server lorsque vous exécutez ./initialize-tsm comme décrit dans Installer et initialiser TSM, ou dans le cadre de l'Installation automatisée de Tableau Server.

La procédure ci-dessous décrit comment créer un fichier de configuration de proxy de transfert pour Tableau Server sur Linux.

Le fichier de configuration est stocké dans le répertoire suivant :

~<unprivileged_user>/.config/systemd/tableau_server.conf.d

Par défaut, Tableau Server crée l'utilisateur sans privilège, tableau. Le chemin par défaut du répertoire de configuration est :

~tableau/.config/systemd/tableau_server.conf.d

Le nom du fichier de configuration du proxy dans cette rubrique et dans le fichier de configuration ci-dessous est appelé 20-proxy.conf. Vous pouvez nommer ce fichier en fonction de votre propre convention, mais il doit utiliser l'extension .conf. systemd traitera les fichiers stockés dans le répertoire tableau_server.conf.d dans l'ordre lexical selon le nom de fichier.

  1. Exécutez la commande tsm stop.

  2. Démarrez une session en tant qu'utilisateur sans privilèges. Par défaut, tableau, est l'utilisateur sans privilèges créé par Tableau Server pendant l'installation. Exécutez la commande suivante :

    sudo su -l tableau

  3. Créez ou ouvrez le fichier 20-proxy.conf dans le répertoire tableau_server.conf.d. Si vous avez configuré le proxy de transfert pendant la configuration, le fichier 20-proxy.conf a déjà été créé.

    • Créez le fichier. Exécutez la commande suivante :

      touch ~tableau/.config/systemd/tableau_server.conf.d/20-proxy.conf

    • Ouvrez le fichier 20-proxy.conf dans un éditeur de texte.

  4. Copiez le contenu du fichier de configuration du proxy dans le fichier. Si vous modifiez un fichier existant, veillez à ne pas supprimer la configuration. Le Contenu du fichier de configuration du proxy inclut des instructions relatives aux configurations du proxy de transfert. Après avoir modifié et enregistré le fichier, passez à l'étape 5.

  5. Contenu du fichier de configuration du proxy
                                            
    # Always edit this file on Tableau Server as the unprivileged user. By default, tableau, is the unprivileged user created by Tableau Server during installation.
    # Set environment variables http_proxy and https_proxy to point to your proxy host.
    # For example, to set the proxy to example-host for ports 80 and 443, run the following commands:
    #
    http_proxy=http://example-host:80/
    https_proxy=http://example-host:443/
    #
    # Take care to use 'http' when you specify the URL for the https_proxy environmental variable.  
    # Do not specify the 'https' protocol for the value of  the https_proxy environmental variable.
    #                   
    # To bypass the proxy server, specify exceptions in the no_proxy variable. Use this variable if your proxy server does not route internal addresses. 
    # You must also add exceptions to this proxy configuration to guarantee that all communications within a local Tableau Server cluster (if you have one now or will have one later) do not route to the proxy server. 
    # Enter both the host name and the IP address for each computer. Additionally, include the cannonical host name (localhost) and IP address (127.0.0.1) for the local computer.
    # For example, to specify exceptions for a three-node cluster:
    #
    no_proxy="localhost,127.0.0.1,hostname1,hostname2,hostname3,IP1,IP2,IP3"
    #									
    # Where "hostname1" is the actual hostname of node 1, and "IP1" is the actual IP address of node 1, etc.
                                        
  6. Quittez l'interpréteur de commandes Tableau. Exécutez la commande suivante :

    exit

  7. Redémarrez les services d'entreprise TSM. Exécutez le script suivant :

    sudo /opt/tableau/tableau_server/packages/scripts.<version>/start-administrative-services

  8. Redémarrez TSM.

    tsm restart

Utilitaire de rapports sur les pannes serveur

Si votre entreprise utilise un serveur proxy pour se connecter à Internet, vous devez configurer l'utilitaire de rapports sur les pannes serveur de Tableau Server pour utiliser le proxy. Même si vous avez déjà configuré Tableau Server pour utiliser un proxy, vous devez également configurer l'utilitaire de rapports sur les pannes serveur séparément. Pour configurer le proxy pour l'utilitaire de rapports sur les pannes serveur, consultez Configurer l'utilitaire de rapports sur les pannes serveur.

Comment fonctionne un proxy inverse avec Tableau Server

Un proxy inverse est un serveur qui reçoit des requêtes de clients externes (Internet) et les transfère à Tableau Server. Pourquoi utiliser un proxy inverse ? La réponse de base est : pour la sécurité. Avec un proxy inverse, Tableau Server est disponible à Internet sans avoir à exposer l'adresse IP individuelle de cette instance Tableau Server spécifique sur Internet. Un proxy inverse agit également comme un périphérique d'authentification et de passage direct, pour qu'aucune donnée ne soit stockée où des personnes extérieures à l'entreprise pourraient les obtenir. Cette exigence vaut particulièrement pour les organisations qui sont soumises à diverses réglementations sur la protection de la vie privée, telles que PCI, HIPAA ou SOX.

Le schéma suivant montre le chemin de communication lorsqu'un client envoie une demande à Tableau Server qui est configuré pour fonctionner avec un serveur proxy inverse.

  1. Un client externe initie une connexion vers Tableau Server. Le client utilise l'URL publique qui a été configurée pour le serveur proxy inverse, par exemple https://tableau.example.com. (Le client ne sait pas qu'il accède à un proxy inverse.)

  2. Le proxy inverse mappe cette requête, qui à son tour la transforme en requête Tableau Server. Vous pouvez configurer le serveur proxy inverse de manière à ce qu'il authentifie le client (à l'aide de SSL/TLS) comme condition préalable à la transmission de la demande à Tableau Server.

  3. Tableau Server reçoit la demande et envoie sa réponse au proxy inverse.

  4. Le proxy inverse renvoie le contenu au client. Le client, de son côté, ne voit qu'une interaction avec Tableau Server, et ne peut pas savoir que la communication a été arbitrée par le proxy inverse.

Serveurs proxy et SSL

Pour une sécurité optimale, vous devriez configurer les serveurs proxy inverses de manière à ce qu'ils utilisent SSL pour tout trafic externe à votre réseau. Ces mesures contribuent à assurer confidentialité, intégrité du contenu et authentification. Sauf si vous avez déployé d'autres mesures de sécurité pour protéger le trafic entre votre passerelle Internet et Tableau Server, nous vous recommandons également de configurer SSL entre le proxy de passerelle et Tableau Server. Vous pouvez utiliser des certificats internes ou auto-signés pour crypter le trafic entre les instances Tableau Server et les autres ordinateurs internes.

Accès mobile

Tableau Server ajoute un en-tête X à toutes les réponses HTTP pour les sessions Tableau Mobile. Par défaut, la plupart des solutions proxy conservent les en-têtes X. Si votre solution proxy ne conserve pas les en-têtes X, vous aurez besoin de configurer votre serveur proxy de manière à conserver l'en-tête suivant pour toutes les réponses HTTP pour les sessions des clients Mobile : X-Tableau: Tableau Server.

Si vous avez configuré l'authentification au niveau de la passerelle du serveur proxy, votre serveur proxy doit répondre aux demandes HTTP Tableau Mobile avec une réponse HTTP 302. La réponse 302 doit inclure une redirection vers la page de connexion du fournisseur d'identité. Pour afficher un diagramme décrivant la séquence d'authentification 302, consultez Séquence d'authentification Tableau Mobile(Le lien s’ouvre dans une nouvelle fenêtre) dans la communauté Tableau.

Proxy inverse et authentification utilisateur

Tableau Server authentifiera toujours les utilisateurs. Ceci signifie que même si vous authentifiez les connexions entrantes au niveau de la passerelle de votre organisation, Tableau Server authentifiera toujours l'utilisateur.

Toutefois, tous les clients ne prennent pas en charge l'authentification utilisateur avec un proxy inverse :

  • Pour les navigateurs Web pris en charge, vous pouvez utiliser SAML, OpenID Connect, Kerberos, les tickets de confiance ou l'authentification manuelle avec proxy inverse. Nous recommandons toutefois un scénario transparent où les demandes de l'utilisateur ne n'exigent pas d'authentification au niveau de la passerelle. Cette recommandation n'interdit pas l'utilisation du protocole SSL pour l'authentification au niveau du système serveur/client au niveau du proxy de la passerelle. En fait, nous recommandons vivement une authentification au niveau du système SSL.

  • Tableau Mobile prend en charge SAML ou l'authentification manuelle avec proxy inverse. La version iOS de Tableau Mobile prend également en charge Kerberos ou l'authentification manuelle avec proxy inverse. La même recommandation ci-dessus s'applique.

  • Tableau Desktop ne prend pas en charge l'authentification avec proxy inverse. Pour prendre en charge l'accès distant avec Tableau Desktop, utilisez une solution VPN ou configurez votre proxy inverse de manière à router le trafic depuis Tableau Desktop directement vers Tableau Server pour l'authentification.

Si votre entreprise s'authentifie avec Active Directory :

  • Tableau Server doit être configuré pour un proxy inverse avant de configurer Tableau Server pour Kerberos. Pour plus d'informations, consultez Configurer Kerberos.

Configurer Tableau Server pour qu'il fonctionne avec un serveur proxy inverse

Avant de configurer Tableau Server, vous devez rassembler les informations suivantes relatives à la configuration du serveur proxy. Pour configurer Tableau Server, vous utilisez la commande tsm configuration set. Les informations que vous devez collecter correspondent aux options dont vous aurez besoin lors de l'exécution de tsm.

La plupart des options tsm suivantes sont également utilisées pour configurer les déploiements Tableau Server fonctionnant derrière un équilibreur de charge. Pour plus d'informations, consultez Ajouter un équilibreur de charge.

Élément Description Option tsm configuration set correspondante
Adresse IP ou CNAME

Vous pouvez saisir une adresse IP ou un CNAME pour cette option.

L'adresse ou les adresses IP publiques du serveur proxy. Cette adresse doit être au format IPv4, par exemple 203.0.113.0, et elle doit être statique.

Si vous ne pouvez pas fournir une IP statique, ou si vous utilisez des proxy cloud ou des équilibrages de charge externes, vous pouvez spécifier la valeur CNAME (Canonical Name) DNS que les clients utiliseront pour se connecter à Tableau Server. Cette valeur CNAME doit être configurée sur votre solution de proxy inverse pour communiquer avec Tableau Server.

gateway.trusted
FQDN Le nom de domaine qualifié complet que les personnes utilisent pour accéder à Tableau Server, par exemple tableau.example.com. Tableau Server ne prend pas en charge le changement de contexte pour cette option. Par exemple, l'URL suivante n'est pas prise en charge : example.com/tableau. gateway.public.host
Non-FQDN Tout nom de sous-domaine pour le serveur proxy. Dans l'exemple tableau.example.com, le nom de sous-domaine est tableau. gateway.trusted_hosts
Alias Nom(s) d'hôte alternatif(s) public(s) pour le serveur proxy. Dans la plupart des cas, les alias sont conçus à l'aide de valeurs CNAME. Il s'agirait par exemple d'un serveur proxy bigbox.example.com et des entrées CNAME ftp.example.com et www.example.com. gateway.trusted_hosts
Ports Les numéros de port pour le trafic du client vers le serveur proxy inverse.

gateway.public.port

Si vous utilisez une installation distribuée de Tableau Server, exécutez les commandes tsm suivantes sur le nœud initial de votre cluster.

  1. Entrez la commande suivante pour définir le FQDN que les clients utiliseront pour atteindre Tableau Server via le serveur proxy, où name est le FQDN :

    tsm configuration set -k gateway.public.host -v 'name'

    Par exemple, si vous accédez à Tableau Server en saisissant https://tableau.example.com dans le navigateur, entrez cette commande :

    tsm configuration set -k gateway.public.host -v 'tableau.example.com'

  2. Entrez la commande suivante pour définir l'adresse ou le CNAME du serveur proxy, où server_address correspond à l'adresse IPv4 ou à la valeur CNAME :

    tsm configuration set -k gateway.trusted -v 'server_ip_address'

    Si votre organisation utilise plusieurs serveurs de proxy, entrez plusieurs adresses IPv4, séparées par une virgule. Les plages IP ne sont pas prises en charge. Pour améliorer le démarrage et l'initialisation de Tableau Server, minimisez le nombre d'entrées pour gateway.trusted.

  3. Saisissez la commande suivante pour spécifier des noms alternatifs pour le serveur proxy, par exemple son nom de domaine qualifié complet, des noms qui ne sont pas des noms de domaine qualifiés complets et des alias. S'il y a plus d'un nom, séparez les noms par des virgules.

    tsm configuration set -k gateway.trusted_hosts -v 'name1, name2, name3'

    Par exemple :

    tsm configuration set -k gateway.trusted_hosts -v 'proxy1.example.com, proxy1, ftp.example.com, www.example.com'

  4. Si le serveur proxy utilise SSL pour communiquer avec Internet, exécutez la commande suivante, qui indique à Tableau que le serveur de proxy inverse utilise le port 443 au lieu du port 80 :

    tsm configuration set -k gateway.public.port -v 443

    Remarque : si le serveur proxy utilise SSL pour communiquer avec Tableau Server, SSL doit être configuré et activé sur Tableau Server.

  5. Entrez la commande suivante pour appliquer le changement de configuration :

    tsm pending-changes apply

    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 le serveur proxy inverse pour qu'il fonctionne avec Tableau Server

Lorsqu'un client accède à Tableau Server via un proxy inverse, spécifiez les en-têtes de message qui doivent être conservés (ou ajoutés). Plus précisément, tous les serveurs proxy dans la chaîne de message doivent être représentés dans les paramètres gateway.trusted et gateway.trusted_hosts dans le fichier.

Le graphique suivant affiche des en-têtes d'exemple pour une chaîne de message à saut unique, où le serveur proxy communique directement avec Tableau Server:

Le graphique suivant affiche des en-têtes d'exemple pour une chaîne à plusieurs sauts, où le message transite par deux serveurs proxy avant de se connecter à Tableau Server:

Le tableau suivant décrit ce que sont ces en-têtes et la manière dont ils sont associés aux paramètres de configuration sur Tableau Server:

En-têtes Description Paramètres Tableau Server associés
REMOTE_ADDR et X-FORWARDED-FOR (XFF) Tableau Server a besoin de ces en-têtes pour déterminer l'adresse IP de l'origine des requêtes. L'en-tête X-FORWARDED-FOR doit présenter la chaîne d'adresse IP vers Tableau Server pour que les connexions aient lieu. L’adresse IP que vous définissez dans gateway.trusted doit correspondre à l’adresse IP présentée dans REMOTE_ADDR. Si vous avez envoyé plusieurs adresses dans gateway.trusted, l’une d’elles doit correspondre à l'adresse IP présentée dans REMOTE_ADDR.
HOST et X-FORWARDED HOST (XFH) Ces en-têtes sont utilisés pour générer des liens absolus vers Tableau Server lorsqu'il répond au client. L'en-tête X-FORWARDED-HOST doit présenter les noms d'hôtes à Tableau Server pour que les connexions aient lieu. Les noms d'hôtes qui sont présentés dans l'en-tête X-FORWARDED-HOST doivent être inclus dans les noms d'hôtes que vous spécifiez dans gateway.trusted_hosts.
X-FORWARDED-PROTO (XFP) Cet en-tête est requis si SSL est activé pour le trafic du client vers le proxy, mais pas pour le trafic du proxy vers Tableau Server.

Les en-têtes X-FORWARDED-PROTO jouent un rôle important pour les scénarios où HTTP ou HTTPS n'est pas conservé à chaque étape de la route du message. Par exemple, si le proxy inverse requiert SSL pour les demandes extérieures, mais que le trafic entre le proxy inverse et Tableau Server n'est pas configuré pour utiliser SSL, les en-têtes X-FORWARDED-PROTO sont requis. Certaines solutions de proxy ajoutent automatiquement les en-têtes X-FORWARDED-PROTO, tandis que d'autres ne le font pas. Au bout du compte, selon votre solution de proxy, vous devrez peut-être configurer le transfert de port de manière à ce que la demande soit traduite du port 443 vers le port 80.

Article connexe de la Base de connaissances : Erreur « Unable to Sign In » et « Invalid username or password » avec SAML après la mise à niveau(Le lien s’ouvre dans une nouvelle fenêtre).

La configuration de port sur le proxy inverse (connexions entrantes du client et connexions sortantes vers Tableau Server) doit être spécifié dans les paramètres correspondants : gateway.public.port, qui est le port que les clients utilisent pour se connecter au proxy.

Si le serveur proxy utilise SSL pour communiquer avec Tableau Server, SSL doit être configuré et activé sur Tableau Server.

Valider la définition du proxy inverse

Pour valider la configuration de votre proxy inverse, publiez des classeurs et des sources de données en utilisant la création Web Tableau Server ou Tableau Desktop. Si vous vous connectez avec un navigateur Web à Tableau Server depuis Internet, vérifiez que vous utilisez un navigateur recommandé(Le lien s’ouvre dans une nouvelle fenêtre). Publiez et visualisez les classeurs utilisant des sources de données existantes ainsi que des sources de données que vous avez publiées. Utilisez les liens ci-dessous pour vous familiariser avec la connexion à Tableau Server en tant qu'utilisateur final.

Tâche Documentation
Présentation de la création Web. Utiliser Tableau sur le Web(Le lien s’ouvre dans une nouvelle fenêtre)
Connectez-vous à Tableau Server depuis Tableau Desktop ou un navigateur Web. Se connecter à Tableau Server ou Tableau Online(Le lien s’ouvre dans une nouvelle fenêtre)
Publiez un classeur sur Tableau Server. Publier un classeur(Le lien s’ouvre dans une nouvelle fenêtre)
Publiez une source de données. Publier une source de données(Le lien s’ouvre dans une nouvelle fenêtre)
Ouvrir le classeur depuis Tableau Server. Ouverture de classeurs depuis le serveur(Le lien s’ouvre dans une nouvelle fenêtre)
Déconnecter le serveur (avec Desktop). Se connecter à Tableau Server ou Tableau Online(Le lien s’ouvre dans une nouvelle fenêtre)
Téléchargez un classeur depuis un navigateur Web. Télécharger des classeurs(Le lien s’ouvre dans une nouvelle fenêtre)
S'assurer que tabcmd (d'un client non serveur) fonctionne. tabcmd

Rubriques associées

Merci de vos commentaires !