Saltar al contenido principal

SnowFlake

En esta sección se explica paso a paso cómo conectar una base de datos SQL Snowflake en GESCON. Al finalizar, los agentes de tu organización podrán configurarse con las tablas que hayas configurado en esta fuente. La estructura de este manual sigue el estilo de la documentación oficial de GESCON, con pasos numerados y consejos prácticos.

Acceder a la sección de datos

  1. Inicia sesión en GESCON con tu usuario de administrador.
  2. En el menú lateral izquierdo, selecciona Administrar → Configuración y asegúrate de que estás en la pestaña Datos. Aquí se muestran, entre otros, las bases de datos SQL conectadas y las opciones para añadir nuevas fuentes.

Añadir una nueva base de datos SQL alojada en Snowflake

  1. Haz clic en el botón Añadir fuente (esquina superior derecha) y, en el menú desplegable, selecciona Base de datos.
  2. Se abrirá el asistente Crear base de datos SQL. En la sección Configuración:
    • En tipo de base de datos, selecciona Snowflake de la lista de motores disponibles.
    • Completa el Nombre con un título descriptivo (por ejemplo, Snowflake de la empresa).
    • (Opcional) Añade una Descripción para aclarar qué tipo de información contiene la base de datos.
  3. Haz clic en Siguiente para continuar.
Consejo sobre identificación de fuentes

Utiliza un nombre y una descripción que te permitan identificar fácilmente la fuente cuando haya varias conexiones de datos.

Establecer parámetros de conexión

  1. En la pestaña Conexión, rellena los campos particulares de la conexión a Snowflake.
    • Host del servidor: Se corresponde con el Account/Server URL que aparece en los detalles de la cuenta de Snowflake. Imagen de cuenta de Snowflake
    • (Opcional) Puerto del servidor: en caso que el servicio esté expuesto en un puerto diferente al 443.
    • Usuario de la base de datos: nombre del usuario que se usará para la conexión. Recomendamos crear un usuario en Snowflake identificativo de GESCON a través del cual se harán todas las consultas. Es importante que este usuario disponga de los roles con los permisos mínimos requeridos para consultar los datos a los que se quiere dar acceso.
    • Nombre de la base de datos: nombre de la base de datos en la que residen las tablas a consultar. Imagen de bases de datos en Snowflake
    • Esquema, Almacén y Rol: parámetros extra por si se quiere limitar más la conexión a Snowflake.
  2. La parte de autenticación soporta dos métodos: contraseña y OAuth.
    • La contraseña debe ser la correspondiente al usuario introducido anteriormente.
    • Para OAuth, se detallan los pasos en la siguiente subsección
  3. Haz clic en Crear para probar la conexión y registrarla en GESCON.

Autorización con OAuth

Para establecer una conexión mediante OAuth al servidor de Snowflake, hay que configurar un cliente de integración primero en el mismo (https://www.snowflake.com/en/blog/using-oauth-2-0-with-snowflake/). Para ello, un usuario con los permisos correspondientes debe crearla con un comando similar a

CREATE SECURITY INTEGRATION gescon_integration
TYPE='OAUTH'
OAUTH_CLIENT= 'CUSTOM'
OAUTH_REDIRECT_URI='https://gescon.nurialabs.com/oauth/connections/callback'
OAUTH_CLIENT_TYPE='CONFIDENTIAL'
ENABLED=true;

Es importante que el valor de OAUTH_REDIRECT_URI sea el indicado en el script (https://gescon.nurialabs.com/oauth/connections/callback). El nombre gescon_integration puede ser cambiado por otro a elección propia.

Una vez creada, se puede consultar con el nombre introducido (en el caso de mostrado sería gescon_integration):

DESC SECURITY INTEGRATION gescon_integration;

Esto mostrará una serie de valores en una tabla que se deberán copiar en el formulario de OAuth.

Imagen integración Snowflake

Revisión de roles bloqueados

Hay que asegurarse que el rol indicado en la configuración no esté en BLOCKED_ROLES_LIST ya que el servidor no dejaría autenticar al usuario.

Los valores de OAUTH_CLIENT_ID, OAUTH_AUTHORIZATION_ENDPOINT y OAUTH_AUTHORIZATION_ENDPOINT pueden introducirse directamente en el formulario de autenticación de la conexión en GESCON.

Para el Client secret hay que realizar una consulta adicional con el nombre en mayúsculas de la integración

SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('GESCON_INTEGRATION');

Esta consulta devuelve un JSON con OAUTH_CLIENT_SECRET y OAUTH_CLIENT_ID (que deberá coincidir con el anterior). Una vez copiado el valor de OAUTH_CLIENT_SECRET, se puede introducir en el formulario de GESCON.

Imagen parámetros Snowflake

Consulta del Client Secret

Una vez guardada la conexión, el valor del Client secret no puede ser visualizado desde GESCON. Al editarlo se tiene que introducir el valor directamente, los introducidos anteriormente no serán mostrados.

Una vez rellenado, se puede hacer click en Conectar con OAuth para iniciar el proceso de autorización. Este abrirá una ventana emergente en la que se mostrará el inicio de sesión para el usuario configurado en Snowflake que quiera ser usado para la conexión. De esta forma, GESCON recibirá un token de acceso y podrá realizar consultas en nombre de dicho usuario sin almacenar su contraseña.

Imagen OAuth Snowflake

Imagen conexión exitosa Snowflake

Solución de problemas

Si surge algún inconveniente durante la conexión a Snowflake:

  • Itera sobre los parámetros: empieza con la mínima configuración y ves añadiendo parámetros para identificar cuáles pueden estar causando el problema.
  • No aparece la ventana emergente: asegúrate que el navegador que estás usando tiene habilitadas las ventanas emergentes para GESCON.

Próximos pasos

Tras establecer la conexión al servidor en Snowflake, puedes:

  • Configurar otra conexión del mismo tipo pero apuntando a otra base de datos.
  • Añadir más fuentes de datos (SharePoint, bases de datos con otros motores, APIs) para enriquecer la base de conocimiento.
  • Configurar agentes que tengan a disposición esta nueva conexión SQL para la consulta interactiva de datos.