Guía de conexión a Snowflake para Jitterbit App Builder
Introducción
Esta guía muestra cómo conectar una app de App Builder a una cuenta de Snowflake usando OAuth o autenticación basada en certificados.
Autenticación OAuth
Requisitos previos
- Una cuenta activa de Snowflake, configurada para OAuth.
1. Configurar un proveedor de seguridad
-
Selecciona IDE > Security Providers.
-
Haz clic en el botón + Security Provider.
-
Establece valores para los siguientes campos:
-
En la sección Settings:
- Name: Ingresa un nombre para el proveedor de seguridad.
- Type: Selecciona OAuth.
- Enabled: Seleccionado.
-
En la sección Authentication:
- OAuth Grant: Selecciona Authorization Code.
- OAuth Client Authentication: Selecciona Basic.
- OAuth Resource Authentication: Selecciona Bearer.
-
En la sección Tokens:
- Owner: Selecciona User.
-
En la sección Sign In:
- Redirect On Challenge: Seleccionado.
-
-
Haz clic en el botón Save. Aparecen paneles adicionales.
-
En la sección Endpoints, haz clic en el botón + Endpoint y luego añade los siguientes endpoints:
Tipo de endpoint URL Authorization Endpoint https://{Snowflake account URL}/oauth/authorizeToken Endpoint https://{Snowflake account URL}/oauth/token-request -
En la sección Credentials, haz clic en el botón + Credential y luego añade la siguiente credencial:
Tipo Nombre de usuario Contraseña Client OAUTH_CLIENT_IDOAUTH_CLIENT_SECRETNota
OAUTH_CLIENT_IDyOAUTH_CLIENT_SECRETson outputs del comandoSYSTEM$SHOW_OAUTH_CLIENT_SECRETS. -
En la sección Properties, haz clic en + Property y luego añade la siguiente propiedad:
Parámetro Valor Scopes session:role:SYSADMIN
2. Configurar un servidor de datos
- Selecciona IDE > Data Servers.
- Haz clic en el botón + Server.
-
En la ventana emergente Server, establece valores para lo siguiente:
-
En la sección Server Settings:
- Server Name: Ingresa un nombre para este servidor de Snowflake.
- Type: Selecciona Snowflake. Aparecen campos adicionales. Establece valores para lo siguiente:
- URL: La URL.
- Warehouse: El nombre de tu warehouse de Snowflake.
- Database Name: El nombre de tu base de datos de Snowflake.
- Schema Name: El nombre de tu schema de Snowflake.
-
En la sección Security:
- Security Provider: Selecciona el proveedor de seguridad OAuth creado anteriormente.
- User Name: Deja en blanco.
- Password: Deja en blanco.
-
Description: (Opcional) Ingresa una descripción para este servidor de datos.
-
-
Haz clic en el botón Save.
- En la sección Server Settings, haz clic en el botón Advanced Settings. Se abre la ventana emergente Server (Advanced Settings).
- Haz clic en el botón Edit.
- En el campo Advanced, ingresa
AuthScheme=OAuth. - Haz clic en el botón Save y luego cierra las ventanas emergentes Server (Advanced Settings) y Server.
Ahora puedes usar el servidor de datos en tus apps.
Autenticación basada en certificados
La autenticación basada en certificados usa un par de claves RSA. La clave pública se registra con la cuenta de usuario de Snowflake y App Builder usa el archivo de clave privada para autenticarse.
Requisitos previos
- Una cuenta activa de Snowflake.
- Un par de claves RSA generado. Consulta Generate the private key en la documentación de Snowflake para obtener instrucciones. El archivo de clave privada (
.p8) debe estar en el sistema de archivos del servidor de App Builder y ser legible por el proceso de App Builder.
1. Configura Snowflake
Ejecuta los siguientes comandos SQL en Snowflake como usuario con el rol ACCOUNTADMIN.
-
Crea un usuario de Snowflake con la clave pública asignada:
CREATE USER {username} LOGIN_NAME = {username} DISPLAY_NAME = 'App Builder (Key Auth)' -- The public key must be a single, continuous string. -- Do not include the '-----BEGIN PUBLIC KEY-----' or '-----END PUBLIC KEY-----' header lines. RSA_PUBLIC_KEY = '{public_key_content}'; -
Otorga el rol requerido al usuario:
GRANT ROLE {role_name} TO USER {username}; -
Otorga el uso de la base de datos y esquema al rol:
GRANT USAGE ON DATABASE {database_name} TO ROLE {role_name}; GRANT USAGE ON SCHEMA {database_name}.{schema_name} TO ROLE {role_name}; -
Establece el contexto predeterminado para el usuario:
ALTER USER {username} SET DEFAULT_ROLE = {role_name}, DEFAULT_WAREHOUSE = '{warehouse_name}', DEFAULT_NAMESPACE = '{database_name}.{schema_name}';
2. Configura un servidor de datos
- Selecciona IDE > Data Servers.
- Haz clic en el botón + Server.
-
En la ventana emergente Server, establece valores para lo siguiente:
-
En la sección Server Settings:
- Server Name: Ingresa un nombre para este servidor de Snowflake.
- Type: Selecciona Snowflake. Aparecen campos adicionales. Establece valores para lo siguiente:
- URL: La URL.
- Warehouse: El nombre de tu almacén de Snowflake.
- Database Name: El nombre de tu base de datos de Snowflake.
- Schema Name: El nombre de tu esquema de Snowflake.
-
En la sección Security:
- Security Provider: Déjalo en blanco.
- User Name: Ingresa el nombre de usuario de Snowflake creado en el paso 1.
- Password: Déjalo en blanco.
-
Description: (Opcional) Ingresa una descripción para este servidor de datos.
-
-
Haz clic en el botón Save.
- En la sección Server Settings, haz clic en el botón Advanced Settings. Se abre la ventana emergente Server (Advanced Settings).
- Haz clic en el botón Edit.
-
En el campo Advanced, ingresa la siguiente cadena de conexión, reemplazando
{path_to_private_key_file}con la ruta absoluta al archivo de clave privada.p8en el servidor de App Builder:AuthScheme=PrivateKey;PrivateKeyType=PEMKEY_FILE;PrivateKey={path_to_private_key_file} -
Haz clic en el botón Save, luego cierra las ventanas emergentes Server (Advanced Settings) y Server.
Ahora puedes usar el servidor de datos en tus aplicaciones.
Solución de problemas
Si experimentas problemas con Snowflake, se recomiendan estos pasos para la solución de problemas:
-
Activa el registro de datos para generar archivos de registro y datos, que puedes descargar e inspeccionar.
-
Consulta la documentación de CData ADO.NET Provider for Snowflake para obtener información detallada.