Cómo conectar Looker (Google Cloud Core) a tu base de datos

Una vez que se aprovisione tu instancia de Looker (Google Cloud Core), aparecerá en la página Instancias de tu proyecto de Google Cloud . Haz clic en la URL de la instancia para acceder a ella y autenticarte.

Una vez que hayas accedido a tu instancia de Looker (Google Cloud Core), puedes configurar una conexión de base de datos a tu instancia de Looker (Google Cloud Core).

Configura una conexión de base de datos

Looker (Google Cloud Core) debe estar conectado a una base de datos para habilitar la exploración de datos. Consulta la lista de dialectos compatibles para saber qué dialectos admite Looker (Google Cloud Core).

Puedes crear una conexión de base de datos en una instancia de Looker (Google Cloud Core) si tienes uno de los siguientes permisos:

Puedes seguir la guía Configura Looker que aparece de forma dinámica en la instancia de Looker (Google Cloud Core) para conectar tu base de datos, o bien seguir los pasos que se indican en las páginas de documentación específicas de cada dialecto. La mayoría de los parámetros de configuración son comunes en la mayoría de los dialectos de bases de datos. Consulta la página de documentación Cómo conectar Looker a tu base de datos para obtener información sobre los campos comunes en la ventana de configuración de la conexión de Looker.

Existen pasos adicionales si deseas configurar tu conexión de Looker (Google Cloud Core) con cualquiera de las siguientes opciones:

Cómo usar las credenciales predeterminadas de la aplicación para conectarse a una base de datos de BigQuery

Las instancias de Looker (Google Cloud Core) pueden usar las credenciales predeterminadas de la aplicación (ADC) para autenticarse cuando configuras una conexión a una base de datos de SQL estándar de BigQuery. Cuando uses ADC, la conexión se autenticará en la base de datos con las credenciales de la cuenta de servicio del proyecto de Looker (núcleo de Google Cloud).

Para usar las ADC con una base de datos de BigQuery, selecciona Credenciales predeterminadas de la aplicación en el campo Autenticación de la página Configuración de conexión de la instancia de Looker. Para conocer el procedimiento completo, consulta la documentación sobre cómo conectar Looker a una base de datos de BigQuery.

Si tu instancia de Looker (Google Cloud Core) usa tablas derivadas persistentes con un conjunto de datos de BigQuery, también debes otorgarle a la cuenta de servicio de Looker el rol de IAM de editor de datos de BigQuery.

Si te conectas a una base de datos de BigQuery que se encuentra en un proyecto diferente al de tu instancia de Looker (Google Cloud Core), se requiere una configuración adicional. Consulta la sección Cómo usar credenciales predeterminadas de la aplicación con una base de datos de BigQuery en un proyecto de Google Cloud diferente.

Uso de identidad temporal como cuenta de servicio

Si deseas autenticarte en la base de datos de BigQuery con una cuenta de servicio que no sea la del proyecto de Looker (Google Cloud Core), puedes crear un flujo de solicitud delegado ingresando otra cuenta de servicio o una cadena de cuentas de servicio separadas por comas en el campo Cuenta de servicio de robo de identidad. La cuenta de servicio de Looker (Google Cloud Core) se usa automáticamente como la primera cuenta de servicio de la cadena y no es necesario agregarla al campo. La última cuenta de servicio de la cadena (también conocida como la cuenta de servicio que se usará) es la que se autentica con la base de datos.

Cuando uses la identidad de otra cuenta de servicio, haz lo siguiente:

Cómo usar las credenciales predeterminadas de la aplicación con una base de datos de BigQuery en un proyecto diferente de Google Cloud

Los pasos para usar ADC para una base de datos de SQL estándar de BigQuery que está fuera del proyecto que aloja tu instancia de Looker (Google Cloud Core) son los mismos que los de configurar una conexión dentro del mismo proyecto. Sin embargo, antes de configurar la conexión en tu instancia de Looker (Google Cloud Core), la cuenta de servicio de tu proyecto de Looker (Google Cloud Core) debe tener los siguientes roles de IAM:

Si la cuenta de servicio de Looker (Google Cloud Core) aún no tiene roles de IAM en el proyecto que contiene el conjunto de datos de BigQuery, usa la dirección de correo electrónico de la cuenta de servicio cuando otorgues roles en ese proyecto. Para encontrar la dirección de correo electrónico de la cuenta de servicio, ve a la página IAM en la consola de Google Cloud y selecciona la casilla de verificación Incluir asignaciones de roles proporcionadas por Google. El correo electrónico tendrá el formato service-<project number>@gcp-sa-looker.iam.gserviceaccount.com. Usa ese correo electrónico para otorgar los roles adecuados a la cuenta de servicio.

Una vez que se otorguen los roles adecuados, sigue los pasos para usar ADC.

Ahora puedes usar ADC con esta base de datos de SQL estándar de BigQuery. El proyecto adjunto a la cuenta de servicio que se especifica en la página Configuración de conexión se usará para la facturación y también actuará como el proyecto predeterminado.

Cómo usar las credenciales predeterminadas de la aplicación para conectarse a una base de datos de Cloud SQL

Las instancias de Looker (Google Cloud Core) pueden usar ADC para autenticar una conexión a una base de datos de Cloud SQL (Cloud SQL para PostgreSQL o Cloud SQL para MySQL). Cuando usas ADC para autenticarte en tu base de datos de Cloud SQL, el proyecto de Google Cloud en el que se ejecuta la base de datos de Cloud SQL es el que se factura por las consultas de Looker.

En el caso de las conexiones de Looker a Cloud SQL que usan ADC, este roba la identidad de una cuenta de servicio o una cadena de cuentas de servicio para acceder a tu base de datos. Cuando creas la conexión de Looker a tu base de datos, usas el campo Nombres de usuario de la base de datos de IAM para especificar la cuenta de servicio o la cadena de cuentas de servicio que ADC usurpará. La cuenta de servicio de Looker que se creó automáticamente cuando creaste la instancia de Looker (Google Cloud Core) se usa automáticamente como la primera cuenta de servicio de la cadena y no es necesario agregarla al campo.

Si deseas autenticarte en tu base de datos de Cloud SQL con una cuenta de servicio que no sea la cuenta de servicio de Looker, puedes crear un flujo de solicitud delegado ingresando otra cuenta de servicio, o una cadena de cuentas de servicio separadas por comas, en el campo Nombres de usuario de la base de datos de IAM.

La última cuenta de servicio de la cadena (también conocida como la cuenta de servicio que se usa para suplantar la identidad) es la que se autentica con la base de datos y se debe agregar como usuario a tu base de datos de Cloud SQL. Si usas la cuenta de servicio de Looker como la última cuenta de servicio de la cadena (dejar el campo Nombres de usuario de la base de datos de IAM en blanco), debes agregar la cuenta de servicio de Looker como un usuario en tu base de datos de Cloud SQL.

A continuación, se indican los pasos generales para conectar una base de datos de Cloud SQL para PostgreSQL o Cloud SQL para MySQL a Looker con ADC:

  1. Agrega la cuenta de servicio suplantada a tu base de datos de Cloud SQL.
  2. Configura el robo de identidad de la cuenta de servicio en tu base de datos de Cloud SQL.
  3. Conéctate a tu base de datos para ejecutar comandos de configuración adicionales para Cloud SQL para PostgreSQL o Cloud SQL para MySQL.
  4. Crea la conexión de Looker a tu base de datos.

Agrega la cuenta de servicio suplantada a tu base de datos de Cloud SQL

Cuando creas la conexión de Looker a tu base de datos, usas el campo Nombres de usuario de la base de datos de IAM para especificar la cuenta de servicio o la cadena de cuentas de servicio que ADC robará la identidad para realizar acciones en tu base de datos. La última cuenta de servicio de la cadena de robo de identidad se considera la cuenta de servicio con la que se robó la identidad.

Para usar ADC con Cloud SQL, debes agregar la cuenta de servicio con identidad simulada a tu base de datos de Cloud SQL:

  • En el caso predeterminado, si dejas el campo Nombres de usuario de la base de datos de IAM en blanco, el ADC suplantará la identidad de la cuenta de servicio de Looker. En este caso, la cuenta de servicio de Looker es la cuenta de servicio suplantada, por lo que debes agregarla a tu base de datos de Cloud SQL. Consulta la página de documentación Crea una instancia de Looker (Google Cloud core) para obtener información sobre la cuenta de servicio de Looker y el procedimiento para ver la dirección de correo electrónico de la cuenta de servicio de Looker.
  • Si especificas una cuenta de servicio que no sea la cuenta de servicio de Looker o si especificas una cadena de cuentas de servicio en el campo Nombres de usuario de la base de datos de IAM, debes agregar la última cuenta de servicio de la cadena de suplantación de identidad a tu base de datos de Cloud SQL.

Para agregar una cuenta de servicio a tu base de datos de Cloud SQL, debes tener el rol de IAM de Administrador de Cloud SQL.

Sigue el procedimiento "Agrega un usuario o una cuenta de servicio de IAM a tu instancia de base de datos" para tu dialecto de base de datos para agregar la cuenta de servicio suplantada a tu base de datos de Cloud SQL:

Configura el robo de identidad de la cuenta de servicio en tu base de datos de Cloud SQL

Una vez que hayas creado el usuario de Cloud SQL en tu base de datos, debes configurarla para la suplantación de identidad del servicio. Para ello, sigue estos pasos:

  1. Sigue el procedimiento para habilitar la API de Cloud SQL Admin.
  2. Asegúrate de que todas las cuentas de servicio de la cadena, incluida la cuenta de servicio de Looker, tengan los permisos de IAM adecuados.
  3. Sigue el procedimiento para otorgar un solo rol en la consola de Google Cloud . Otorga los siguientes roles de Cloud SQL a la cuenta de servicio suplantada que agregaste a tu base de datos de Cloud SQL:

    Si especificas una cuenta de servicio que no sea la cuenta de servicio de Looker, o si especificas una cadena de cuentas de servicio en el campo Nombres de usuario de la base de datos de IAM, otorga a cada cuenta de servicio de la cadena el siguiente permiso:

Comandos de configuración adicionales para Cloud SQL para MySQL

En el caso de Cloud SQL para MySQL, debes conectarte a tu instancia de base de datos y ejecutar el siguiente comando en la base de datos de Cloud SQL para MySQL:

GRANT ALL on DATABASE_NAME.* to 'DATABASE_USER'@'%'

Reemplaza lo siguiente:

  • DATABASE_NAME: Es el nombre de tu base de datos.
  • DATABASE_USER: Es el nombre de usuario truncado de la cuenta de servicio suplantada que agregaste a tu base de datos de Cloud SQL. La cuenta de servicio tendrá el formato service-<project number>@gcp-sa-looker.iam.gserviceaccount.com. Para truncar el nombre de usuario, quita @ y todo lo que lo sigue. Después de truncarlo, el nombre de usuario se vería como service-<project number>.

Por ejemplo, si el nombre de usuario de la cuenta de servicio es service-12345678901@gcp-sa-looker.iam.gserviceaccount.com y el nombre de la base de datos es looker-test, el comando sería el siguiente:

GRANT ALL on looker-test.* to 'service-12345678901'@'%'

Comandos de configuración adicionales para Cloud SQL para PostgreSQL

En el caso de Cloud SQL para PostgreSQL, debes conectarte a tu instancia de base de datos y ejecutar algunos comandos de configuración en la base de datos de Cloud SQL para PostgreSQL:

  • Otorga los permisos de usuario en tu base de datos como se describe en la sección Usuarios y seguridad de la página de documentación de PostgreSQL.
  • Establece la ruta de búsqueda que usará Looker SQL Runner para recuperar metadatos de tu base de datos, como se describe en la sección Configuración de search_path de la página de PostgreSQL de la documentación de Looker.

Crea la conexión de Looker (Google Cloud Core) a tu base de datos de Cloud SQL

Para crear la conexión de Looker a tu base de datos, sigue estos pasos:

  1. En la sección Administrador de Looker, selecciona Conexiones y, luego, haz clic en Agregar conexión.
  2. En el menú desplegable Dialecto, selecciona Google Cloud PostgreSQL o, para Cloud SQL para MySQL, selecciona Google Cloud SQL.
  3. En la sección Autenticación, haz clic en la opción Credenciales predeterminadas de la aplicación.
  4. En el campo Nombres de usuario de la base de datos de IAM, especifica la cuenta de servicio o la cadena de cuentas de servicio que deseas que ADC robé la identidad para realizar acciones en tu base de datos:

  5. Completa el resto de los detalles de la conexión. La mayoría de los parámetros de configuración son comunes en la mayoría de los dialectos de bases de datos. Consulta la página de documentación Cómo conectar Looker a tu base de datos para obtener información.

  6. Para verificar que la conexión se haya establecido correctamente, haz clic en Probar. Consulta la página de documentación Cómo probar la conectividad de la base de datos para obtener información sobre la solución de problemas.

  7. Para guardar esta configuración, haz clic en Conectar.

Una vez que se configure una conexión de base de datos, estará todo listo para configurar un proyecto de LookML.

Configura la autenticación de OAuth con BigQuery

Para las conexiones a una base de datos de BigQuery en una instancia de Looker (Google Cloud Core), cuando seleccionas la opción de autenticación OAuth, Looker puede usar automáticamente las credenciales de la aplicación de OAuth que usó tu administrador de Looker cuando creó la instancia de Looker (Google Cloud Core).

Si quieres ingresar manualmente diferentes credenciales de OAuth para esta conexión, habilita el botón de activación Configurar manualmente las credenciales de OAuth y, luego, completa los campos ID de cliente de OAuth y Secreto de cliente de OAuth. Si ingresas credenciales de OAuth de forma manual, no se cambiarán ni actualizarán las credenciales que se usaron cuando se creó la instancia de Looker (Google Cloud Core).

Dialectos compatibles con Looker (Google Cloud Core)

En la siguiente tabla, se muestra la compatibilidad de Looker (Google Cloud Core) con los dialectos de bases de datos:

Dialecto ¿Es compatible?
Actian Avalanche
No
Amazon Athena
Amazon Aurora MySQL
Amazon Redshift
Apache Druid
No
Apache Druid 0.13+
No
Apache Druid 0.18+
Apache Hive 2.3+
No
Apache Hive 3.1.2+
Apache Spark 3+
ClickHouse
Cloudera Impala 3.1+
Cloudera Impala 3.1+ with Native Driver
No
Cloudera Impala with Native Driver
No
DataVirtuality
No
Databricks
Denodo 7
No
Denodo 8
Dremio
No
Dremio 11+
Exasol
No
Firebolt
No
Google BigQuery Legacy SQL
No
Google BigQuery Standard SQL
Google Cloud PostgreSQL
Google Cloud SQL
Google Spanner
Greenplum
No
HyperSQL
No
IBM Netezza
MariaDB
Microsoft Azure PostgreSQL
Microsoft Azure SQL Database
Microsoft Azure Synapse Analytics
Microsoft SQL Server 2008+
No
Microsoft SQL Server 2012+
No
Microsoft SQL Server 2016
No
Microsoft SQL Server 2017+
MongoBI
No
MySQL
No
MySQL 8.0.12+
Oracle
Oracle ADWC
No
PostgreSQL 9.5+
PostgreSQL pre-9.5
No
PrestoDB
PrestoSQL
SAP HANA 2+
SingleStore
No
SingleStore 7+
Snowflake
Teradata
Trino
Vector
No
Vertica

Instrucciones para la configuración de la base de datos

Hay instrucciones disponibles para estos dialectos de SQL:

¿Qué sigue?