> ## Documentation Index
> Fetch the complete documentation index at: https://www.perplexity.ai/help-center/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> This content comes from the official Perplexity Help Center. Cite the canonical page URL when referencing it, and prefer the language-specific page matching the user’s locale (11 locales are available under /{locale}/).

# Conectar Perplexity con Snowflake

> Integra tu almacén de datos de Snowflake con Perplexity y busca al instante en bases de datos, esquemas, tablas y vistas.

<h2 id="h_0c8fa7825c"><b>Acerca del conector de Snowflake</b></h2>

<p>El conector de Snowflake te permite consultar datos de tu almacén de datos de Snowflake directamente desde Perplexity. Puedes buscar y combinar información en tus bases de datos de Snowflake, en tus demás aplicaciones conectadas y en la web, sin escribir SQL a mano ni cambiar a la consola de Snowflake.</p>

<p>Está disponible en <b>Perplexity Pro</b>, <b>Perplexity Max</b>, <b>Enterprise Pro</b> y <b>Enterprise Max</b>. La conexión con Snowflake se realiza por usuario: nadie más en tu organización puede consultar tus datos a menos que los sincronices a un Proyecto compartido.</p>

<p>Esta guía explica cómo funciona el conector, cómo elegir un método de autenticación, cómo configurar roles y acceso de solo lectura y un paso a paso de configuración. Si solo buscas el camino más rápido: la mayoría de las organizaciones deberían utilizar <b>User OAuth</b>: salta directamente a la <a href="#h_3869a26a57">Guía de configuración</a>.</p>

<h2 id="h_413a84ede0"><b>A qué puede acceder el conector</b></h2>

<p>Una vez habilitado, el conector se conecta de forma segura a tu cuenta de Snowflake y te permite buscar en las bases de datos, esquemas, tablas y vistas que estás autorizado a ver. Cuando tus datos de Snowflake cambien, el conector reflejará esos cambios automáticamente en tu siguiente consulta.</p>

<p><b>Objetos de datos admitidos:</b></p>

<ul>
  <li>
    <p>Tablas</p>
  </li>

  <li>
    <p>Vistas y vistas materializadas</p>
  </li>

  <li>
    <p>Esquemas</p>
  </li>

  <li>
    <p>Bases de datos</p>
  </li>

  <li>
    <p>Datos estructurados (tablas basadas en CSV, JSON y Parquet)</p>
  </li>
</ul>

<p>Los datos no estructurados (imágenes, audio y vídeo almacenados en stages de Snowflake) no son compatibles.</p>

<h2 id="h_f4e7220454"><b>Elegir un método de autenticación</b></h2>

<p>La autenticación de Snowflake tiene dos dimensiones independientes: <b>quién</b> ejecuta las consultas (la identidad) y <b>cómo</b> esa identidad demuestra que lo es (la credencial). Perplexity ofrece dos conectores en el directorio, cada uno con una combinación recomendada:</p>

<ul>
  <li>
    <p><b>Snowflake (User OAuth)</b>: cada usuario de Perplexity inicia sesión con su propia cuenta de Snowflake (<code>TYPE = PERSON</code>) mediante OAuth. <b>Recomendado para la mayoría de las organizaciones.</b></p>
  </li>

  <li>
    <p><b>Snowflake</b>: todos los usuarios de Perplexity consultan a través de una única cuenta de servicio compartida (<code>TYPE = SERVICE</code>) utilizando un par de claves. Úsalo cuando tus usuarios finales no tengan cuentas individuales de Snowflake.</p>
  </li>
</ul>

<h3 id="h_cf48856584">Recomendado: User OAuth</h3>

<p>Con User OAuth, cada persona se autentica con sus propias credenciales, las consultas se ejecutan bajo sus permisos nativos de Snowflake y obtienes una pista de auditoría clara por usuario, sin cuenta de servicio compartida ni necesidad de recrear tu control de acceso basado en roles (RBAC) dentro de Perplexity. Esto también coincide con la propia dirección de Snowflake: su servidor MCP gestionado <a href="https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-oauth-snowflake" rel="nofollow noopener noreferrer" target="_blank">solo admite OAuth 2.0</a> hoy en día.</p>

<p><b>Nota:</b> con OAuth, el token de acceso se vincula a un único rol principal en el inicio de sesión: el <code>DEFAULT\_ROLE</code> del usuario. Para asegurarte de que los usuarios puedan acceder a todo lo que se les ha concedido, configura roles secundarios (consulta <a href="#h_7bfeb78df3">Configuración de roles con User OAuth</a>).</p>

<h3 id="h_20223e5f12">Alternativa: cuenta de servicio (par de claves)</h3>

<p>Una cuenta de servicio compartida (<code>TYPE = SERVICE</code> + par de claves) es apropiada cuando:</p>

<ul>
  <li>
    <p>Tus usuarios finales no tienen cuentas individuales de Snowflake (por ejemplo, usuarios de negocio que consultan a través de Perplexity pero no tienen acceso directo a Snowflake).</p>
  </li>

  <li>
    <p>Quieres que todas las consultas de Perplexity se ejecuten bajo una única identidad compartida para simplificar la auditoría.</p>
  </li>

  <li>
    <p>Estás configurando un entorno interno o de prueba en el que no se requiere identidad por usuario.</p>
  </li>
</ul>

<p>Configura la cuenta de servicio con un rol dedicado y de alcance estrecho: consulta <a href="#h_f2f1d899c8">Configuración de roles con cuenta de servicio</a>.</p>

<p><b>Nota sobre los tokens de acceso programático (PAT):</b> Snowflake también admite credenciales PAT y el conector los acepta. <b>No</b> recomendamos PAT para configuraciones nuevas: los tokens caducan en un plazo corto y se vinculan estrictamente a un único rol en el momento de la creación, por lo que en los ejemplos de esta guía usamos un par de claves. Si tienes que usar un PAT, establece <code>ROLE\_RESTRICTION</code> a tu rol dedicado de Perplexity en el momento de la creación.</p>

<h2 id="h_ebd6383c07"><b>Configurar roles y acceso</b></h2>

<h3 id="h_7bfeb78df3">Configuración de roles con User OAuth</h3>

<p>Una sesión OAuth se abre con el <code>DEFAULT\_ROLE</code> del usuario como rol principal; no se admite el cambio de rol dentro de una sesión y Perplexity no muestra un selector de roles. Por lo tanto, lo que cada usuario tenga configurado como <code>DEFAULT\_ROLE</code> y <code>DEFAULT\_SECONDARY\_ROLES</code> es exactamente lo que utiliza su sesión de Perplexity.</p>

<p><b>Configura esto una vez, a nivel de la integración de seguridad:</b></p>

<pre>OAUTH\_USE\_SECONDARY\_ROLES = IMPLICIT</pre>

<p>El <a href="https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-oauth-snowflake" rel="nofollow noopener noreferrer" target="_blank">valor predeterminado de este parámetro en Snowflake es NONE</a>, lo que significa que las sesiones OAuth se abren solo con el rol principal activo. Establecerlo en <code>IMPLICIT</code> le indica a Snowflake que active también automáticamente los <code>DEFAULT\_SECONDARY\_ROLES</code> de cada usuario. Sin esto, los usuarios solo verán los datos accesibles a través de su <code>DEFAULT\_ROLE</code>, algo que rara vez es lo deseado.</p>

<p><b>Después gestiona uno de estos dos casos:</b></p>

<p><b>Caso A: los usuarios ya tienen roles predeterminados.</b> Si el <code>DEFAULT\_ROLE</code> y los <code>DEFAULT\_SECONDARY\_ROLES</code> de tus usuarios ya están configurados como deseas, no hagas nada más. El ajuste <code>IMPLICIT</code> es suficiente: los valores predeterminados existentes de cada usuario son lo que utilizará su sesión de Perplexity.</p>

<p><b>Caso B: los usuarios aún no tienen roles predeterminados.</b> Dale a cada sesión la unión de todos los roles concedidos a ese usuario estableciendo <code>DEFAULT\_ROLE</code> en <code>PUBLIC</code> y <code>DEFAULT\_SECONDARY\_ROLES</code> en <code>ALL</code>:</p>

<pre>ALTER USER \<username> SET DEFAULT\_ROLE = PUBLIC, DEFAULT\_SECONDARY\_ROLES = ('ALL');</pre>

<p><b>Nota:</b> desde el cambio de Snowflake de agosto de 2024, <code>DEFAULT\_SECONDARY\_ROLES = ('ALL')</code> es el valor predeterminado para los usuarios recién creados, por lo que muchas organizaciones ya lo tienen configurado. Ejecuta <code>DESC USER \<username></code> para comprobarlo antes de cambiar nada.</p>

<h3 id="h_f2f1d899c8">Configuración de roles con cuenta de servicio</h3>

<p>Una cuenta de servicio es un único usuario dedicado que se ejecuta bajo un rol específico, normalmente <code>PERPLEXITY\_ROLE</code>. El patrón <code>PUBLIC</code> + <code>('ALL')</code> utilizado para OAuth <b>no</b> se aplica aquí. En su lugar, establece el <code>DEFAULT\_ROLE</code> del usuario de servicio en tu rol dedicado y concede a ese rol solo los privilegios que Perplexity necesita. Esto sigue las <a href="https://docs.snowflake.com/en/user-guide/admin-user-management" rel="nofollow noopener noreferrer" target="_blank">buenas prácticas de Snowflake para cuentas de servicio</a>.</p>

<p>El SQL completo para crear este usuario está en la <a href="#h_3869a26a57">Guía de configuración</a> más abajo.</p>

<h3 id="h_46daf6b16a">(Opcional) Restringir qué roles se pueden usar mediante OAuth</h3>

<p>Para limitar en qué roles de Snowflake pueden autenticarse los usuarios a través de la integración OAuth de Perplexity, establece el alcance a nivel de la integración de seguridad:</p>

<ul>
  <li>
    <p><code>PRE\_AUTHORIZED\_ROLES\_LIST</code>: lista de permitidos con los roles autorizados a través de esta integración.</p>
  </li>

  <li>
    <p><code>BLOCKED\_ROLES\_LIST</code>: lista de denegados con los roles bloqueados de esta integración.</p>
  </li>
</ul>

<pre>ALTER SECURITY INTEGRATION PERPLEXITY\_OAUTH<br />  SET PRE\_AUTHORIZED\_ROLES\_LIST = ('ANALYST\_ROLE', 'READ\_ONLY\_ROLE');</pre>

<p>Úsalo para mantener los roles sensibles (por ejemplo, <code>ACCOUNTADMIN</code>) totalmente fuera del flujo OAuth.</p>

<h2 id="h_25a0019527"><b>Controlar lo que Perplexity puede hacer</b></h2>

<p>El conector ejecuta SQL a través de una superficie de herramientas (procedente del <a href="https://docs.merge.dev/merge-agent-handler/connectors/snowflake" rel="nofollow noopener noreferrer" target="_blank">conector de Merge para Snowflake</a>). El conector <b>Snowflake (User OAuth)</b> expone herramientas con nombre y granulares, incluida una herramienta dedicada de consulta de solo lectura (<code>execute\_sql\_readonly</code>) que solo acepta <code>SELECT</code>, <code>WITH</code>, <code>SHOW</code>, <code>DESCRIBE</code>, <code>EXPLAIN</code>, <code>VALUES</code> y <code>LIST</code>, y rechaza DDL/DML y las entradas con múltiples sentencias. El conector <b>Snowflake</b> de cuenta de servicio expone una herramienta general <code>execute\_sql</code> que acepta SQL arbitrario, incluidos DDL y DML.</p>

<p><b>El control autorizado es el RBAC de Snowflake.</b> Independientemente de la herramienta que se invoque, las consultas se ejecutan bajo el rol que tu configuración permita, por lo que aplicar el modo de solo lectura a nivel del rol de Snowflake es el respaldo fiable, y es la única frontera de aplicación en el conector de cuenta de servicio.</p>

<p><b>Patrón recomendado: aplicar solo lectura con un rol dedicado.</b> Aprovisiona un rol como <code>PERPLEXITY\_READ\_ONLY</code> que conceda solo <code>USAGE</code> y <code>SELECT</code> en las bases de datos, esquemas y tablas que quieras que Perplexity consulte, y <b>no</b> conceda <code>INSERT</code>, <code>UPDATE</code>, <code>DELETE</code>, <code>CREATE</code>, <code>DROP</code>, <code>OWNERSHIP</code> ni <code>MODIFY</code> del warehouse. Luego asegúrate de que los usuarios se autentican en ese rol:</p>

<ul>
  <li>
    <p>Estableciéndolo como el <code>DEFAULT\_ROLE</code> del usuario, o</p>
  </li>

  <li>
    <p>Delimitando la integración OAuth con <code>PRE\_AUTHORIZED\_ROLES\_LIST</code> o excluyendo los roles con capacidad de escritura con <code>BLOCKED\_ROLES\_LIST</code> (consulta <a href="#h_46daf6b16a">Restringir qué roles se pueden usar mediante OAuth</a>).</p>
  </li>
</ul>

<p>Con el RBAC configurado de esta forma, Snowflake rechaza cualquier intento de escritura de Perplexity, independientemente de la herramienta invocada.</p>

<p><b>Nota:</b> los ajustes del conector incluyen un panel de <b>Permisos de herramientas</b> con las herramientas disponibles. En el conector <b>Snowflake (User OAuth)</b> puedes acotar qué herramientas se exponen: para una configuración de solo lectura, habilita solo las herramientas de lectura (por ejemplo <code>execute\_sql\_readonly</code>, <code>list\_\*</code>, <code>describe\_\*</code>, <code>get\_\*</code>) para dejar las herramientas de escritura/DDL fuera de la superficie. Trátalo como defensa en profundidad, no como la frontera autoritativa: el RBAC de Snowflake (arriba) es lo que aplica de forma fiable el acceso.</p>

<h2 id="h_402f8e5787"><b>Privacidad y seguridad de los datos</b></h2>

<p>Cuando está conectado, el conector de Snowflake puede realizar las siguientes acciones en tu nombre:</p>

<ul>
  <li>
    <p>Ejecutar consultas SQL sobre tus datos de Snowflake.</p>
  </li>

  <li>
    <p>Consultar Cortex Search y Cortex Analyst.</p>
  </li>

  <li>
    <p>Ejecutar UDFs y procedimientos almacenados personalizados.</p>
  </li>
</ul>

<p>Si revocas el acceso o eliminas un rol en Snowflake, esos datos dejan de ser accesibles desde Perplexity de inmediato. Si desconectas Snowflake en Perplexity, puedes elegir si conservar o eliminar los datos en caché.</p>

<h3 id="h_a87844a636">Seguridad y control de nivel empresarial</h3>

<p>Para organizaciones Enterprise, Perplexity ofrece la certificación SOC 2 Tipo II, cifrado de extremo a extremo, estrictas medidas de privacidad de datos y controles granulares de acceso de usuarios. Tus datos de Snowflake nunca se utilizan para entrenar la IA.</p>

<p>La conexión con Snowflake se realiza por usuario: nadie más en tu organización puede consultar tus datos. Sin embargo, si sincronizas datos con un Proyecto compartido, cualquier persona con acceso a ese Proyecto podrá buscar en ellos.</p>

<p>Los administradores de la organización pueden habilitar o deshabilitar el conector para todos los usuarios desde la pantalla de <a href="https://www.perplexity.ai/account/org/permissions" rel="nofollow noopener noreferrer" target="_blank">Permisos</a> en la configuración de la organización. La aplicación de lectura/escritura se gestiona a nivel del rol de Snowflake (consulta <a href="#h_25a0019527">Controlar lo que Perplexity puede hacer</a>).</p>

<h2 id="h_8504daf7ee"><b>Guía de configuración</b></h2>

<p>Elige el camino que se ajuste a tu método de autenticación:</p>

<ul>
  <li>
    <p><b>User OAuth (recomendado):</b> un administrador de la organización configura la aplicación OAuth una vez y, a continuación, los usuarios inician sesión individualmente. Salta directamente a <a href="#h_3869a26a57">Conectar Snowflake a Perplexity</a>: el SQL de los pasos 1 a 6 es solo para configuraciones con cuenta de servicio.</p>
  </li>

  <li>
    <p><b>Cuenta de servicio (par de claves):</b> ejecuta la configuración SQL de los pasos 1 a 6 y conecta en el paso 7.</p>
  </li>
</ul>

<h3 id="h_7179d70510">Requisitos previos</h3>

<ul>
  <li>
    <p>Rol <code>ACCOUNTADMIN</code> (o un rol con privilegios de <code>CREATE USER</code> y <code>GRANT</code>).</p>
  </li>

  <li>
    <p>OpenSSL instalado localmente (viene preinstalado en macOS): solo para configuraciones con cuenta de servicio.</p>
  </li>
</ul>

<h3 id="h_a2bf34bded">Paso 1: generar un par de claves (cuenta de servicio)</h3>

<p>Desde tu terminal, genera una clave privada RSA:</p>

<pre>openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out snowflake\_computer\_key.p8 -nocrypt</pre>

<p>A continuación, genera la clave pública correspondiente:</p>

<pre>openssl rsa -in snowflake\_computer\_key.p8 -pubout -out snowflake\_computer\_key.pub</pre>

<h3 id="h_9d71789587">Paso 2: crear un rol y un warehouse</h3>

<pre>USE ROLE ACCOUNTADMIN;<br /><br />-- Create a dedicated role<br />CREATE ROLE IF NOT EXISTS PERPLEXITY\_ROLE<br />  COMMENT = 'Role for Perplexity service account';<br /><br />-- Create a warehouse (or use an existing one)<br />CREATE WAREHOUSE IF NOT EXISTS PERPLEXITY\_WAREHOUSE<br />  WAREHOUSE\_SIZE = 'XSMALL'<br />  AUTO\_SUSPEND = 60<br />  AUTO\_RESUME = TRUE<br />  COMMENT = 'Warehouse for Perplexity queries';<br /><br />-- Grant warehouse usage to the role<br />GRANT USAGE ON WAREHOUSE PERPLEXITY\_WAREHOUSE TO ROLE PERPLEXITY\_ROLE;</pre>

<h3 id="h_247b26ea99">Paso 3: crear el usuario de cuenta de servicio</h3>

<p>Ejecuta esto como <code>ACCOUNTADMIN</code>. Sustituye el valor <code>RSA\_PUBLIC\_KEY</code> por el contenido de tu archivo <code>snowflake\_computer\_key.pub</code> (sin las líneas de encabezado y pie).</p>

<pre>USE ROLE ACCOUNTADMIN;<br /><br />CREATE USER PERPLEXITY\_USER<br />  TYPE = SERVICE<br />  DEFAULT\_ROLE = PERPLEXITY\_ROLE<br />  DEFAULT\_WAREHOUSE = PERPLEXITY\_WAREHOUSE<br />  COMMENT = 'Service account for Perplexity'<br />  RSA\_PUBLIC\_KEY = 'MIIBIjANBgkqhki...your\_public\_key\_here...IDAQAB';<br /><br />-- Grant the dedicated role to the service account<br />GRANT ROLE PERPLEXITY\_ROLE TO USER PERPLEXITY\_USER;</pre>

<p><b>Nota:</b> <code>TYPE = SERVICE</code> marca esta cuenta como no humana: no establezcas una contraseña. <code>DEFAULT\_ROLE = PERPLEXITY\_ROLE</code> la delimita a un rol dedicado con solo los privilegios que Perplexity necesita.</p>

<h3 id="h_706c1a111a">Paso 4: conceder acceso a tus datos</h3>

<pre>-- Grant access to a specific database<br />GRANT USAGE ON DATABASE MY\_DATABASE TO ROLE PERPLEXITY\_ROLE;<br /><br />-- Grant access to all schemas in a database (current and future)<br />GRANT USAGE ON ALL SCHEMAS IN DATABASE MY\_DATABASE TO ROLE PERPLEXITY\_ROLE;<br />GRANT USAGE ON FUTURE SCHEMAS IN DATABASE MY\_DATABASE TO ROLE PERPLEXITY\_ROLE;<br /><br />-- Grant read access to all tables and views (current and future)<br />GRANT SELECT ON ALL TABLES IN DATABASE MY\_DATABASE TO ROLE PERPLEXITY\_ROLE;<br />GRANT SELECT ON FUTURE TABLES IN DATABASE MY\_DATABASE TO ROLE PERPLEXITY\_ROLE;<br />GRANT SELECT ON ALL VIEWS IN DATABASE MY\_DATABASE TO ROLE PERPLEXITY\_ROLE;<br />GRANT SELECT ON FUTURE VIEWS IN DATABASE MY\_DATABASE TO ROLE PERPLEXITY\_ROLE;</pre>

<p>Para un acceso más selectivo, consulta la <a href="https://docs.snowflake.com/en/sql-reference/sql/grant-privilege" rel="nofollow noopener noreferrer" target="_blank">documentación de GRANT de Snowflake</a>.</p>

<h3 id="h_72cacd4df6">Paso 5: conceder acceso al historial de consultas y al historial de accesos</h3>

<p>Perplexity utiliza dos vistas en el esquema <code>SNOWFLAKE.ACCOUNT\_USAGE</code> para construir un Mapa de datos que permite generar consultas con precisión:</p>

<table>
  <tbody>
    <tr>
      <td>
        <p><b>Vista</b></p>
      </td>

      <td>
        <p><b>Propósito</b></p>
      </td>
    </tr>

    <tr>
      <td>
        <p><code>QUERY\_HISTORY</code></p>
      </td>

      <td>
        <p>Metadatos de consulta, rendimiento y patrones de uso</p>
      </td>
    </tr>

    <tr>
      <td>
        <p><code>ACCESS\_HISTORY</code></p>
      </td>

      <td>
        <p>Pista de auditoría a nivel de objeto (solo Enterprise Edition)</p>
      </td>
    </tr>
  </tbody>
</table>

<pre>USE ROLE ACCOUNTADMIN;<br />GRANT IMPORTED PRIVILEGES ON DATABASE SNOWFLAKE TO ROLE PERPLEXITY\_ROLE;</pre>

<p><b>Nota:</b> <code>ACCESS\_HISTORY</code> solo está disponible en Snowflake Enterprise Edition o superior; Perplexity recurre automáticamente a <code>QUERY\_HISTORY</code> en Standard Edition. Omitir este paso reduce la precisión de las consultas. Para saber cómo Perplexity usa estas vistas, consulta <a href="/help-center/help-center/es/articles/14017067-entender-el-mapa-de-datos">Entender el Mapa de datos</a>.</p>

<h4 id="h_eb7d8277c1">Verificar el acceso</h4>

<pre>USE ROLE ACCOUNTADMIN;<br />GRANT ROLE PERPLEXITY\_ROLE TO USER \<your\_username>;<br />USE ROLE PERPLEXITY\_ROLE;<br />USE WAREHOUSE PERPLEXITY\_WAREHOUSE;<br />SELECT \* FROM SNOWFLAKE.ACCOUNT\_USAGE.QUERY\_HISTORY LIMIT 5;<br />SELECT \* FROM SNOWFLAKE.ACCOUNT\_USAGE.ACCESS\_HISTORY LIMIT 5;</pre>

<h3 id="h_734ba70af3">Paso 6: (Opcional) añadir a la lista de permitidos las direcciones IP</h3>

<p>Si tu cuenta de Snowflake restringe las conexiones entrantes por IP, añade a la lista de permitidos las IP de <a href="https://help.ah.merge.dev/articles/8124222873-merge-tenant-ip-addresses?lang=en#us-tenant" rel="nofollow noopener noreferrer" target="_blank">esta página</a>:</p>

<pre>USE ROLE ACCOUNTADMIN;<br />CREATE NETWORK POLICY PERPLEXITY\_COMPUTER\_POLICY<br />  ALLOWED\_IP\_LIST = (...US IPs from the link above...);<br />ALTER USER PERPLEXITY\_USER SET NETWORK\_POLICY = PERPLEXITY\_COMPUTER\_POLICY;</pre>

<h3 id="h_3869a26a57">Paso 7: conectar Snowflake a Perplexity</h3>

<h4 id="h_762aceb84a">Para User OAuth: primero la configuración del administrador</h4>

<p>Si tu organización utiliza OAuth, un administrador de la organización configura el conector <b>Snowflake (User OAuth)</b> una vez antes de que los usuarios individuales puedan autenticarse. En <b>Configuración de la organización → Conectores → Snowflake (User OAuth)</b>, el administrador ve un panel de tres pasos:</p>

<Steps>
  <Step>
    <p><b>Gestionar la aplicación OAuth</b>: registra Perplexity como cliente OAuth frente a tu cuenta de Snowflake. Esto te guía en la creación de una <code>SECURITY INTEGRATION</code> personalizada en Snowflake y en pegar el Client ID y el Client Secret resultantes de vuelta en Perplexity.</p>
  </Step>

  <Step>
    <p><b>Autenticar con Snowflake (User OAuth)</b>: el administrador se autentica una vez para verificar que la integración funciona de extremo a extremo.</p>
  </Step>

  <Step>
    <p><b>Generar un mapa de datos (opcional)</b>: genera opcionalmente un mapa de datos para la organización (consulta <a href="/help-center/help-center/es/articles/14017067-entender-el-mapa-de-datos">Entender el Mapa de datos</a>) y añade contexto complementario para mejorar la precisión.</p>
  </Step>
</Steps>

<p>En el paso 1, crea la integración de seguridad en el lado de Snowflake. Ejecuta esto como <code>ACCOUNTADMIN</code>:</p>

<pre>USE ROLE ACCOUNTADMIN;<br />CREATE SECURITY INTEGRATION PERPLEXITY\_OAUTH<br />  TYPE = OAUTH<br />  ENABLED = TRUE<br />  OAUTH\_CLIENT = CUSTOM<br />  OAUTH\_CLIENT\_TYPE = 'CONFIDENTIAL'<br />  OAUTH\_REDIRECT\_URI = '[https://ah.merge.dev/oauth/callback](https://ah.merge.dev/oauth/callback)'<br />  OAUTH\_ISSUE\_REFRESH\_TOKENS = TRUE<br />  OAUTH\_REFRESH\_TOKEN\_VALIDITY = 7776000<br />  OAUTH\_USE\_SECONDARY\_ROLES = IMPLICIT<br />  COMMENT = 'OAuth security integration for Perplexity';</pre>

<p>Recupera el Client ID y el Client Secret para pegarlos de vuelta en Perplexity:</p>

<pre>SELECT SYSTEM\$SHOW\_OAUTH\_CLIENT\_SECRETS('PERPLEXITY\_OAUTH');</pre>

<p>Una vez completada la configuración por parte del administrador, los usuarios individuales pueden conectarse siguiendo los pasos siguientes.</p>

<h4 id="h_usrconn01">Conectar (todos los usuarios)</h4>

<p>Los usuarios solo verán el método de autenticación correspondiente al conector que su administrador haya configurado.</p>

<Steps>
  <Step>
    <p>Ve a <b>Conectores</b> en la configuración y busca el conector <b>Snowflake</b> o <b>Snowflake (User OAuth)</b>.</p>
  </Step>

  <Step>
    <p>Haz clic en <b>Habilitar → Añadir conector</b>.</p>
  </Step>

  <Step>
    <p>Autentícate con el método configurado (consulta a continuación).</p>
  </Step>

  <Step>
    <p>Haz clic en <b>Permitir</b> para completar la configuración.</p>
  </Step>
</Steps>

<p><b>Autenticación con par de claves (conector Snowflake).</b> Introduce el identificador de cuenta de Snowflake, el nombre de usuario y la clave privada (<code>snowflake\_computer\_key.p8</code>).</p>

<p><b>OAuth (conector Snowflake (User OAuth)).</b> Se te redirigirá a Snowflake para iniciar sesión. No hay selector de rol: tu sesión usa tu <code>DEFAULT\_ROLE</code> como rol principal, con tus <code>DEFAULT\_SECONDARY\_ROLES</code> activados mediante <code>OAUTH\_USE\_SECONDARY\_ROLES = IMPLICIT</code>. Si tus roles predeterminados ya están configurados, no hace falta ninguna acción.</p>

<p>Si a tu sesión le faltan datos que esperabas ver, pide a tu administrador de Snowflake que verifique tu <code>DEFAULT\_ROLE</code> y tus <code>DEFAULT\_SECONDARY\_ROLES</code> (consulta <a href="#h_7bfeb78df3">Configuración de roles con User OAuth</a>).</p>

<h2 id="h_05bb5e8747"><b>Usar tus datos de Snowflake</b></h2>

<p>Una vez conectado, referencia tus datos de Snowflake en tareas de <a href="/help-center/help-center/es/articles/13901210-computer-para-enterprise">Computer</a>. Menciona bases de datos, esquemas o tablas y Perplexity las consultará como parte de flujos de trabajo de varios pasos, todo de forma asíncrona en un entorno aislado seguro en la nube. Prueba consultas como:</p>

<ul>
  <li>
    <p>"Resume las tendencias de ingresos de la tabla de ventas del Q4 y destaca las métricas clave"</p>
  </li>

  <li>
    <p>"Encuentra todos los registros de clientes actualizados en los últimos 30 días"</p>
  </li>

  <li>
    <p>"¿Cuáles son los productos con mejor rendimiento según el esquema de analítica?"</p>
  </li>

  <li>
    <p>"Compara los datos del pipeline de este trimestre con las cifras del trimestre anterior"</p>
  </li>
</ul>

<h2 id="h_c0fb703098"><b>Solución de problemas</b></h2>

<h3 id="h_2840ddf954">Snowflake no está habilitado para tu organización</h3>

<p>Si estás en una organización Enterprise y no puedes habilitar el conector, es posible que un administrador lo haya deshabilitado. Ponte en contacto con el administrador de tu organización o con el soporte de Perplexity.</p>

<h3 id="h_09afd7a7fe">Problemas de conexión y autenticación</h3>

<ul>
  <li>
    <p>Verifica que las direcciones IP de Perplexity estén en la lista de permitidos de tu política de red de Snowflake.</p>
  </li>

  <li>
    <p>Confirma que el rol tiene privilegios <code>USAGE</code> en los warehouses, bases de datos y esquemas necesarios.</p>
  </li>

  <li>
    <p>Pide a los usuarios que vuelvan a conectar el conector tras cualquier cambio de política.</p>
  </li>
</ul>

<h4 id="h_a9c7f15779">Error "Invalid private key"</h4>

<p>Asegúrate de estar pegando la clave privada (<code>snowflake\_computer\_key.p8</code>), no la pública. El archivo debe empezar por <code>-----BEGIN PRIVATE KEY-----</code>.</p>

<h4 id="h_d1c7afcb9a">Autenticación rechazada por la política de autenticación actual</h4>

<p>Ejecuta <code>SHOW AUTHENTICATION POLICIES</code> como <code>ACCOUNTADMIN</code> y asegúrate de que <code>PERPLEXITY\_USER</code> está cubierto por una política que incluya <code>KEYPAIR</code>. Si es necesario:</p>

<pre>CREATE AUTHENTICATION POLICY PERPLEXITY\_AUTH\_POLICY<br />  AUTHENTICATION\_METHODS = ('KEYPAIR')<br />  CLIENT\_TYPES = ('DRIVERS');<br />ALTER USER PERPLEXITY\_USER SET AUTHENTICATION POLICY PERPLEXITY\_AUTH\_POLICY;</pre>

<h4 id="h_e30f28057c">OAuth: el usuario ve datos limitados después de conectar</h4>

<p>La sesión OAuth utiliza el <code>DEFAULT\_ROLE</code> del usuario como rol principal, con los roles secundarios activados mediante <code>OAUTH\_USE\_SECONDARY\_ROLES = IMPLICIT</code>. Si a un usuario le falta el acceso esperado:</p>

<ul>
  <li>
    <p>Confirma que la integración de seguridad tiene <code>OAUTH\_USE\_SECONDARY\_ROLES = IMPLICIT</code>.</p>
  </li>

  <li>
    <p>Ejecuta <code>DESC USER \<username></code> y comprueba <code>DEFAULT\_ROLE</code> y <code>DEFAULT\_SECONDARY\_ROLES</code>: la sesión utiliza exactamente lo que allí se haya configurado.</p>
  </li>

  <li>
    <p>Si el usuario no tiene configuración de roles individualizada y quieres que acceda a todo lo que se le ha concedido, establece <code>DEFAULT\_ROLE = PUBLIC</code> y <code>DEFAULT\_SECONDARY\_ROLES = ('ALL')</code>.</p>
  </li>

  <li>
    <p>Pídele que desconecte y vuelva a conectar el conector para emitir un token nuevo después de cambiar cualquiera de estos ajustes.</p>
  </li>
</ul>

<h4 id="h_da9c991cd6">La vista ACCESS\_HISTORY devuelve un error</h4>

<p>Confirma que tu cuenta de Snowflake es Enterprise Edition o superior.</p>

<h4 id="h_449413017e">Privilegios insuficientes en las vistas ACCOUNT\_USAGE</h4>

<p>Verifica que se haya ejecutado <code>GRANT IMPORTED PRIVILEGES</code> como <code>ACCOUNTADMIN</code> y que <code>PERPLEXITY\_ROLE</code> esté concedido al usuario.</p>

<h4 id="h_f23e5d1e8f">La autenticación con par de claves falla</h4>

<p>Vuelve a ejecutar <code>DESC USER PERPLEXITY\_USER</code> para confirmar que la huella digital de la clave pública está rellena.</p>

<p>Si los problemas persisten después de actualizar estos ajustes, ponte en contacto con el soporte de Perplexity para obtener ayuda.</p>
