Habilitar la delegación de Kerberos

La delegación de Kerberos habilita Tableau Server para usar las credenciales de Kerberos del visor de un libro de trabajo o vista para ejecutar una consulta en nombre del visor. Es útil en las siguientes situaciones:

  • Debe saber quién accede a los datos (el nombre del visor se muestra en los registros de acceso de la fuente de datos).

  • La fuente de datos tiene seguridad de nivel de fila, con la que distintos usuarios tienen acceso a distintas filas.

Fuentes de datos admitidas

Tableau es compatible con la delegación de Kerberos con las siguientes fuentes de datos:

  • Cloudera: Hive/Impala
  • Denodo
  • Hortonworks
  • MSAS
  • Oracle
  • PostgreSQL
  • Spark
  • SQL Server
  • Teradata
  • Vertica
  • TIBCO

Requisitos

La delegación de Kerberos requiere Active Directory.

  • Para usar Active Directory es necesario configurar el almacén de información de Tableau Server.
  • El equipo en el que está instalado Tableau Server debe unirse al dominio de Active Directory.
  • No se admite MIT Kerberos KDC.
  • Una cuenta de dominio se debe configurar como la cuenta de servicio Ejecutar como en Tableau Server. Consulte Cambiar la cuenta Ejecutar como servicio. Si los usuarios se encuentran en un dominio de Active Directory distinto al de Tableau Server y la fuente de datos, se debe configurar la confianza de dominio. Consulte Requisitos de confianza de dominios para implementaciones de Active Directory.
  • Delegación configurada. Conceder los derechos de delegación de la cuenta de servicio Ejecutar como a la base de datos de objetivos Nombres principales de servicio (SPN). La cuenta de servicio Ejecutar como es una autoridad delegada para acceder a recursos en nombre del usuario original inicial.
  • Si va a configurar la delegación en Tableau Server 2020.2 o posterior con una fuente de datos de Oracle mediante un conector basado en JDBC, consulte Habilitar la delegación de Kerberos para conectores JDBC. A partir de Tableau 2020.2, el conector de Oracle utiliza JDBC.

Creación web y autenticación Kerberos del usuario

Al configurar Conectarse a datos para un destino determinado, puede seleccionar la autenticación integrada o de Windows como método de autenticación preferido. Sin embargo, para escenarios de creación web, el comportamiento predeterminado será utilizar la cuenta de servicio de Kerberos (cuenta “Ejecutar como”) en su lugar.

Para habilitar las credenciales de usuario en escenarios de creación web con delegación de Kerberos, debe realizar una configuración adicional mediante TSM. Ejecute los comandos siguientes:

tsm configuration set -k native_api.WebAuthoringAuthModeKerberosDelegation -v true
tsm pending-changes apply

Después de realizar esta configuración, la delegación de Kerberos se convierte en la operación predeterminada al seleccionar la autenticación integrada con la creación web. Sin embargo, esta configuración no impedirá que los creadores de contenido accedan a la cuenta de servicio. Los creadores todavía pueden publicar contenido que se conecte con la cuenta de servicio Ejecutar como mediante Tableau Desktop u otros métodos.

Para obtener más información sobre la cuenta de servicio Ejecutar como, consulte Acceso a datos con la cuenta Ejecutar como servicio.

Proceso de configuración

En esta sección se muestra un ejemplo del proceso para habilitar la delegación de Kerberos. El escenario también incluye nombres de ejemplo para ayudar a describir las relaciones entre los elementos de la configuración.

  1. En todos los nodos de Tableau Server, configure Ejecutar como usuario para que actúe como parte del sistema operativo. Para obtener más información, consulte Habilitar la cuenta Ejecutar como servicio para que actúe como el sistema operativo.

  2. Tableau Server necesitará un vale de servicio de Kerberos para delegar en nombre del usuario que inicia la llamada a la base de datos. Debe crear una cuenta de dominio que se utilizará para delegar a la base de datos dada. Esta cuenta se denomina la "cuenta Ejecutar como servicio". En este tema, el usuario de ejemplo configurado como cuenta de delegación/Ejecutar como es tabsrv@example.com.

    La cuenta se debe configurar con equipos y usuarios de Active Directory en una instancia de Windows Server que esté conectada al dominio de usuario:

    • Abra la página Propiedades de la cuenta Ejecutar como servicio, haga clic en la pestaña Delegación y seleccione Confiar en este usuario para la delegación solo a los servicios especificados y Usar cualquier protocolo de autenticación.
  3. Ejecute el siguiente comando de TSM para permitir la delegación de Kerberos:

    tsm configuration set -k wgserver.delegation.enabled -v true

  4. Ejecute el siguiente comando de TSM para aplicar los cambios en Tableau Server:

    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.

  5. (Opcional) Configure Tableau Server para usar el formato principal de MIT Kerberos.

    De forma predeterminada, Tableau Server genera elementos principales de Kerberos usando el nombre corto de Active Directory. Por ejemplo, si Tableau Server realiza la delegación Kerberos para un usuario en EXAMPLE.COM, con un nombre corto EXAMPLE, el nombre principal será: user@example.

    Si la base de datos se ejecuta en Linux, es posible que necesite ajustar la asignación de auth_to_local en krb5.conf. Para obtener información sobre cómo editar el archivo krb5.conf, consulte Configuración de la delegación de Kerberos en varios dominios. También puede configurar Tableau Server para usar el nombre de dominio completo de los elementos principales de Kerberos ejecutando los siguientes comandos:

    tsm configuration set -k native_api.protocol_transition_a_d_short_domain -v false --force-keys
    tsm configuration set -k native_api.protocol_transition_uppercase_realm -v true --force-keys
    tsm pending-changes apply
  6. Habilite la delegación para las conexiones de datos:

    Consulte también

    Solución de problemas de Kerberos

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