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
  • Oracle
  • PostgreSQL
  • Spark
  • SQL Server
  • Teradata
  • Vertica

MSAS no es compatible con plataformas Linux.

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.

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 Habilitar el acceso de la cuenta de servicio de Kerberos.

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. 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.
  2. Cree un archivo keytab para la cuenta Ejecutar como servicio.

    Por ejemplo, los siguientes comandos crean un archivo keytab (tabsrv-runas.keytab) usando la herramienta ktutil:

    sudo ktutil
    ktutil:  addent -password -p tabsrv@EXAMPLE.COM -k 2 -e <encryption scheme>

    Los esquemas de cifrado para este comando incluyen RC4-HMAC, aes128-cts-hmac-sha1-96 y aes256-cts-hmac-sha1-96. Consulte con su equipo de TI cuál es el esquema de cifrado correcto para su entorno y fuente de datos.

    ktutil:  wkt tabsrv-runas.keytab

    Tableau Server usará la cuenta Ejecutar como servicio y el archivo keytab asociado para realizar la autenticación y una conexión directa con la base de datos.

  3. Copie el archivo keytab en el directorio de datos de Tableau Server y establezca la propiedad y los permisos adecuados. Si ejecuta una implementación de varios nodos, debe ejecutar los siguientes comandos en cada nodo del clúster.

    mkdir /var/opt/keytab                
    sudo cp -p tabsrv-runas.keytab /var/opt/keytab                 
    sudo chown $USER /var/opt/keytab/tabsrv-runas.keytab                  
    chgrp tableau /var/opt/keytab/tabsrv-runas.keytab                  
    chmod g+r /var/opt/keytab/tabsrv-runas.keytab 
    					
  4. Ejecute los siguientes comandos de TSM para habilitar la delegación de Kerberos, configurar la cuenta de servicio de delegación y asociar el archivo keytab con la cuenta de servicio:

    					
    tsm configuration set -k wgserver.delegation.enabled -v true
    tsm configuration set -k native_api.datasource_impersonation_runas_principal -v tabsrv@EXAMPLE.COM
    tsm configuration set -k native_api.datasource_impersonation_runas_keytab_path -v /var/opt/keytab/tabsrv-runas.keytab
    tsm configuration set -k native_api.protocol_transition_a_d_short_domain -v false
    tsm configuration set -k native_api.protocol_transition_uppercase_realm -v true

    En algunos casos, TSM puede devolver un error en el que se mencione --force-keys. Si le aparece este error, vuelva a ejecutar el comando con el parámetro --force-keys anexado al argumento.

  5. 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.

  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!