Habilitar la autenticación de Ejecutar como de Kerberos para los conectores JDBC

Desde la versión 2020.2, Tableau Server es compatible con Kerberos para la autenticación con conectores JDBC.

Puede configurar Tableau Server para que use una cuenta de servicio de Kerberos para acceder a una base de datos. En este caso, Tableau Server se conecta a las bases de datos con una cuenta de servicio (también denominada "cuenta de servicio Ejecutar como"). Este caso se conoce como "Autenticación de Ejecutar como"

Consulte Cuenta Ejecutar como servicio.

Para utilizar la autenticación Ejecutar como en Tableau Server, primero debe crear un libro de trabajo o una fuente de datos en Tableau Desktop que utilice la autenticación integrada. Cuando publique en Tableau Server, verá la opción de usar la autenticación de Ejecutar como. Cuando se crea una fuente de datos con Creación web, la operación predeterminada para la autenticación de Ejecutar como se selecciona al elegir la autenticación integrada.

Fuentes de datos admitidas

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

  • Oracle
  • PostgreSQL

Si está configurando la autenticación Ejecutar como para una fuente de datos de Oracle mediante un conector basado en JDBC, siga el procedimiento de este tema. Como alternativa, si el conector que está ejecutando en el Tableau Server utiliza un controlador nativo, no tiene que seguir los pasos de este tema. En su lugar, siga los pasos para crear una cuenta de servicio Ejecutar como de la forma que aparece en el tema, Cambiar la cuenta Ejecutar como servicio.

Requisitos

La delegación de Kerberos requiere Active Directory.

  • Para usar LDAP - Active Directory es necesario configurar el almacén de información de Tableau Server.
  • No se admite MIT KDC.

Proceso de configuración

En esta sección se muestra un ejemplo del proceso para habilitar la autenticación de Ejecutar como para Kerberos.

  1. Cree un archivo keytab para la cuenta Ejecutar como servicio.

    En el siguiente ejemplo se utiliza la herramienta ktab que se proporciona con el JDK. Puede descargar la herramienta en AdoptOpenJDK(El enlace se abre en una ventana nueva). Cuando utilice ktab para crear una keytab, utilice un nombre principal de registro en formato UPN (por ejemplo, service@EXAMPLE.COM) y no un nombre de entidad de seguridad de servicio (por ejemplo, HTTP/service.example.com@EXAMPLE.COM). También puede generar keytabs con la utilidad ktpass, en cuyo caso puede usar cualquier estilo de nombre principal.

    <JDK_HOME>/bin/ktab -k E:/tmp/tabsrv.keytab -a tabsrv@EXAMPLE.COM

    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.

  2. Copie la keytab en el directorio de datos de Tableau Server y verifique que la cuenta de servicio Ejecutar como puede acceder y leer el archivo keytab. El directorio de registro predeterminado de Tableau Server es C:\ProgramData\Tableau. Si ejecuta Tableau Server en una implementación distribuida, ejecute este paso en cada nodo del clúster.

  3. Ejecute los siguientes comandos de TSM para configurar la cuenta de servicio Ejecutar como y la ruta del archivo keytab:

    tsm configuration set -k native_api.datasource_runas_principal -v tabsrv@EXAMPLE.COM
    tsm configuration set -k native_api.datasource_runas_keytab_path -v <path-to-file>kerberos.keytab

    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.

  4. Cree un archivo krb5.conf, e instálelo en C:\Windows en todos los nodos de Tableau Server.

    Si ya tiene un archivo krb5.ini implementado en los equipos de su organización, copie ese archivo y úselo para Tableau Server. Para obtener más información, consulte la documentación de Kerberos de MIT, krb5.conf(El enlace se abre en una ventana nueva).

    Para cambiar la ubicación del archivo de configuración de Kerberos, ejecute el siguiente comando de TSM:

    tsm configuration set -k native_api.kerberos_config_path --force-keys -v "C:\temp\krb5.ini"

    El siguiente es un ejemplo de un archivo krb5.conf. El equipo de soporte de Tableau no puede ayudar a crear krb5.conf.

    [libdefaults]
    forwardable = true
    default_realm = EXAMPLE.COM
    default_tkt_enctypes = rc4-hmac
    default_tgs_enctypes = rc4-hmac
    
    [realms]
    EXAMPLE.COM = {
    kdc = kdc.example.com
    admin_server = kdc.example.com
    }
    
    [domain_realm]
    .example.com = EXAMPLE.COM
    example.com = EXAMPLE.COM
  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.