Solución de problemas de Kerberos
Las sugerencias de solución de problemas de este tema se dividen en problemas relacionados con el inicio de sesión único (SSO) en el servidor y problemas con las fuentes de datos delegadas.
Inicio de sesión único en Tableau Server
En un entorno de SSO de Kerberos, un usuario que inicia sesión en Tableau Server desde un navegador web o desde Tableau Desktop podría recibir un mensaje que indica que Tableau Server no puede iniciar su sesión de forma automática (con el inicio de sesión único). En él se recomienda que el usuario escriba un nombre de usuario y una contraseña de Tableau Server.
Solución de errores de inicio de sesión en el equipo cliente
Escriba el nombre de usuario y la contraseña: para verificar el acceso general del usuario a Tableau Server, inicie sesión especificando el nombre y la contraseña del usuario.
Si estas credenciales son incorrectas, puede que el usuario no sea usuario de Tableau Server. Para que el SSO de Kerberos funcione, el usuario debe poder acceder a Tableau Server y Active Directory le debe conceder un vale de concesión de vales (TGT), como se describe en el punto relativo a los TGT, que aparece a continuación en esta lista.
Compruebe las credenciales de SSO de otros usuarios: intente conectarse mediante SSO a Tableau Server con otras cuentas de usuario. Si todos los usuarios se ven afectados, el problema puede estar en la configuración de Kerberos.
Utilice un equipo que no sea el equipo servidor: el SSO de Kerberos no funciona al intentar iniciar sesión en Tableau Server en localhost. Los clientes deben conectarse desde un equipo distinto al equipo de Tableau Server.
Utilice un nombre de servidor en lugar de una dirección IP: el SSO de Kerberos no funciona si escribe una dirección IP como nombre de Tableau Server. Además, el nombre del servidor que se usa para acceder a Tableau Server debe coincidir con el nombre usado en la configuración de Kerberos (consulte Entrada de tabla clave, abajo).
Confirme que el cliente tiene un TGT: el equipo cliente debe tener un TGT (vale de concesión de vales) del dominio de Active Directory. La delegación restringida, con el proxy que concede un vale, no es compatible.
Para confirmar que el equipo cliente tiene un TGT, siga este procedimiento:
En Windows, abra el símbolo del sistema y escriba lo siguiente:
klist tgt
En Mac, abra una ventana del terminal y escriba lo siguiente:
klist
El resultado debería mostrar un TGT para el usuario o dominio que intenta autenticarse en Tableau Server.
Es posible que el equipo cliente no disponga de un TGT en las siguientes circunstancias:
El equipo cliente usa una conexión VPN.
El equipo cliente no está unido al dominio (por ejemplo, es un equipo no destinado al trabajo que se usa en el trabajo).
El usuario ha iniciado sesión en el equipo con una cuenta local (sin dominio).
El equipo es un equipo Mac que no usa Active Directory como servidor de cuenta de red.
Confirme la versión del navegador y los ajustes: para el inicio de sesión en los navegadores web, compruebe que el navegador sea compatible con Kerberos y, si es necesario, que esté configurado correctamente.
Internet Explorer (IE) y Chrome funcionan de forma estándar en Windows.
Safari funciona de forma estándar en Mac.
Firefox necesita configuración adicional.
Para obtener más información, consulte Compatibilidad de los clientes de Tableau con el SSO de Kerberos.
Resolución de errores de inicio de sesión en el servidor
Si no puede solucionar el problema desde el equipo cliente, el siguiente paso es solucionar los problemas en el equipo que ejecuta Tableau Server. El administrador puede usar el ID de solicitud para buscar el intento de inicio de sesión en los registros de Apache de Tableau Server.
Archivos de registro: consulte el archivo error.log de Apache para buscar un error con la fecha y la hora exactas en las que se produjo el intento de inicio de sesión.
En un archivo ziplog, estos registros se encuentran en la carpeta \httpd.
En Tableau Server, estos registros se encuentran en la carpeta \data\tabsvc\logs\httpd\.
Entrada de tabla clave: si la entrada error.log incluye el mensaje “Sin entrada de tabla clave que coincida con HTTP/<nombre_servidor>.<dominio>.<organización>@”; por ejemplo:
[Fri Oct 24 10:58:46.087683 2014] [:error] [pid 2104:tid 4776] [client 10.10.1.62:56789] gss_acquire_cred() failed: Unspecified GSS failure. Minor code may provide more information (, No key table entry found matching HTTP/servername.domain.com@)
Este error es producto de una discrepancia de alguno de los siguientes elementos:
URL de Tableau Server: la URL que usó el equipo cliente para acceder al servidor.
Este es el nombre que escribe en Tableau Desktop o en la barra de direcciones del navegador. Puede ser un nombre corto (
http://servername
) o un nombre de dominio completamente calificado (http://servername.domain.com
)Búsqueda inversa de DNS para la dirección IP del servidor.
Esto busca un nombre DNS mediante una dirección IP.
En una línea de comandos, escriba:
ping servername
con la dirección IP devuelta al hacer ping en el servidor, realice un tipo de búsqueda inversa de DNS:
nslookup <ip address>
El comando nslookup indicará información de red de la dirección IP. En la sección Respuesta no autoritativa de la respuesta, compruebe que el nombre de dominio completamente calificado (FQDN) coincida con los siguientes valores configurados:
El archivo .keytab de Kerberos
Nombre principal de servicio (SPN) para el servidor
Para obtener más información sobre cómo configurar estos valores, consulte Información sobre los requisitos de keytab.
Verificar el script de configuración de Kerberos
Es posible que necesite modificar el comando ktpass que usó para generar el archivo keytab para las variables del entorno. Revise los pasos de solución de problemas en el artículo de la base de conocimientos Unable to Generate Kerberos Script Configuration for Tableau Server(El enlace se abre en una ventana nueva) (en inglés).
SSO de la fuente de datos
Errores de acceso de la fuente de datos delegada
Busque "workgroup-auth-mode" en los archivos de registro vizqlserver.
En un archivo ziplog, estos registros se encuentran en la carpeta \vizqlserver\Logs.
En Tableau Server, esto registros se encuentran en la carpeta \data\tabsvc\vizqlserver\Logs
Busque "workgroup-auth-mode" en los archivos de registro. Debería indicar "kerberos-impersonate" no "as-is".
Configuración de la delegación de Kerberos en varios dominios
Tableau Server puede delegar usuarios de otros dominios de Active Directory. Si su base de datos usa MIT Kerberos, es posible que necesite ajustar los nombres principales de Kerberos al mapeo de usuarios de la base de datos. En concreto, tendrá que actualizar krb5.conf con las reglas para cada entorno Kerberos desde el que se conectarán los usuarios. Use la categoría auth_to_local
en la sección [realms]
para asignar nombres principales a nombres de usuario locales.
Por ejemplo, piense en un usuario, EXAMPLE\jsmith
, cuyo nombre principal de Kerberos es jsmith@EXAMPLE.LAN
. En este caso, Tableau Server especificará un usuario delegado, jsmith@EXAMPLE
. Tableau Server usará el alias de dominio heredado de Active Directory como entorno Kerberos.
La base de datos de destino puede tener ya una regla como la siguiente para mapear al usuario jsmith@EXAMPLE.LAN
con el usuario de la base de datos jsmith
.
EXAMPLE.LAN = {
RULE:[1:$1@$0](.*@EXAMPLE.LAN)s/@.*//
DEFAULT
}
Para admitir la delegación, debe añadir otra regla para mapear a jherrera@EXAMPLE con un usuario de la base de datos:
EXAMPLE.LAN = {
RULE:[1:$1@$0](.*@EXAMPLE.LAN)s/@.*//
RULE:[1:$1@$0](.*@EXAMPLE)s/@.*//
DEFAULT
}
Consulte el tema de la documentación de MIT Kerberos krb5.conf(El enlace se abre en una ventana nueva) para más información.
Delegación restringida de dominio cruzado
En algunos escenarios de dominio cruzado donde el KDC se ejecuta en una versión de Windows Server anterior a Windows 2012, la delegación puede fallar. Los errores que podrá observar incluyen:
- Interfaces en red de SQL Server: el sistema no puede ponerse en contacto con un controlador de dominio para examinar la solicitud de autenticación. Vuelva a intentarlo más tarde.
- Cliente nativo de SQL Server: no se puede generar el contexto SSPI.
- El controlador de dominio indica lo siguiente:
KRB-ERR-POLICY error with a status STATUS_CROSSREALM_DELEGATION_FAILURE (0xc000040b)
.
“Entre dominios” hace referencia a un escenario donde se ejecuta Tableau Server en un dominio diferente al de la fuente de datos con cuentas de servicio diferentes. Por ejemplo:
- Tableau Server se ejecuta en DomainA con la cuenta de servicio de DomainA.
- SQL Server se ejecuta en DomainB con la cuenta de servicio de DomainB.
La delegación restringida tradicional solo funciona si ambos servidores están en el mismo dominio. El usuario puede proceder de otros dominios.
Si está observando los errores indicados anteriormente, entonces, para activar este escenario, su administrador de Active Directory debe eliminar cualquier delegación restringida tradicional que esté configurada en la cuenta que delega. Puede lograrse la eliminación de una delegación con las herramientas de administración de Active Directory o eliminando los valores asociados con la propiedad de Active Directory, msDS-AllowedToDelegateTo.
Si quiere conservar una delegación de dominio único existente con una delegación entre dominios, deberá configurar ambas con una delegación restringida basada en recursos.
Para obtener más información sobre Kerberos y la delegación restringida, consulte el tema de Microsoft, Kerberos Constrained Delegation Overview(El enlace se abre en una ventana nueva) (Descripción general de la delegación restringida de Kerberos).
Creación web
Hay dos escenarios de creación web que no admiten la delegación de Kerberos: "Conectarse a datos en la web" y la funcionalidad "Crear fuente de datos en la web" todavía no admiten la delegación. En concreto, si crea una fuente de datos que utiliza Kerberos en la creación web, la fuente de datos usará la autenticación de cuenta de servicio Ejecutar como. Si desea utilizar la delegación Kerberos para crear una fuente de datos, debe publicar con Tableau Desktop.