Configuración de servidores proxy para Tableau Server

En la mayoría de las empresas, Tableau Server necesita comunicarse con Internet. Tableau Server está diseñado para funcionar dentro de una red interna protegida. No configure Tableau Server directamente en Internet o en una zona desmilitarizada. Las comunicaciones entre la red e Internet deben realizarse a través de servidores proxy. Los servidores proxy de reenvío hacen de mediadores para el tráfico que va de la red a objetivos de Internet. Los servidores proxy inversos redirigen el tráfico desde Internet hasta destinos dentro de la red.

¿A quién va dirigido este artículo?

Este artículo va dirigido a profesionales de TI que tengan experiencia general con redes y soluciones de proxy de puerta de enlace. En este artículo se describe cómo y cuándo necesita Tableau acceso a Internet, y también se describe cómo configurar la red y Tableau para usar servidores proxy inversos y de reenvío para acceder a y desde Internet. Hay disponible un gran número de soluciones de proxy de terceros, por lo que parte del contenido del artículo es genérico por necesidad.

Antes de configurar un servidor proxy, consulte Comunicando con Internet.

Configurar un servidor proxy de reenvío

Para permitir la comunicación entre Tableau Server e Internet, implemente Tableau Server detrás de un servidor proxy de reenvío. Si Tableau Server necesita acceso a Internet, no envía la solicitud directamente a Internet. En su lugar, envía la solicitud al proxy de reenvío que, a su vez, reenvía la solicitud. Los servidores proxy de reenvío ayudan a los administradores a administrar el tráfico dirigido a Internet para tareas como equilibrar la carga, bloquear el acceso a sitios, etc.

Si usa un proxy de reenvío, debe configurar los equipos donde se ejecute Tableau Server dentro de la red para enviar tráfico al proxy te reenvío. Tableau Server no es compatible con la autenticación de paso o de proxy manual.

Configurar Tableau Server en Linux para que funcione con un proxy de reenvío

Se recomienda configurar Tableau Server para utilizar la solución de proxy de reenvío como parte del proceso de instalación. En concreto, configure Tableau Server al ejecutar ./initialize-tsm, como se describe en Instalar e inicializar TSM, o bien como parte de la Instalación automatizada de Tableau Server.

El siguiente procedimiento describe cómo crear un archivo de configuración de proxy de reenvío para Tableau Server en Linux.

Este archivo de configuración se almacena en el siguiente directorio:

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

De forma predeterminada, Tableau Server crea el usuario sin privilegios, tableau. Por lo tanto, la ruta de acceso predeterminada al directorio de configuración es:

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

El nombre del archivo de configuración de proxy en este tema y en el archivo de configuración a continuación se denomina 20-proxy.conf. Puede asignar un nombre a este archivo según su propia convención, pero debe usar la extensión .conf. systemd procesará los archivos almacenados en el directorio tableau_server.conf.d en orden alfabético según el nombre de archivo.

  1. Ejecute el comando tsm stop.

  2. Inicie una sesión como el usuario sin privilegios. De forma predeterminada, tableau es el usuario sin privilegios que crea Tableau Server durante la instalación. Ejecute el comando siguiente:

    sudo su -l tableau

  3. Cree o abra el archivo 20-proxy.conf en el directorio tableau_server.conf.d. Si configuró el proxy de reenvío durante la instalación, el archivo 20-proxy.conf ya se habrá creado.

    • Cree el archivo. Ejecute el comando siguiente:

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

    • Abra el archivo 20-proxy.conf en un editor de texto.

  4. Copie el contenido del archivo de configuración de proxy en el archivo. Si está editando un archivo existente, tenga cuidado de no eliminar la configuración. El contenido del archivo de configuración de proxy incluye instrucciones sobre cómo establecer configuraciones de proxy de reenvío. Después de editar y guardar el archivo, vaya al paso 5.

  5. Contenido del archivo de configuración de 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. Salga del shell de Tableau. Ejecute el comando siguiente:

    exit

  7. Reinicie los servicios de empresa de TSM. Ejecute el script siguiente:

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

  8. Reinicie TSM.

    tsm restart

Informador de bloqueo de servidor

Si su organización utiliza un servidor proxy para conectarse a Internet, debe configurar el informador de bloqueo de Tableau Server para que use el proxy. Aunque ya haya configurado Tableau Server para que utilice un proxy, también debe configurar el creador de informes de bloqueo del servidor por separado. Para configurar el proxy para el informador de bloqueo del servidor, consulte Configurar el informador de bloqueo de servidor.

Funcionamiento de un proxy inverso con Tableau Server

Un proxy inverso es un servidor que recibe solicitudes de clientes externos (de Internet) y las reenvía a Tableau Server. ¿Por qué motivo debería usar un proxy inverso? La respuesta básica es "por seguridad". Un proxy inverso permite que Tableau Server esté disponible en Internet sin tener que exponer la dirección IP individual de esa instancia concreta de Tableau Server a Internet. Un proxy inverso también actúa como un dispositivo de autenticación y transferencia, con el fin de que no se almacenen datos en ubicaciones a las que puedan tener acceso usuarios externos a la empresa. Este requisito puede ser importante para las organizaciones que estén sujetas a diversas normativas de privacidad, como PCI, HIPAA o SOX.

En el diagrama siguiente se ilustra el trayecto de comunicación cuando un cliente hace una solicitud a Tableau Server, que está configurado para funcionar con un servidor proxy inverso.

  1. Un cliente externo inicia una conexión a Tableau Server. El cliente usa la URL pública que se ha configurado para el servidor proxy inverso, por ejemplo https://tableau.example.com. (El cliente no sabe que usa un proxy inverso).

  2. A su vez, el proxy inverso asigna la solicitud a una solicitud para Tableau Server. El proxy inverso se puede configurar para que autentique al cliente (mediante SSL/TLS) como una condición previa para transmitir la solicitud a Tableau Server.

  3. Tableau Server recibe la solicitud y envía la respuesta al proxy inverso.

  4. El proxy inverso devuelve el contenido al cliente. En lo que concierne al cliente, acaba de interactuar con Tableau Server y no tiene forma de saber que el proxy inverso ha mediado en la comunicación.

Servidores proxy y SSL

Para mayor seguridad, debe configurar los servidores proxy inversos para que usen SSL al gestionar el tráfico externo a la red. Esto le ayuda a garantizar la privacidad, la integridad del contenido y la autenticación. A menos que haya implementado otras medidas de seguridad para proteger el tráfico entre su puerta de enlace de Internet y Tableau Server, también le recomendamos que configure SSL entre el proxy de puerta de enlace y Tableau Server. Puede usar certificados autofirmados o internos para cifrar el tráfico entre las instancias de Tableau Server y otros equipos internos.

Acceso móvil

Tableau Server, Tableau Server añade un encabezado X a todas las respuestas HTTP para las sesiones de Tableau Mobile. De forma predeterminada, las mayoría de soluciones proxy conservarán los encabezados X. Si su solución proxy no conserva los encabezados X, entonces deberá configurar su servidor proxy para que conserve el siguiente encabezado en todas las respuestas HTTP para las sesiones cliente de Mobile: X-Tableau: Tableau Server.

Si ha configurado la autenticación en la puerta de enlace del servidor proxy, entonces su servidor proxy debe responder a las solicitudes HTTP de Tableau Mobile con una respuesta HTTP 302. El 302 debe incluir una redirección hacia la página de inicio de sesión del proveedor de identidad. Para ver un diagrama que describe la secuencia de autenticación 302, consulte Tableau Mobile Authentication Sequence (Secuencia de autenticación de Tableau Mobile)(El enlace se abre en una ventana nueva) en la comunidad de Tableau.

Proxy inverso y autenticación de usuario

Tableau Server siempre autenticará a los usuarios. Esto quiere decir que, aunque autentique las conexiones de entrada en la puerta de enlace de la organización, Tableau Server seguirá autenticando al usuario.

No obstante, no todos los clientes admitirán la autenticación de usuario con un proxy inverso:

  • En los navegadores web compatibles, puede usar SAML, OpenID Connect, Kerberos, vales de confianza o la autenticación manual con un proxy inverso. Sin embargo, recomendamos usar una situación transparente donde no se pida autenticación para las solicitudes de usuario en la puerta de enlace. Esta recomendación no prohíbe el uso de SSL para la autenticación en el nivel de sistema de cliente/servidor en el proxy de puerta de enlace (de hecho, es muy recomendable usar la autenticación SSL de nivel de sistema).

  • Tableau Mobile admite SAML o autenticación manual con un proxy inverso. La versión para iOS de Tableau Mobile además admite Kerberos con un proxy inverso. Se aplica en este caso la misma recomendación indicada anteriormente.

  • Tableau Desktop no admite la autenticación con un proxy inverso. Para admitir el acceso remoto con Tableau Desktop, debe usar una solución VPN o configurar el proxy inverso para que redirija el tráfico de Tableau Desktop directamente a Tableau Server para efectuar la autenticación.

Si su organización realiza la autenticación con Active Directory:

  • Tableau Server debe estar configurado para el proxy inverso antes de configurar Tableau Server para Kerberos. Para obtener más información, consulte Configurar Kerberos.

Configurar Tableau Server para que funcione con un servidor proxy inverso

Antes de configurar Tableau Server, debe recopilar la información siguiente sobre la configuración del servidor proxy. Para configurar Tableau Server, utilice el comando tsm configuration set. La información que debe recopilar se corresponde con las opciones que necesitará al ejecutar tsm.

La mayoría de las siguientes opciones de tsm se usan también para configurar las implementaciones de Tableau Server que funcionan detrás de un equilibrador de carga. Para obtener más información, consulte Añadir un equilibrador de carga.

Elemento Descripción Opción tsm configuration set correspondiente
Dirección IP o CNAME

Puede especificar una dirección IP o un valor CNAME para esta opción.

Las direcciones IP públicas del servidor proxy. La dirección IP debe tener el formato IPv4 (por ejemplo, 203.0.113.0) y debe ser una dirección IP estática.

Si no puede proporcionar una IP estática, o si está utilizando proxy en la nube o compensadores de carga externos, puede especificar el valor de DNS de CNAME (nombre canónico) que los clientes usarán para conectarse a Tableau Server. Este valor CNAME se debe configurar en la solución de proxy inverso para comunicarse con Tableau Server.

gateway.trusted
FQDN El nombre de dominio completamente calificado que los usuarios emplean para contactar con Tableau Server, por ejemplo tableau.example.com. Tableau Server no admite el cambio de contexto en esta opción. Por ejemplo, no se admite la URL siguiente: example.com/tableau. gateway.public.host
No FQDN Cualquier nombre de subdominio para el servidor proxy. En el ejemplo de tableau.example.com, el nombre del subdominio es tableau. gateway.trusted_hosts
Alias Cualquier nombre alternativo público para el servidor proxy. En la mayoría de los casos, los alias se designan con valores de CNAME. Un ejemplo es un servidor proxy bigbox.example.com y entradas CNAME de ftp.example.com y www.example.com. gateway.trusted_hosts
Puertos Los números de puerto para el tráfico desde el cliente hacia el servidor proxy inverso.

gateway.public.port

Si utiliza una instalación distribuida de Tableau Server, ejecute los siguientes comandos tsm en el nodo inicial del clúster.

  1. Escriba el comando siguiente para configurar el valor FQDN que usarán los clientes para conectarse a Tableau Server a través del servidor proxy, donde name es el valor FQDN:

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

    Por ejemplo, si accede a Tableau Server escribiendo https://tableau.example.com en el navegador, escriba este comando:

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

  2. Escriba el comando siguiente para configurar la dirección o el valor de CNAME del servidor proxy, donde server_address es la dirección IPv4 o el valor de CNAME:

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

    Si la organización usa varios servidores proxy, escriba varias direcciones IPv4 y sepárelas con comas. No se admite el uso de intervalos de IP. Para mejorar el inicio y la inicialización de Tableau Server, reduzca el número de entradas de gateway.trusted.

  3. Escriba el siguiente comando para especificar nombres alternativos para el servidor proxy, como su nombre de dominio completamente calificado, cualquier nombre de dominio que no esté completamente calificado y los alias. Si hay más de un nombre, sepárelos con una coma.

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

    Por ejemplo:

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

  4. Si el servidor proxy usa SSL para comunicarse con Internet, ejecute el comando siguiente, que le indica a Tableau que el servidor proxy inverso usa el puerto 443 en lugar del puerto 80:

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

    Nota: Si el servidor proxy usa una conexión SSL para comunicarse con Tableau Server, deberá configurarse y habilitarse SSL en Tableau Server.

  5. Escriba el comando siguiente para aplicar el cambio hecho en la configuración:

    tsm pending-changes apply

    Si los cambios pendientes requieren un reinicio del servidor, el comando pending-changes apply mostrará un mensaje para informarle de que se producirá un reinicio. Este mensaje aparece aunque el servidor esté detenido, pero en ese caso no se reiniciará. Puede suprimir el mensaje con la opción --ignore-prompt, pero no se modificará el comportamiento de reinicio. Si los cambios no requieren un reinicio, se aplicarán sin ningún mensaje. Para obtener más información, consulte tsm pending-changes apply.

Configurar el servidor proxy inverso para que funcione con Tableau Server

Cuando un cliente accede a Tableau Server a través de un servidor proxy inverso, es necesario conservar los encabezados específicos del mensaje (o añadirlos). En concreto, todos los servidores proxy de la cadena de mensajes deben estar representados en la configuración de gateway.trusted y gateway.trusted_hosts.

En el gráfico siguiente se muestran algunos encabezados de ejemplo para una cadena de mensajes de un solo salto, donde el servidor proxy se comunica directamente con Tableau Server:

En el gráfico siguiente se muestran algunos encabezados de ejemplo para una cadena de mensajes de varios saltos, donde el mensaje atraviesa dos servidores proxy antes de conectarse a Tableau Server:

En la tabla siguiente se describen estos encabezados y cómo se relacionan con las opciones de configuración de Tableau Server:

Encabezados Descripción Configuración relacionada con Tableau Server
REMOTE_ADDR y X-FORWARDED-FOR (XFF) Tableau Server necesita estos encabezados para determinar la dirección IP de origen de las solicitudes. El encabezado X-FORWARDED-FOR debe presentar la cadena de direcciones IP a Tableau Server en el orden en que se realizaron las conexiones. La dirección IP que establece en gateway.trusted debe coincidir con la IP presentada en REMOTE_ADDR. Si ha enviado múltiples direcciones en gateway.trusted, una de ellas debe coincidir con la IP presentada en REMOTE_ADDR.
HOST y X-FORWARDED HOST (XFH) Estos encabezados se usan para generar vínculos absolutos a Tableau Server cuando responde al cliente. El encabezado X-FORWARDED-HOST debe presentar los nombres de host a Tableau Server en el orden en que se realizaron las conexiones. Los nombres de host presentes en el encabezado X-FORWARDED-HOST se deben incluir en los nombres de host que especifique en gateway.trusted_hosts.
X-FORWARDED-PROTO (XFP) Este encabezado es necesario si la SSL está habilitada para el tráfico desde el cliente hacia el proxy, pero no para el tráfico desde el proxy hacia Tableau Server

Los encabezados X-FORWARDED-PROTO son importantes para las situaciones en las que HTTP o HTTPS no se mantienen en cada paso de la ruta de los mensajes. Si, por ejemplo, el proxy inverso necesita SSL para las solicitudes externas, pero el tráfico entre el proxy inverso y Tableau Server no está configurado para usar SSL, es necesario tener encabezados X-FORWARDED-PROTO. Algunas soluciones de proxy añaden los encabezados X-FORWARDED-PROTO automáticamente, mientras que otras no. Por último, en función de la solución de proxy que tenga, puede que tenga que configurar el reenvío de puerto para que traduzca la solicitud del puerto 443 al 80.

Artículo relacionado de la base de conocimiento: "Unable to Sign In" and "Invalid username or password" Error With SAML After Upgrading(El enlace se abre en una ventana nueva) (Error "No se puede iniciar sesión" y "Nombre de usuario o contraseña no válidos" con SAML después de la actualización).

La configuración de puertos en el proxy inverso (conexiones de entrada desde el cliente y conexiones de salida hacia Tableau Server) deben especificarse en el parámetro correspondiente: gateway.public.port, que es el puerto que usarán los clientes para conectarse al proxy.

Si el servidor proxy está usando una SSL para comunicarse con Tableau Server, la SSL debe estar configurada y habilitada en Tableau Server.

Validar la configuración del proxy inverso

Para validar la configuración del proxy inverso, publique libros de trabajo y fuentes de datos mediante creación web de Tableau Server o Tableau Desktop. Si se conecta con un navegador web a Tableau Server a través de Internet, verifique que utiliza un navegador recomendado(El enlace se abre en una ventana nueva). Publique y consulte libros de trabajo que utilicen fuentes de datos existentes, así como fuentes de datos que haya publicado. Utilice los enlaces siguientes para familiarizarse con la conexión a Tableau Server como usuario final.

Tarea Documentación
Información general sobre creación web. Usar Tableau en la Web(El enlace se abre en una ventana nueva)
Inicie sesión en Tableau Server desde Tableau Desktop o un navegador web. Iniciar sesión en Tableau Server u Online(El enlace se abre en una ventana nueva)
Publicar un libro de trabajo en Tableau Server. Publicar un libro de trabajo(El enlace se abre en una ventana nueva)
Publicar una fuente de datos. Publicar una fuente de datos(El enlace se abre en una ventana nueva)
Abra un libro de trabajo desde Tableau Server. Apertura de libros de trabajo desde el servidor(El enlace se abre en una ventana nueva)
Cierre la sesión del servidor (con Tableau Desktop). Iniciar sesión en Tableau Server u Online(El enlace se abre en una ventana nueva)
Descargar un libro de trabajo desde un navegador web. Descargar libros de trabajo(El enlace se abre en una ventana nueva)
Compruebe que tabcmd (desde un cliente que no sea un servidor) funcione correctamente. tabcmd

Temas relacionados

¡Gracias por sus comentarios!