Configurar el módulo de autenticación con puerta de enlace independiente

Una práctica de seguridad común es permitir que solo las solicitudes autenticadas pasen a través del firewall interno de los servidores DMZ. La puerta de enlace independiente es compatible con los métodos de autenticación tradicionales de Tableau Server, pero también incluye propiedades de configuración que permiten integrar un módulo cargable httpd de Apache para una autenticación personalizada.

Por ejemplo, al configurar SAML en Tableau Server y configurar un módulo de autenticación personalizado, puede solicitar que todos los usuarios se autentiquen con su IdP en la puerta de enlace independiente. Solo aquellos usuarios que estén autenticados podrán acceder a Tableau Server, que luego podrá autenticar y autorizar el acceso de los usuarios.

Para obtener una explicación más detallada de este esquema de autenticación, consulte Autenticación previa con un módulo AuthN(El enlace se abre en una ventana nueva) en la Guía de implementación empresarial.

Para configurar el módulo de autenticación, debe completar los siguientes pasos:

  1. Generar los archivos de configuración del módulo de autenticación. Una vez completada la configuración, cada módulo y sus directivas de configuración se tratarán como opciones de inclusión y, por lo tanto, los archivos incluidos sean parte lógica de la configuración general de httpd.
  2. Copiar los archivos de configuración en cada equipo que ejecute la puerta de enlace independiente. Todos los archivos deben copiarse en las mismas ubicaciones en cada equipo de la puerta de enlace independiente. Cada archivo se asigna a una propiedad de configuración que administra Tableau Server.
  3. Establecer las propiedades de configuración con el comando tsm configuration set en Tableau Server.

No edite el archivo de configuración httpd (httpd.conf) en la puerta de enlace independiente, ya que la puerta de enlace independiente incluye la lógica para actualizar la configuración de httpd en función de los cambios realizados con los comandos TSM en Tableau Server.

Ejemplo de configuración del módulo de autenticación

Para ver un ejemplo de configuración del módulo de autenticación de extremo a extremo, consulte Ejemplo de configuración de autenticación: SAML con IdP externo(El enlace se abre en una ventana nueva) en la Guía de implementación empresarial. El ejemplo describe cómo instalar y configurar SAML con Okta IdP y el módulo de autenticación Mellon para una implementación de Tableau Server en una implementación de Linux que se ejecuta en AWS. Aunque el ejemplo describe el proceso para Linux, el ejemplo de configuración también es útil para Tableau Server en Windows.

Propiedades de configuración

La siguiente tabla describe los diversos archivos de configuración a los que puede hacer referencia. Cada archivo se asigna a una propiedad de configuración que se establece en Tableau Server. Use barras diagonales en la ruta, incluso en Windows (convención httpd de Apache). Solo tiene que definir las propiedades que necesite para formular su configuración de autenticación personalizada. Omita cualquier propiedad de configuración que no sea necesaria.

Propiedad de configuraciónDescripción
gateway.tsig.authn_module_blockAparece al final del conjunto de módulos httpd de Apache que se hayan cargado normalmente. El objetivo es que el archivo incluya uno o más directivas LoadModule. Los propios módulos deben identificarse con rutas completas.
gateway.tsig.authn_global_blockAparece después de todas las referencias LoadModule y antes de la mayoría de las demás directivas httpd de Apache. El objetivo es que haya un lugar para cualquier directiva de configuración que necesite el módulo personalizado.
gateway.tsig.authn_globalbottom_blockAparece en la parte inferior del archivo de configuración, nuevamente a nivel global. El objetivo es que haya un lugar para cualquier directiva de configuración que necesite el módulo personalizado que debe aparecer específicamente después de otras directivas. (Es poco probable que vaya a necesitarlo.)
gateway.tsig.authn_location_blockAparece dentro de un bloque <Location "/">, y cubre todas las rutas URL.
gateway.tsig.authn_directory_blockAparece dentro de un bloque <Directory "/">, y cubre todas las rutas a los archivos a los que presta servicio la puerta de enlace independiente. (Es poco probable que vaya a necesitarlo. La mayoría de los archivos a los que presta servicio la puerta de enlace independiente son activos estáticos no confidenciales, como imágenes y archivos JavaScript).
gateway.tsig.authn_virtualhost_block

Aparece dentro de uno o dos bloques <VirtualHost> : uno para TLS (si está habilitado) y otro para no TLS. Si está configurado, el mismo archivo se incluye en ambos lugares. Si necesita distinguir los dos casos, puede usar la variable de entorno Apache httpd HTTPS estándar.

El bloque <Location "/tsighk">

Además del bloque <Location "/"> previsto para el tráfico de solicitudes normal, también hay un bloque <Location "/tsighk"> que se utiliza para dar servicio a las solicitudes internas de limpieza (HK) de la puerta de enlace independiente. Estas solicitudes HK tienen sus propios protectores de autenticación y no funcionarán con las típicas soluciones personalizadas de SSO.

Es posible que deba excluir explícitamente su módulo personalizado para que no intente hacer la autenticación para la ruta URL de HK.

Para determinar si necesita excluir su módulo, configúrelo primero. Luego busque solicitudes HK en el registro de acceso de la puerta de enlace independiente. Debería ver al menos una verificación de estado una o dos veces por minuto. Si esas solicitudes reciben un código de respuesta 200, probablemente todo esté bien. Por otro lado, si esas solicitudes reciben un código de respuesta 3xx (que redirige a su proveedor de autenticación personalizado), entonces debería hacer algo al respecto.

Entre las posibles soluciones se incluyen:

  • Los bloques <Location "/tsighk"> contienen la directivaAuthType None , y eso puede ser suficiente.
  • La httpd.conf de la puerta de enlace independiente tiene la directiva httpd de Apache estándarProxyPreserveHost(El enlace se abre en una ventana nueva) On. Si hay una circunstancia inusual que requiere que esté desactivado o que tenga cualquier otro valor, ese valor se puede establecer con el elemento de configuración de TSM gateway.tsig.proxypreservehost .
  • Es posible que necesite algunas directivas específicas del módulo para deshabilitar su módulo de autenticación para <Location "/tsighk"> . No puede modificar directamente ese bloque en el archivo httpd.conf. En su lugar, puede hacer otro bloque <Location "/tsighk"> en sugateway.tsig.authn_global_block y dejar que el httpd de Apache los fusione lógicamente. Por ejemplo, algunas versiones de mod_auth_mellon, un popular módulo de autenticación de código abierto, necesitan MellonEnable Off para las secciones donde no se aplica, aunque AuthType None esté configurado en esas secciones.
  • Al crear una sección <Location "/tsighk"> adicional, como se describe en el punto anterior, es posible que el orden de aparición de las diversas secciones en el archivo httpd.conf modifique la manera en que se afectan entre sí. La sección estándar <Location "/tsighk"> aparece antes de la sección estándar <Location "/">. Si su experimentación muestra que es necesario contar con un orden diferente, es posible que deba definir otra sección <Location "/"> en su bloque gateway.tsig.authn_global_block además de otra sección <Location "/tsighk">, en cuyo caso es posible que no necesite que haya nada en un bloque gateway.tsig.authn_location_block.

Solucionar problemas de configuración del módulo de autenticación personalizada

Una forma práctica de entender cómo la puerta de enlace independiente compondrá el archivo httpd.conf es establecer los elementos de configuración de TSM con valores que apunten a archivos vacíos en sus equipos de puerta de enlace independiente. (Los archivos deben existir, pero pueden estar vacíos). A continuación, puede consultar el archivo httpd.conf de puerta de enlace independiente para comprender concretamente dónde aparecerán realmente las directivas de Include en los distintos archivos de configuración.

Los problemas de configuración de httpd.conf en la puerta de enlace independiente pueden provocar que el servicio tsig-httpd no pueda iniciarse. Hay otros problemas de configuración que pueden interferir con la recepción de actualizaciones de configuración del servicio complementario de la puerta de enlace independiente en el clúster de Tableau Server. Una forma de recuperación, después de solucionar lo que causó el problema, es copiar el servicio TSIG_DATA/config/httpd.conf.stub paraTSIG_DATA/config/httpd.conf y luego reinicie eltsig-httpd.

Para obtener más sugerencias para la solución de problemas, consulte Solución de problemas de la puerta de enlace independiente de Tableau Server(El enlace se abre en una ventana nueva) en la Guía de implementación empresarial (EDG). La EDG proporciona un ejemplo de implementación de Tableau Server en Linux. Los pasos de solución de problemas son útiles para las versiones de Windows o Linux de Tableau Server.

¡Gracias por sus comentarios!Sus comentarios se han enviado correctamente. ¡Gracias!