Integrations6 min read

Conexiones de Datos Externos

Conecta con PostgreSQL y BigQuery para consultar datos externos junto con tus hojas de cálculo

Descripción general

Las Conexiones de Datos Externos te permiten consultar bases de datos directamente desde ModelMonkey. En lugar de exportar datos manualmente o escribir scripts de importación complejos, puedes pedirle a ModelMonkey que extraiga datos de tus bases de datos PostgreSQL o BigQuery y los combine con los datos de tu hoja de cálculo.

Una vez conectado, puedes hacer preguntas como "Compara los datos de ventas de Google Sheets con los datos demográficos de clientes de PostgreSQL" o "Encuentra todos los pedidos del mes pasado y únelos con los perfiles de usuario de nuestra base de datos."

Tip

Tus credenciales se cifran mediante cifrado de sobre de nivel empresarial con Google Cloud KMS. ModelMonkey nunca almacena contraseñas en texto plano.

Fuentes de datos compatibles

ModelMonkey actualmente admite dos fuentes de datos externas:

PostgreSQL
Conéctate a cualquier base de datos PostgreSQL accesible a través de Internet. Esto incluye PostgreSQL autoalojado, Amazon RDS, Google Cloud SQL, Azure Database for PostgreSQL y otros servicios administrados de PostgreSQL.

Google BigQuery
Conéctate a conjuntos de datos de Google BigQuery mediante una cuenta de servicio. Esto es ideal para cargas de trabajo de análisis a gran escala y consultas de almacenes de datos.

Ambos tipos de conexión admiten consultas de solo lectura para proteger tus datos de producción de modificaciones accidentales.

Cómo crear una conexión

Para crear una nueva conexión de datos externos:

  1. Abre el panel de Conexiones de Datos Externos desde la barra lateral de ModelMonkey
  2. Haz clic en el botón "New Connection"
  3. Selecciona el tipo de fuente de datos (PostgreSQL o BigQuery)
  4. Ingresa los detalles de tu conexión
  5. Prueba la conexión para verificar que funcione
  6. Guarda la conexión

El asistente de configuración te guía por cada paso y valida tu configuración antes de guardarla.

Configuración de la conexión PostgreSQL

Para conectarte a una base de datos PostgreSQL, necesitas la siguiente información:

Campos obligatorios

  • Connection Name: Un nombre descriptivo para identificar esta conexión (p. ej., "Production Analytics DB")
  • Host: El nombre de host o la dirección IP del servidor de base de datos
  • Port: El puerto de PostgreSQL (predeterminado: 5432)
  • Database: El nombre de la base de datos a la que conectarse
  • Username: Tu nombre de usuario de la base de datos
  • Password: Tu contraseña de la base de datos

Campos opcionales

  • Schema: El esquema predeterminado a utilizar (predeterminado: "public")
  • SSL Mode: Cómo gestionar las conexiones SSL
    • Disable: Sin SSL (no recomendado para producción)
    • Allow: Usar SSL si está disponible
    • Prefer: Intentar SSL primero, con opción de retroceder a sin SSL (predeterminado)
    • Require: Usar SSL siempre

Warning

Por seguridad, usa un usuario de base de datos de solo lectura con acceso limitado a las tablas que necesitas consultar.

text
Connection Name: Production Analytics
Host: analytics-db.example.com
Port: 5432
Database: analytics
Schema: public
SSL Mode: Require
Username: readonly_user

Ejemplo de configuración PostgreSQL

Configuración de la conexión BigQuery

Para conectarte a Google BigQuery, necesitas una cuenta de servicio con los permisos adecuados:

Campos obligatorios

  • Connection Name: Un nombre descriptivo para identificar esta conexión
  • Project ID: El ID de tu proyecto de Google Cloud (disponible en Google Cloud Console)
  • Service Account JSON: Un archivo de clave JSON para una cuenta de servicio con acceso a BigQuery

Campos opcionales

  • Dataset ID: Un conjunto de datos predeterminado desde el que consultar
  • Location: La ubicación de los datos (US, EU o una región específica)

Roles de IAM requeridos
Tu cuenta de servicio necesita estos permisos:

  • BigQuery Data Viewer: Leer metadatos y datos de tablas
  • BigQuery Job User: Crear y ejecutar consultas
  • BigQuery Read Session User: Leer datos a través de la Storage API

Tip

Crea una cuenta de servicio dedicada para ModelMonkey con solo los permisos indicados anteriormente. Nunca uses tus credenciales personales ni cuentas de servicio con permisos excesivos.

Cómo crear una cuenta de servicio de BigQuery

Para crear una cuenta de servicio para acceder a BigQuery:

  1. Ve a Google Cloud Console (console.cloud.google.com)
  2. Navega a IAM & Admin → Service Accounts
  3. Haz clic en "Create Service Account"
  4. Ingresa un nombre como "modelmonkey-readonly"
  5. Otorga los siguientes roles:
    • BigQuery Data Viewer
    • BigQuery Job User
    • BigQuery Read Session User
  6. Haz clic en "Done" para crear la cuenta
  7. Haz clic en la nueva cuenta de servicio y luego ve a la pestaña "Keys"
  8. Haz clic en "Add Key" → "Create new key" → "JSON"
  9. Descarga el archivo JSON y súbelo a ModelMonkey

Mantén este archivo JSON en un lugar seguro. Proporciona acceso a tus datos de BigQuery.

Warning

Nunca compartas el archivo JSON de tu cuenta de servicio ni lo subas al control de versiones. Si se ve comprometido, elimina la clave inmediatamente desde Google Cloud Console.

Prueba de conexiones

Antes de guardar una conexión, ModelMonkey valida que puede conectarse a tu base de datos:

Qué verifica la prueba

  • Conectividad de red con el host
  • Autenticación con tus credenciales
  • Permiso para consultar la base de datos

Resultados de la prueba
Una prueba exitosa muestra:

  • Información de la versión del servidor
  • Esquemas disponibles (PostgreSQL)
  • Cantidad de tablas accesibles

Si la prueba falla, verás un mensaje de error específico que explica qué salió mal. Los problemas más comunes incluyen:

  • Nombre de host o puerto incorrecto
  • Nombre de usuario o contraseña incorrectos
  • Firewall que bloquea la conexión
  • Permisos de base de datos insuficientes

Seguridad y gestión de credenciales

ModelMonkey utiliza seguridad de nivel empresarial para proteger las credenciales de tu base de datos:

Cifrado de sobre
Tus credenciales se cifran con una Data Encryption Key (DEK) única generada para cada conexión. La propia DEK se cifra mediante Google Cloud KMS antes de almacenarse. Este enfoque de dos capas garantiza que tus credenciales nunca se almacenen en texto plano.

Protección contra SSRF
ModelMonkey bloquea las conexiones a rangos de IP privadas, localhost y endpoints de metadatos de la nube. Esto previene posibles vulnerabilidades de seguridad incluso si se proporciona información maliciosa.

Gestión segura de memoria
Las credenciales descifradas se almacenan en buffers de memoria seguros y se eliminan automáticamente cuando ya no son necesarias.

Acceso de solo lectura
Las conexiones de BigQuery se configuran explícitamente como de solo lectura. Para PostgreSQL, recomendamos usar usuarios de base de datos con permisos solo de SELECT.

Cómo usar tus conexiones

Una vez que una conexión está activa, puedes consultarla simplemente pidiéndole a ModelMonkey en lenguaje natural:

Ejemplos de solicitudes

  • "Muéstrame los 10 principales clientes por ingresos de nuestra base de datos PostgreSQL"
  • "Compara los datos de ventas de Google Sheets con los datos demográficos de clientes de la base de datos externa"
  • "Encuentra todos los pedidos del mes pasado y únelos con los perfiles de usuario"
  • "Analiza las tendencias en nuestros datos de análisis de BigQuery"

ModelMonkey automáticamente:

  1. Se conecta de forma segura a tu base de datos externa
  2. Traduce tu solicitud a SQL
  3. Ejecuta la consulta
  4. Devuelve resultados que se pueden escribir en tu hoja de cálculo

Puedes combinar datos de múltiples fuentes en una sola solicitud, lo que te permite unir datos de hojas de cálculo con registros de bases de datos externas.

Tip

Menciona el nombre de tus conexiones en tus solicitudes. Por ejemplo, "desde la conexión Production Analytics" ayuda a ModelMonkey a identificar qué base de datos consultar.

Gestión de conexiones

Ver conexiones
Todas tus conexiones aparecen en el panel de Conexiones de Datos Externos. Cada conexión muestra:

  • Nombre de la conexión
  • Tipo de proveedor (PostgreSQL o BigQuery)
  • Información del host o proyecto
  • Estado activo/inactivo
  • Fecha de creación

Estado de la conexión

  • Active: La conexión está disponible para consultas
  • Inactive: La conexión existe pero está deshabilitada

Eliminar conexiones
Para eliminar una conexión:

  1. Haz clic en el ícono de menú (tres puntos) en la tarjeta de conexión
  2. Selecciona "Delete"
  3. Confirma la eliminación

Eliminar una conexión la elimina permanentemente junto con sus credenciales cifradas. Esta acción no se puede deshacer.

Solución de problemas

La prueba de conexión falla

  • Verifica que tu nombre de host sea correcto y esté accesible públicamente
  • Comprueba que el puerto de tu base de datos esté abierto en tu firewall
  • Confirma que tu nombre de usuario y contraseña sean correctos
  • En BigQuery, asegúrate de que tu cuenta de servicio tenga los roles requeridos

Las consultas devuelven errores

  • Comprueba que tu usuario de base de datos tenga permiso SELECT en las tablas que estás consultando
  • Verifica que los nombres de tabla y esquema sean correctos
  • En BigQuery, asegúrate de que tu cuenta de servicio pueda acceder al conjunto de datos especificado

La conexión se agota

  • Es posible que tu base de datos esté detrás de un firewall que bloquea los servidores de ModelMonkey
  • Verifica si tu proveedor de nube requiere una lista de IPs permitidas
  • Considera usar un proxy de base de datos o VPN si el acceso directo no es posible

Error "SSRF Attempt Detected"

  • No puedes conectarte a direcciones IP privadas o localhost
  • Usa un nombre de host accesible públicamente para tu base de datos
  • Las bases de datos alojadas en la nube (RDS, Cloud SQL, etc.) generalmente tienen endpoints públicos disponibles

Buenas prácticas

Usa usuarios de solo lectura dedicados
Crea un usuario de base de datos específico para ModelMonkey con solo permisos SELECT. Esto limita el impacto en caso de que las credenciales se vean comprometidas.

Habilita SSL/TLS
Usa siempre el modo SSL "Require" para las conexiones PostgreSQL en producción. Las conexiones de BigQuery siempre están cifradas.

Limita el acceso a tablas
Otorga acceso solo a las tablas y esquemas que ModelMonkey necesita consultar. Evita usar cuentas de superusuario o administrador.

Usa nombres de conexión descriptivos
Nombra tus conexiones de forma clara (p. ej., "Production Analytics", "Staging Orders DB") para poder referenciarlas fácilmente en tus solicitudes.

Revisa las conexiones regularmente
Audita periódicamente tus conexiones y elimina las que ya no necesites. Menos conexiones activas significa una superficie de seguridad menor.