Cifrar el tráfico de red
Te recomendamos que cifres el tráfico de red entre la aplicación Looker y tu base de datos. Considera una de las opciones descritas en la página de documentación Habilitar el acceso seguro a la base de datos.
Si te interesa usar el cifrado SSL, consulta la documentación de Microsoft.
Configurar la autenticación del servidor
Looker requiere la autenticación de SQL Server en tu servidor MSSQL. Si tu servidor MSSQL solo está configurado como "Autenticación integrada de Windows", cambia la configuración del servidor a "Autenticación integrada de Windows y autenticación de SQL Server".
Si la configuración del servidor no se define correctamente, Looker no podrá conectarse. Esto aparecerá en los mensajes de registro de SQL Server de la siguiente forma: "An attempt to log in using SQL authentication failed. El servidor está configurado solo para la autenticación de Windows".
Si es necesario hacer este cambio, puedes seguir estos pasos:
- En el Explorador de objetos de SQL Server Management Studio, haz clic con el botón derecho en el servidor y, a continuación, en Propiedades.
- En la página Seguridad, en Autenticación del servidor, selecciona el nuevo modo de autenticación del servidor y, a continuación, haz clic en Aceptar.
- En el cuadro de diálogo SQL Server Management Studio (SQL Server Management Studio), haz clic en OK (Aceptar) para confirmar que debes reiniciar SQL Server.
- En el Explorador de objetos, haga clic con el botón derecho en el servidor y, a continuación, haga clic en Reiniciar. Si el Agente SQL Server está en ejecución, también debe reiniciarse.
Puedes consultar más información al respecto en la documentación de Microsoft.
Crear un usuario de Looker
Looker se autentica en tu base de datos mediante la autenticación de SQL Server. No se admite el uso de una cuenta de dominio.
Para crear una cuenta, ejecuta los siguientes comandos. Cambia some_password_here
por una contraseña única y segura:
CREATE LOGIN looker
WITH PASSWORD = 'some_password_here';
USE MyDatabase;
CREATE USER looker FOR LOGIN looker;
GO
Conceder al usuario de Looker permiso para seleccionar datos de las tablas
Looker requiere el permiso SELECT
para cada tabla o esquema que quieras consultar. Hay varias formas de asignar el permiso SELECT
:
Para conceder el permiso
SELECT
a esquemas concretos, ejecuta el siguiente comando para cada esquema:GRANT SELECT on SCHEMA :: 'schema_name' to looker;
Para conceder el permiso
SELECT
a tablas concretas, ejecuta el siguiente comando en cada tabla:GRANT SELECT on OBJECT :: 'schema_name'.'table_name' to looker;
En la versión 2012 o posterior de MSSQL, también puede asignar al usuario de Looker el rol
db_datareader
con estos comandos:USE MyDatabase; ALTER ROLE db_datareader ADD MEMBER looker; GO
Conceder permiso al usuario de Looker para ver y detener las consultas en ejecución
Looker debe tener autorización para detectar y detener las consultas en curso, lo que requiere los siguientes permisos:
ALTER ANY CONNECTION
VIEW SERVER STATE
Para conceder estos permisos, ejecuta los siguientes comandos:
USE Master;
GRANT ALTER ANY CONNECTION TO looker;
GRANT VIEW SERVER STATE to looker;
GO
Conceder permiso al usuario de Looker para crear tablas
Para dar al usuario de Looker permiso para crear PDTs, ejecuta los siguientes comandos:
USE MyDatabase;
GRANT CREATE TABLE to looker;
GO
Configuración del esquema de temperatura
Para crear un esquema que sea propiedad del usuario de Looker y concederle los derechos necesarios, ejecuta este comando:
CREATE SCHEMA looker_scratch AUTHORIZATION looker;
Configurar la autenticación de Kerberos
Si usas la autenticación de Kerberos con tu base de datos MSSQL, sigue los pasos para configurar Looker de forma que se conecte mediante Kerberos, tal como se describe en la siguiente sección.
Configurar el cliente de Kerberos
Primero, debes asegurarte de que se hayan instalado varios programas y de que haya varios archivos en la máquina de Looker.
Cliente de Kerberos
Para comprobar que el cliente de Kerberos está instalado en el equipo de Looker, ejecuta kinit
. Si el cliente de Kerberos no está instalado, instala los archivos binarios del cliente de Kerberos.
Por ejemplo, en Red Hat o CentOS, sería lo siguiente:
sudo yum install krb5-workstation krb5-libs krb5-auth-dialog
Java 8
Java 8 debe estar instalado en el equipo de Looker y en los directorios PATH
y JAVA_HOME
del usuario de Looker. Si es necesario, instálalo de forma local en el directorio looker
.
Java Cryptography Extension
Descarga e instala Java Cryptography Extension (JCE) para Java 8 desde esta página de descarga de Oracle.
- Busca el directorio
jre/lib/security
de la instalación de Java. - Elimina los siguientes archivos JAR de este directorio:
local_policy.jar
yUS_export_policy.jar
. - Sustituye estos dos archivos por los archivos JAR incluidos en la descarga de archivos de políticas de jurisdicción de cifrado de intensidad ilimitada de JCE.
Es posible usar versiones de Java anteriores a Java 8 con JCE instalado, pero no es recomendable.
- Busca el directorio
Actualiza
JAVA_HOME
yPATH
en~looker/.bash_profile
para que apunten a la instalación correcta de Java ysource ~/.bash_profile
, o cierra sesión y vuelve a iniciarla.Verifica la versión de Java con
java -version
.Verifica la variable de entorno
JAVA_HOME
conecho $JAVA_HOME
.
gss-jaas.conf
Crea un archivo gss-jaas.conf
en el directorio looker
con este contenido:
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
doNotPrompt=true;
};
Si es necesario para las pruebas, se puede añadir debug=true
a este archivo de la siguiente manera:
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
doNotPrompt=true
debug=true;
};
krb5.conf
El servidor que ejecuta Looker también debe tener un archivo krb5.conf
válido. De forma predeterminada, este archivo se encuentra en /etc/krb5.conf
. Si está en otra ubicación, debe indicarse en el entorno (KRB5_CONFIG
en el entorno de shell).
Puede que tengas que copiarlo de otro equipo cliente de Kerberos.
lookerstart.cfg
Para hacer referencia a los archivos gss-jaas.conf
y krb5.conf
, crea un archivo en el directorio looker
(el mismo directorio que contiene la secuencia de comandos de inicio looker
) llamado lookerstart.cfg
que contenga las siguientes líneas:
JAVAARGS="-Djava.security.auth.login.config=/path/to/gss-jaas.conf -Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.krb5.conf=/etc/krb5.conf"
LOOKERARGS=""
Si el archivo krb5.conf
no está en /etc/krb5.conf
, también será necesario añadir esta variable:
-Djava.security.krb5.conf=/path/to/krb5.conf
Para depurar, añade estas variables:
-Dsun.security.jgss.debug=true -Dsun.security.krb5.debug=true
A continuación, reinicia Looker con ./looker restart
.
Autenticarse con Kerberos
Autenticación de usuarios
Si
krb5.conf
no está en/etc/
, usa la variable de entornoKRB5_CONFIG
para indicar su ubicación.Ejecuta el comando
klist
para asegurarte de que haya un ticket válido en la caché de tickets de Kerberos.Si no hay ninguna incidencia, ejecuta
kinit username@REALM
okinit username
para crearla.La cuenta que se usa con Looker probablemente no tenga interfaz, por lo que puedes obtener un archivo keytab de Kerberos para almacenar la credencial y usarla a largo plazo. Usa un comando como
kinit -k -t looker_user.keytab username@REALM
para obtener el ticket de Kerberos.
Renovar el ticket automáticamente
Configura un trabajo cron que se ejecute cada cierto tiempo para mantener un ticket activo en la caché de tickets de Kerberos. La frecuencia con la que se debe ejecutar depende de la configuración del clúster. klist
debe indicar cuándo caducan las entradas.
Crear la conexión de Looker a tu base de datos
Sigue estos pasos para crear la conexión de Looker a tu base de datos:
- En la sección Administrar de Looker, selecciona Conexiones y, a continuación, haz clic en Añadir conexión.
En el menú desplegable Dialect (Dialecto), selecciona tu versión de Microsoft SQL Server.
En Host remoto y Puerto, introduce el nombre de host y el puerto (el puerto predeterminado es 1433).
Si necesitas especificar un puerto que no sea el predeterminado (1433) y tu base de datos requiere el uso de una coma en lugar de dos puntos, puedes añadir
useCommaHostPortSeparator=true
en el campo Parámetros JDBC adicionales más abajo en la configuración de la conexión, lo que te permitirá usar una coma en Host remoto:Puerto. Por ejemplo:jdbc:sqlserver://hostname,1434
Rellena el resto de los detalles de la conexión. La mayoría de los ajustes son comunes a la mayoría de los dialectos de bases de datos. Consulta la página de documentación Conectar Looker a tu base de datos para obtener información.
Para verificar que la conexión se ha realizado correctamente, haz clic en Probar. Consulta la página de documentación Probar la conectividad de la base de datos para obtener información sobre cómo solucionar problemas.
Para guardar estos ajustes, haz clic en Conectar.
Configurar la conexión de Looker
Sigue las instrucciones de la página de documentación Conectar Looker a tu base de datos para crear una conexión con tu base de datos MSSQL. En la sección Additional JDBC parameters (Parámetros JDBC adicionales) de la página Connection Settings (Ajustes de conexión), añade lo siguiente:
;integratedSecurity=true;authenticationScheme=JavaKerberos
Algunas redes están configuradas para dos reinos de Kerberos: uno para Windows Active Directory y otro para Linux y otros sistemas que no son Windows. En ese caso, cuando el dominio centrado en Linux y el dominio de Active Directory se configuran para que confíen entre sí, se denomina "autenticación entre dominios".
Si tu red usa la autenticación entre dominios, debes especificar explícitamente el principal de Kerberos para MSSQL Server. En el campo Additional JDBC parameters (Parámetros JDBC adicionales), añade lo siguiente:
;serverSpn=service_name/FQDN\:PORT@REALM
Sustituye FQDN
y PORT@REALM
por la información de tu red. Por ejemplo:
;serverSpn=MSSQLSvc/dbserver.internal.example.com:1433@AD.EXAMPLE.COM
Además, la página Connection Settings (Configuración de la conexión) de Looker requiere que se introduzcan valores en los campos Username (Nombre de usuario) y Password (Contraseña), pero no son obligatorios para Kerberos. Introduce valores ficticios en estos campos.
Prueba la conexión para asegurarte de que está configurada correctamente.
Funciones admitidas
Para que Looker admita algunas funciones, el dialecto de tu base de datos también debe admitirlas.
Microsoft SQL Server 2008 y versiones posteriores admiten las siguientes funciones a partir de Looker 25.14:
Función | ¿Es compatible? |
---|---|
Nivel de asistencia | Integración |
Looker (servicio principal de Google Cloud) | No |
Agregados simétricos | Sí |
Tablas derivadas | Sí |
Tablas derivadas de SQL persistentes | Sí |
Tablas derivadas nativas persistentes | Sí |
Vistas estables | Sí |
Eliminación de consultas | Sí |
Pivotes basados en SQL | Sí |
Zonas horarias | No |
SSL | Sí |
Subtotales | Sí |
Parámetros adicionales de JDBC | Sí |
Distingue entre mayúsculas y minúsculas | No |
Tipo de ubicación | Sí |
Tipo de lista | No |
Percentil | No |
Percentil de valores distintos | No |
SQL Runner Show Processes | Sí |
SQL Runner Describe Table | Sí |
SQL Runner Show Indexes | Sí |
SQL Runner Select 10 | Sí |
Recuento de SQL Runner | Sí |
Explicación de SQL | No |
Credenciales de OAuth 2.0 | No |
Comentarios contextuales | Sí |
Grupo de conexiones | No |
Esquemas HLL | No |
Notoriedad agregada | Sí |
PDTs incrementales | No |
Milisegundos | Sí |
Microsegundos | Sí |
Vistas materializadas | No |
Métricas de comparación con el periodo anterior | No |
Recuento aproximado de valores distintos | No |
Microsoft SQL Server 2016 admite las siguientes funciones a partir de Looker 25.14:
Función | ¿Es compatible? |
---|---|
Nivel de asistencia | Compatible |
Looker (servicio principal de Google Cloud) | No |
Agregados simétricos | Sí |
Tablas derivadas | Sí |
Tablas derivadas de SQL persistentes | Sí |
Tablas derivadas nativas persistentes | Sí |
Vistas estables | Sí |
Eliminación de consultas | Sí |
Pivotes basados en SQL | Sí |
Zonas horarias | Sí |
SSL | Sí |
Subtotales | Sí |
Parámetros adicionales de JDBC | Sí |
Distingue entre mayúsculas y minúsculas | No |
Tipo de ubicación | Sí |
Tipo de lista | No |
Percentil | No |
Percentil de valores distintos | No |
SQL Runner Show Processes | Sí |
SQL Runner Describe Table | Sí |
SQL Runner Show Indexes | Sí |
SQL Runner Select 10 | Sí |
Recuento de SQL Runner | Sí |
Explicación de SQL | No |
Credenciales de OAuth 2.0 | No |
Comentarios contextuales | Sí |
Grupo de conexiones | No |
Esquemas HLL | No |
Notoriedad agregada | Sí |
PDTs incrementales | No |
Milisegundos | Sí |
Microsegundos | Sí |
Vistas materializadas | No |
Métricas de comparación con el periodo anterior | No |
Recuento aproximado de valores distintos | No |
Microsoft SQL Server 2017 y versiones posteriores admiten las siguientes funciones a partir de Looker 25.14:
Función | ¿Es compatible? |
---|---|
Nivel de asistencia | Compatible |
Looker (servicio principal de Google Cloud) | Sí |
Agregados simétricos | Sí |
Tablas derivadas | Sí |
Tablas derivadas de SQL persistentes | Sí |
Tablas derivadas nativas persistentes | Sí |
Vistas estables | Sí |
Eliminación de consultas | Sí |
Pivotes basados en SQL | Sí |
Zonas horarias | Sí |
SSL | Sí |
Subtotales | Sí |
Parámetros adicionales de JDBC | Sí |
Distingue entre mayúsculas y minúsculas | No |
Tipo de ubicación | Sí |
Tipo de lista | No |
Percentil | No |
Percentil de valores distintos | No |
SQL Runner Show Processes | Sí |
SQL Runner Describe Table | Sí |
SQL Runner Show Indexes | Sí |
SQL Runner Select 10 | Sí |
Recuento de SQL Runner | Sí |
Explicación de SQL | No |
Credenciales de OAuth 2.0 | No |
Comentarios contextuales | Sí |
Grupo de conexiones | No |
Esquemas HLL | No |
Notoriedad agregada | Sí |
PDTs incrementales | No |
Milisegundos | Sí |
Microsegundos | Sí |
Vistas materializadas | No |
Métricas de comparación con el periodo anterior | No |
Recuento aproximado de valores distintos | No |