Información sobre los requisitos de keytab
La autenticación de Kerberos depende de credenciales almacenadas en archivos de formato especial llamados archivos keytab. Quizá tenga que generar archivos keytab para su implementación de Tableau Server. En este tema se describen los archivos keytab que Tableau Server usa para acceder a varios servicios en una organización típica. Es posible que deba generar keytabs para que Tableau Server se integre en los siguientes servicios:
- Autenticación de usuarios (SSO) en Windows Active Directory
- Delegación de la fuente de datos
- Sistema operativo
- Servicio de directorio
Importante: A partir de Tableau Server 2021.2.25, 2021.3.24, 2021.4.19, 2022.1.15, 2022.3.7 y 2023.1.3 (o posteriores), asegúrese de que los archivos de tabla de claves se creen con cifrados AES-128 o AES-256. Los cifrados RC4 y 3DES ya no son compatibles. Si desea obtener más información, consulte “Tableau Server could not authenticate you automatically”(El enlace se abre en una ventana nueva) en la base de conocimientos de Tableau.
Si en su organización hay profesionales de TI que trabajan con identidades, autenticación o seguridad, debería colaborar con ellos con el objetivo de crear un plan para generar archivos keytab apropiados para su implementación de Tableau Server.
Autenticación de usuarios (SSO) en Windows Active Directory
Si va a usar Active Directory como el almacén de entidades para Tableau Server y desea que los usuarios se autentiquen mediante el inicio de sesión único (SSO) de Kerberos, deberá generar un archivo keytab para Tableau Server.
Tableau se ejecuta en... | ¿Necesita generar manualmente un archivo keytab? |
---|---|
Windows en un dominio de Active Directory | Sí |
Linux en el dominio de Active Directory | Sí |
Windows o Linux en un entorno distinto de Active Directory | El inicio de sesión único de Kerberos no es un escenario soportado. |
Siga estas recomendaciones (para las versiones Windows y Linux de Tableau Server):
Cree una cuenta de servicio en su directorio para Tableau Server.
Cree un archivo keytab específico para la cuenta de servicio de Tableau Server. No reutilice el archivo keytab que el sistema operativo o la cuenta del equipo usan para la autenticación. Puede usar el mismo archivo keytab para el inicio de sesión único de Kerberos y para la autenticación de directorio de la situación descrita anteriormente.
Debe crear nombres de entidad de seguridad de servicio (SPN) en Active Directory para el servicio Tableau Server.
Use el archivo por lotes de la siguiente sección para crear los SPN y el archivo keytab.
Una vez creados los SPN, cargue el archivo keytab como se describe en Configurar Kerberos.
Archivo por lotes: establecer SPN y crear el archivo keytab en Active Directory
Puede usar un archivo por lotes para establecer los nombres de entidad de seguridad de servicio (SPN) y crear un archivo keytab. Estas operaciones forman parte del proceso para habilitar el inicio de sesión único de Kerberos para Tableau Server (en Windows o Linux) ejecutado en Active Directory.
En versiones anteriores de Tableau Server (antes de 2018.2), el script de configuración se generaba desde la utilidad de configuración de Tableau Server.
Para generar un script de configuración, copie y pegue el contenido del siguiente archivo por lotes en un archivo de texto. El archivo por lotes crea los nombres de entidad de seguridad de servicio (SPN) para Tableau Server y creará un archivo keytab para el usuario especificado en el archivo.
Siga las instrucciones en los contenidos del archivo. Cuando haya terminado de personalizar el archivo, guárdelo en formato .bat.
Este archivo debe ejecutarlo un administrador de dominios en un dominio de Active Directory. Se le pedirá al administrador la contraseña de la cuenta de servicio especificada en el archivo.
El archivo por lotes utiliza los comandos set(El enlace se abre en una ventana nueva), setspn(El enlace se abre en una ventana nueva) y ktpass(El enlace se abre en una ventana nueva) de Windows.
Nota: El archivo por lotes siguiente es autodocumentado. Sin embargo, si no tiene experiencia con Kerberos y con la generación de archivos keytab, le recomendamos que lea la entrada All you need to know about Keytab files(El enlace se abre en una ventana nueva) (en inglés) del blog de Microsoft antes de continuar. Los detalles medioambientales de su organización pueden requerir una configuración adicional del comando ktpass. Por ejemplo, debe determinar qué se establece para el parámetro /crypto
. Se recomienda especificar un solo valor de /crypto
que el KDC requiera. Consulte el artículo de Microsoft ktpass(El enlace se abre en una ventana nueva) para ver la lista completa de valores admitidos para el parámetro /crypto
.
Contenidos del archivo por lotes de SPN y keytab
A partir de Tableau Server 2022.3, 2022.1.8, 2021.4.12, 2021.3.17, 2021.2.18, 2021.1.20 y 2020.4.23
@echo off setlocal EnableDelayedExpansion REM ******* REM This script generates the Service Principal Names (SPNs) and keytab files required for REM Kerberos SSO with Apache. REM This script executes set, setspn, and ktpass commands included in any Windows Server REM Operating System from 2003 on. REM Before running this script you must enter configuration information for the setspn and REM ktpass commands. REM Elements that require your configuration information are enclosed in as such: REM ! -- and --!. REM After you customize this file, save it as a .bat file, and run on a domain-joined REM computer. REM This script must be run by a Domain admin. REM ********** REM The following set command will prompt the domain admin for credentials of the REM Tableau Server service account. REM This account must be a valid domain user account. REM If the password contains a literal \" (blackslash - double quote), all backslashes REM immediately before the double quote must be REM duplicated when typed for the password to work, e.g. if password contains REM \" replace with \\", if passwords contains \\" replace with \\\\" set /p adpass= "Enter password for the Tableau Server service account." set adpass=!adpass:"=\"! REM ********** REM The following setspn commands create the SPN in the domain. REM More information on setspn can be found here: REM http://technet.microsoft.com/en-us/library/cc731241(WS.10).aspx REM Enter the canonical FQDN and the host names for Tableau Server followed by the REM Tableau Server service account name. REM Use this syntax: HTTP/hostname domain\service_account_name. REM The example below shows syntax for a computer named "tableau01" in the "example.lan" REM domain, with service account, "tab-serv-account": REM setspn -s HTTP/tableau01 example\tab-serv-account REM setspn -s HTTP/tableau01.example.lan example\tab-serv-account REM DNS and AD are not case sensitive, but the keytab files are. Verify that host names REM match letter case as stored in DNS. REM Use Windows Server's DNS Manager utility to verify host name case. REM ********** echo Creating SPNs... setspn -s HTTP/!--replace with canonical host name and service account --! setspn -s HTTP/!--replace with canonical FQDN and service account --! REM ********** REM The following commands create the keytab file in the same directory where the REM bat file is run. More information on ktpass can be found here: REM https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/ktpass REM Note: keytab files are case-sensitive. REM The realm following the FQDN should be all uppercase. REM Syntax is: REM ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass! REM /pttype KRB5_NTPRINCIPAL /crypto !--cipher--! /out keytabs\kerberos.keytab REM Best practice: specify the /crypto value that is required by your KDC. REM Options for /crypto = {DES-CBC-CRC|DES-CBC-MD5|AES256-SHA1|AES128-SHA1|All} REM Do not specify /crypto All because it will result in a keytab that contains ciphers that are not supported REM and cause errors. REM When using AES256-SHA1 OR AES128-SHA1, the /mapuser option must be included REM in the ktpass command to ensure the keytab file is mapped properly to the user. For example: REM ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass! /ptype KRB5_NT_PRINCIPAL /mapuser <domain\username> /crypto AES256-SHA1 /out keytabs\kerberos.keytab REM The following example shows the ktpass syntax with the example.lan configuration from above: REM ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass! /ptype KRB5_NT_PRINCIPAL /crypto DES-CBC-CRC /out keytabs\kerberos.keytab REM ********** echo Creating Keytab files in %CD%\keytabs mkdir keytabs ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass! /ptype KRB5_NT_PRINCIPAL /crypto DES-CBC-CRC /out keytabs\kerberos.keytab
Para versiones anteriores de Tableau Server
@echo off setlocal EnableDelayedExpansion REM ******* REM This script generates the Service Principal Names (SPNs) and keytab files required for REM Kerberos SSO with Apache. REM This script executes set, setspn, and ktpass commands included in any Windows Server REM Operating System from 2003 on. REM Before running this script you must enter configuration information for the setspn and REM ktpass commands. REM Elements that require your configuration information are enclosed in as such: REM ! -- and --!. REM After you customize this file, save it as a .bat file, and run on a domain-joined REM computer. REM This script must be run by a Domain admin. REM ********** REM The following set command will prompt the domain admin for credentials of the REM Tableau Server service account. REM This account must be a valid domain user account. REM If the password contains a literal \" (blackslash - double quote), all backslashes REM immediately before the double quote must be REM duplicated when typed for the password to work, e.g. if password contains REM \" replace with \\", if passwords contains \\" replace with \\\\" set /p adpass= "Enter password for the Tableau Server service account." set adpass=!adpass:"=\"! REM ********** REM The following setspn commands create the SPN in the domain. REM More information on setspn can be found here: REM http://technet.microsoft.com/en-us/library/cc731241(WS.10).aspx REM Enter the canonical FQDN and the host names for Tableau Server followed by the REM Tableau Server service account name. REM Use this syntax: HTTP/hostname domain\service_account_name. REM The example below shows syntax for a computer named "tableau01" in the "example.lan" REM domain, with service account, "tab-serv-account": REM setspn -s HTTP/tableau01 example\tab-serv-account REM setspn -s HTTP/tableau01.example.lan example\tab-serv-account REM DNS and AD are not case sensitive, but the keytab files are. Verify that host names REM match letter case as stored in DNS. REM Use Windows Server's DNS Manager utility to verify host name case. REM ********** echo Creating SPNs... setspn -s HTTP/!--replace with canonical host name and service account --! setspn -s HTTP/!--replace with canonical FQDN and service account --! REM ********** REM The following commands create the keytab file in the same directory where the REM bat file is run. More information on ktpass can be found here: REM https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/ktpass REM Note: keytab files are case-sensitive. REM The realm following the FQDN should be all uppercase. REM Syntax is: REM ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass! REM /pttype KRB5_NTPRINCIPAL /crypto !--cipher--! /out keytabs\kerberos.keytab REM Best practice: specify the /crypto value that is required by your KDC. REM Options for /crypto = {DES-CBC-CRC|DES-CBC-MD5|RC4-HMAC-NT|AES256-SHA1|AES128-SHA1|All} REM Specifying /crypto All will result in passwords stored with RC4 cipher, which is REM no longer considered secure. REM When using AES256-SHA1 OR AES128-SHA1, the /mapuser option must be included REM in the ktpass command to ensure the keytab file is mapped properly to the user. For example: REM ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass! /ptype KRB5_NT_PRINCIPAL /mapuser <domain\username> /crypto AES256-SHA1 /out keytabs\kerberos.keytab REM The following example shows the ktpass syntax with the example.lan configuration from above: REM ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass! /ptype KRB5_NT_PRINCIPAL /crypto DES-CBC-CRC /out keytabs\kerberos.keytab REM ********** echo Creating Keytab files in %CD%\keytabs mkdir keytabs ktpass /princ HTTP/!--FQDN--!@!--Kerberos_Realm--! /pass !adpass! /ptype KRB5_NT_PRINCIPAL /crypto DES-CBC-CRC /out keytabs\kerberos.keytab
Sistema operativo
Si en su organización se usa Kerberos para la autenticación, el equipo donde se ejecuta Tableau Server debe estar autenticado con el entorno de Kerberos en el que se esté ejecutando.
Tableau se ejecuta en... | ¿Necesita generar manualmente un archivo keytab? |
---|---|
Windows en un dominio de Active Directory | No |
Linux en un dominio de Active Directory | Sí |
Windows o Linux en un entorno distinto de Active Directory | Sí |
Si ejecuta Tableau Server en Windows y el equipo está unido a Active Directory, no necesita administrar ni generar ningún archivo keytab para el sistema operativo.
Si está ejecutando Tableau Server en Linux en un entorno de Kerberos (MIT KDC o Active Directory), deberá generar un archivo keytab específicamente para el sistema operativo del equipo. El archivo keytab creado para el equipo debe ser específico para la autenticación del sistema operativo. No use el mismo archivo keytab para la autenticación del sistema operativo y el resto de los servicios descritos más adelante en este tema.
Servicio de directorio
Si en su organización se usa un servicio de directorio para administrar la identidad de usuario (por ejemplo, LDAP o Active Directory), Tableau Server requiere acceso de solo lectura al directorio.
Como alternativa, puede configurar Tableau Server para que administre todas las cuentas realizando la instalación con un almacén de identidades local. En este caso, no necesita un keytab.
En la tabla siguiente se resumen los requisitos de keytab:
Tableau se ejecuta en... | Servicio de directorio | ¿Necesita generar manualmente un archivo keytab? |
---|---|---|
Windows en un dominio de AD | Active Directory | No |
Windows | LDAP (enlace GSSAPI) | Sí |
Linux | Active Directory o LDAP (enlace GSSAPI) | Sí |
Windows o Linux | Active Directory o LDAP (enlace simple) | No |
Windows o Linux | Almacén de identidades local | No requiere keytab. |
Si necesita generar manualmente un archivo keytab para este caso, lo usará para el enlace GSSAPI al directorio. Siga estas recomendaciones:
Cree una cuenta de servicio en su directorio para Tableau Server.
Cree un archivo keytab específico para la cuenta de servicio de Tableau Server. No reutilice el archivo keytab que el sistema operativo o la cuenta del equipo usan para la autenticación.
Cargue el archivo keytab como parte de la configuración de json del almacén de identidades de Tableau Server. Consulte Entidad identityStore.
Como parte de su plan de recuperación ante desastres, le recomendamos que mantenga una copia de seguridad de los archivos keytab y de configuración en una ubicación segura fuera de Tableau Server. El servicio de archivos de cliente almacenará y distribuirá los archivos keytab y de configuración que agregue a Tableau Server a otros nodos. Sin embargo, los archivos no se almacenan en un formato recuperable. Consulte el Servicio de archivo de cliente de Tableau Server.
Delegación de la fuente de datos
También puede usar la delegación de Kerberos para acceder a las fuentes de datos en Active Directory. En ese caso, los usuarios pueden autenticarse en Tableau Server con cualquier mecanismo de autenticación (SAML, autenticación local, Kerberos, etc.), pero solo pueden acceder a las fuentes de datos habilitadas por Kerberos.
Siga estas recomendaciones:
La cuenta de equipo de Tableau Server (Windows o Linux) debe estar en el dominio de Active Directory.
El archivo keytab utilizado para la delegación de Kerberos puede ser el mismo que el utilizado para la autenticación de usuario de Kerberos (SSO).
El archivo keytab debe estar asignado al servicio principal para la delegación de Kerberos en Active Directory.
Puede usar el mismo archivo keytab para varias fuentes de datos.
Para obtener más información, consulte los siguientes temas de configuración:
Tableau Server en Linux: Habilitar la delegación de Kerberos(El enlace se abre en una ventana nueva)
Tableau Server en Windows: Enabling Kerberos Delegation (Habilitar la delegación de Kerberos)(El enlace se abre en una ventana nueva)