Configuration des serveurs proxy et des équilibreurs de charge 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 et les équilibreurs de charge servent d’intermédiaire au trafic entre Internet et les cibles au sein du réseau.
Qui devrait lire cet article ?
Cet article s’adresse aux professionnels informatiques familiers avec la mise en réseau générale, l’équilibrage de charge et les solutions proxy de passerelle. Cet article rappelle dans quelles conditions et dans quels cas Tableau a besoin d’un accès Internet et décrit comment configurer votre réseau et Tableau de manière à utiliser les serveurs proxy et les équilibreurs de charge pour l’accès à Internet. Étant donné que plusieurs solutions de fournisseurs tiers sont disponibles, une partie du contenu de l’article est nécessairement 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.
Si vous exécutez l’authentification OpenID avec une solution de proxy de transfert, des configurations supplémentaires sont requises. Consultez Configurer Tableau Server pour OpenID Connect.
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.
Exécutez la commande
tsm stop
.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
Créez ou ouvrez le fichier
20-proxy.conf
dans le répertoiretableau_server.conf.d
. Si vous avez configuré le proxy de transfert pendant la configuration, le fichier20-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.
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.
Quittez l’interpréteur de commandes Tableau. Exécutez la commande suivante :
exit
Redémarrez les services d’entreprise TSM. Exécutez les commandes de script suivantes :
sudo /opt/tableau/tableau_server/packages/scripts.<version>/stop-administrative-services
sudo /opt/tableau/tableau_server/packages/scripts.<version>/start-administrative-services
Redémarrez TSM.
tsm restart
# 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.
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.
Fonctionnement d’un proxy inverse et d’un équilibreur de charge avec Tableau Server
Les serveurs proxy inverses et les équilibreurs de charge sont des serveurs qui reçoivent des demandes de clients externes (Internet) et les transfèrent à Tableau Server. Avec ces solutions, Tableau Server a accès à Internet sans avoir à exposer l’adresse IP individuelle d’une instance Tableau Server spécifique sur Internet. Ils font également office de dispositifs d’authentification et de transfert afin qu’aucune donnée ne soit stockée dans un emplacement accessible à des personnes extérieures à l’entreprise. 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 où un client envoie une demande à Tableau Server qui est configuré pour fonctionner avec un proxy inverse et/ou un équilibreur de charge (LB).
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/LB, par exemple
https://tableau.example.com
. (Le client ne sait pas qu’il accède à un proxy inverse/LB.)Le proxy inverse mappe cette requête, qui à son tour la transforme en requête Tableau Server. Dans certains cas, 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.
Tableau Server reçoit la demande et envoie sa réponse au proxy inverse/LB.
Le proxy inverse/LB 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(s) serveur(s) intermédiaire(s).
TLS/SSL
Selon le modèle d’utilisation de votre passerelle, vous devez envisager de configurer vos serveurs proxy inverses et équilibreurs de charge de manière à ce qu’ils utilisent TLS/ 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 devrez configurer votre serveur proxy et équilibreur de charge de manière à conserver l’en-tête suivant pour toutes les réponses HTTP dans le cadre des sessions des clients mobiles : X-Tableau: Tableau Server
.
Si vous avez configuré l’authentification au niveau de la passerelle, votre serveur proxy/LB doit répondre aux demandes HTTP de 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 , équilibreur de charge 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 une solution de passerelle :
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/ LB.
Tableau Mobile prend en charge SAML ou l’authentification manuelle avec proxy inverse/LB. La version iOS de Tableau Mobile prend également en charge Kerberos avec proxy inverse/LB. La même recommandation ci-dessus s’applique.
Tableau Prep ne prend pas en charge l’authentification avec proxy inverse/équilibreur de charge. Pour l’accès distant, utilisez une solution VPN ou configurez vos services de passerelle de manière à router le trafic depuis Tableau Prep directement vers Tableau Server pour l’authentification.
Tableau Desktop prend en charge l’authentification avec un proxy inverse à condition qu’un module d’authentification effectue une pré-authentification sur le proxy inverse avant que le trafic ne soit acheminé vers Tableau Server pour l’authentification finale. Pour plus d’informations, consultez Partie 5 - Configuration du niveau Web(Le lien s’ouvre dans une nouvelle fenêtre) du Guide de déploiement de Tableau Server Enterprise et Configurer le module d’authentification avec une passerelle indépendante.
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 et/ou un équilibreur de charge
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. Adresse(s) IP publique(s) du serveur proxy et de l’équilibreur de charge Cette adresse doit être au format IPv4, par exemple 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 | Noms de sous-domaine des serveurs proxy ou LB. Dans l’exemple tableau.example.com , le nom de sous-domaine est tableau . | gateway.trusted_hosts |
Alias | Noms d’hôte alternatifs publics pour les serveurs proxy ou LB. 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. |
|
Si vous utilisez une installation distribuée de Tableau Server, exécutez les commandes tsm
suivantes sur le nœud initial de votre cluster.
À l’aide de la commande suivante, définissez le FQDN que les clients utiliseront pour atteindre Tableau Server via les serveurs proxy et/ou LB où
name
correspond au 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'
À l’aide de la commande suivante, définissez l’adresse ou le CNAME des serveurs proxy et/ou LB, 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 proxy et/ou LB, entrez plusieurs adresses IPv4 en les séparant 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
.Saisissez la commande suivante pour spécifier des noms alternatifs pour les serveurs proxy/LB, par exemple leur 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'
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.
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 ou l’équilibrage de charge de manière à ce qu’il fonctionne avec Tableau Server
Lorsqu’un client accède à Tableau Server via un proxy inverse ou un équilibreur de charge, spécifiez les en-têtes de message spécifiques à conserver (ou à ajouter). Plus précisément, tous les serveurs dans la chaîne de messages doivent être représentés dans les paramètres gateway.trusted
et gateway.trusted_hosts
.
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 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 : Si le serveur proxy utilise SSL pour communiquer avec Tableau Server, SSL doit être configuré et activé sur Tableau Server. |
Valider la configuration du proxy inverse et de l’équilibreur de charge
Pour valider la configuration de passerelle sur Tableau Server, 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 |