> ## 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}/).

# 将 Perplexity 与 Snowflake 连接

> 将您的 Snowflake 数据仓库与 Perplexity 集成，实现跨数据库、模式、表和视图的即时搜索

<h2 id="h_0c8fa7825c"><b>关于 Snowflake 连接器</b></h2>

<p>Snowflake 连接器让您可以直接在 Perplexity 中查询 Snowflake 数据仓库中的数据。您可以跨 Snowflake 数据库、其他已连接的应用以及网页搜索并整合信息——无需手动编写 SQL，也无需切换到 Snowflake 控制台。</p>

<p>可在以下平台使用 <b>Perplexity Pro</b>、<b>Perplexity Max</b>、<b>Enterprise Pro</b>，以及 <b>Enterprise Max</b>。连接 Snowflake 是按用户进行的——除非你将数据同步到共享项目，否则组织中的其他任何人都无法查询你的数据。</p>

<p>本指南介绍该连接器的工作方式、如何选择身份验证方法、如何配置角色和只读访问，以及分步设置流程。如果你只想走最快路径：大多数组织应使用 <b>用户 OAuth</b> — 跳转到 <a href="#h_3869a26a57">设置指南</a>。</p>

<h2 id="h_413a84ede0"><b>连接器可以访问的内容</b></h2>

<p>启用后，连接器会安全地连接到你的 Snowflake 账户，并允许你搜索你有权查看的数据库、模式、表和视图。当你的 Snowflake 数据发生变化时，连接器会在你下次查询时自动反映这些变化。</p>

<p><b>支持的数据对象：</b></p>

<ul>
  <li>
    <p>表格</p>
  </li>

  <li>
    <p>视图和物化视图</p>
  </li>

  <li>
    <p>模式</p>
  </li>

  <li>
    <p>数据库</p>
  </li>

  <li>
    <p>结构化数据（由 CSV、JSON 和 Parquet 支持的表格）</p>
  </li>
</ul>

<p>不支持非结构化数据（存储在 Snowflake stage 中的图片、音频和视频）。</p>

<h2 id="h_f4e7220454"><b>选择身份验证方式</b></h2>

<p>Snowflake 身份验证有两个独立维度： <b>谁</b> 查询以（身份）运行，并 <b>如何</b> 该身份通过凭据进行验证。Perplexity 在目录中提供了两个连接器，每个都对应一组推荐的组合：</p>

<ul>
  <li>
    <p><b>Snowflake（用户 OAuth）</b> — 每位 Perplexity 用户都使用各自的 Snowflake 账户登录（<code>TYPE = PERSON</code>）通过 OAuth。 <b>适用于大多数组织。</b></p>
  </li>

  <li>
    <p><b>Snowflake</b> — 所有 Perplexity 用户都通过一个共享服务帐户进行查询（<code>TYPE = SERVICE</code>）使用密钥对。对于没有各自 Snowflake 账户的终端用户，请使用此方式。</p>
  </li>
</ul>

<h3 id="h_cf48856584">推荐：用户 OAuth</h3>

<p>使用用户 OAuth 后，每个人都会使用自己的凭据进行身份验证，查询会在其原生 Snowflake 权限下运行，并且你可以获得清晰的按用户审计轨迹——无需共享服务账号，也无需在 Perplexity 中重新创建你的基于角色的访问控制（RBAC）。这也与 Snowflake 自身的方向一致：其托管 MCP server <a href="https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-oauth-snowflake" rel="nofollow noopener noreferrer" target="_blank">仅支持 OAuth 2.0</a>。</p>

<p><b>“注意：”</b> 使用 OAuth 时，访问令牌在登录时会绑定到一个主角色——用户的 <code>DEFAULT\_ROLE</code>。为确保用户能够访问其已获授权的所有内容，请配置次要角色（参见 <a href="#h_7bfeb78df3">用户 OAuth 角色配置</a>）。</p>

<h3 id="h_20223e5f12">备用方案：服务账户（密钥对）</h3>

<p>共享服务账户（<code>TYPE = SERVICE</code> + 键对）适用于以下情况：</p>

<ul>
  <li>
    <p>你的终端用户没有各自的 Snowflake 账户（例如，通过 Perplexity 进行查询但没有直接 Snowflake 访问权限的企业用户）。</p>
  </li>

  <li>
    <p>您希望所有 Perplexity 查询都以单一共享身份运行，以便更轻松地进行审计。</p>
  </li>

  <li>
    <p>您正在设置内部或测试环境，在此环境中不需要按用户身份进行识别。</p>
  </li>
</ul>

<p>使用专用的、范围受限的角色配置服务账户——请参见 <a href="#h_f2f1d899c8">服务账号角色配置</a>。</p>

<p><b>关于程序访问令牌（PAT）的说明：</b> Snowflake 也支持 PAT 凭据，并且连接器可以接受这些凭据。我们 <b>不</b> 为新配置推荐使用 PAT —— 令牌会按较短周期过期，并且在创建时就硬绑定到单一角色，因此本指南中的所有示例都使用密钥对。如果必须使用 PAT，请设置 <code>ROLE\_RESTRICTION</code> 在创建时分配给您的专属 Perplexity 角色。</p>

<h2 id="h_ebd6383c07"><b>配置角色和访问权限</b></h2>

<h3 id="h_7bfeb78df3">用户 OAuth 角色配置</h3>

<p>OAuth 会话以用户的…开始 <code>DEFAULT\_ROLE</code> 作为主要角色；当前会话内不支持切换角色，且 Perplexity 不会显示角色选择器。因此，无论每位用户已设置了什么 <code>DEFAULT\_ROLE</code> 和 <code>DEFAULT\_SECONDARY\_ROLES</code> 正是他们的 Perplexity 会话所使用的内容。</p>

<p><b>在安全集成级别一次性设置此项：</b></p>

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

<p>Snowflake 的 <a href="https://docs.snowflake.com/en/sql-reference/sql/create-security-integration-oauth-snowflake" rel="nofollow noopener noreferrer" target="_blank">该参数的默认值为 NONE</a>，这意味着 OAuth 会话仅使用主角色处于激活状态。将其设置为 <code>IMPLICIT</code> 会通知 Snowflake 也为每位用户启用其 <code>DEFAULT\_SECONDARY\_ROLES</code> 自动地。没有它，用户只能看到通过他们的 <code>DEFAULT\_ROLE</code> — 这很少是你想要的。</p>

<p><b>然后处理以下两种情况之一：</b></p>

<p><b>情况 A — 用户已经有角色默认设置。</b> 如果你的用户的 <code>DEFAULT\_ROLE</code> 和 <code>DEFAULT\_SECONDARY\_ROLES</code> 如果已经按你的要求设置好了，就无需再做任何操作。<code>IMPLICIT</code> 只需进行设置——每位用户现有的默认设置就是其 Perplexity 会话所使用的设置。</p>

<p><b>情况 B — 用户尚未设置角色默认值。</b> 通过设置，为每个会话授予该用户所有已授予角色的并集 <code>DEFAULT\_ROLE</code> 至 <code>PUBLIC</code> 和 <code>DEFAULT\_SECONDARY\_ROLES</code> 至 <code>ALL</code>：</p>

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

<p><b>“注意：”</b> 自 Snowflake 于 2024 年 8 月的变更以来， <code>DEFAULT\_SECONDARY\_ROLES = ('ALL')</code> 是新创建用户的默认设置，因此许多组织已经将其设为此项。运行 <code>DESC USER \<username></code> 在更改任何内容之前先检查。</p>

<h3 id="h_f2f1d899c8">服务账号角色配置</h3>

<p>服务账号是一个专用用户，运行在某个特定角色下——通常 <code>PERPLEXITY\_ROLE</code>。<code>PUBLIC</code> + <code>('ALL')</code> OAuth 使用的模式 <b>不</b> 在此处应用。相反，请设置服务用户的 <code>DEFAULT\_ROLE</code> 将您分配到专属角色，并仅授予该角色 Perplexity 所需的权限。这遵循 Snowflake 的 <a href="https://docs.snowflake.com/en/user-guide/admin-user-management" rel="nofollow noopener noreferrer" target="_blank">服务账号最佳实践</a>。</p>

<p>用于创建此用户的完整 SQL 位于 <a href="#h_3869a26a57">设置指南</a>。</p>

<h3 id="h_46daf6b16a">（可选）通过 OAuth 限制可使用的角色</h3>

<p>要限制用户可通过 Perplexity OAuth 集成进行身份验证的 Snowflake 角色，请在安全集成级别进行范围控制：</p>

<ul>
  <li>
    <p><code>PRE\_AUTHORIZED\_ROLES\_LIST</code> — 通过此集成允许的角色白名单。</p>
  </li>

  <li>
    <p><code>BLOCKED\_ROLES\_LIST</code> — 此集成中被阻止的角色黑名单。</p>
  </li>
</ul>

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

<p>使用此功能可保留敏感角色（例如 <code>ACCOUNTADMIN</code>）完全移出 OAuth 流程。</p>

<h2 id="h_25a0019527"><b>控制 Perplexity 可执行的操作</b></h2>

<p>连接器通过工具界面执行 SQL（来源于 <a href="https://docs.merge.dev/merge-agent-handler/connectors/snowflake" rel="nofollow noopener noreferrer" target="_blank">Merge Snowflake 连接器</a>）。<b>Snowflake（用户 OAuth）</b> 连接器提供细粒度的命名工具——包括一个专用的只读查询工具（<code>execute\_sql\_readonly</code>）只接受 <code>SELECT</code>, <code>WITH</code>, <code>SHOW</code>, <code>DESCRIBE</code>, <code>EXPLAIN</code>, <code>VALUES</code>，以及 <code>LIST</code>，并拒绝 DDL/DML 以及多语句输入。该服务账号 <b>Snowflake</b> 连接器提供一个通用的 <code>execute\_sql</code> 可接受任意 SQL 的工具，包括 DDL 和 DML。</p>

<p><b>Snowflake RBAC 是权威控制机制。</b> 无论调用哪个工具，查询都会在您配置允许的角色下运行，因此在 Snowflake 角色级别强制只读是可靠的最后防线——也是服务账户连接器的唯一强制边界。</p>

<p><b>推荐模式——使用专用角色强制只读。</b> 提供诸如以下角色： <code>PERPLEXITY\_READ\_ONLY</code> 仅授予 <code>USAGE</code> 和 <code>SELECT</code> 在你希望 Perplexity 查询的数据库、模式和表上，并且会 <b>不</b> 授权 <code>INSERT</code>, <code>UPDATE</code>, <code>DELETE</code>, <code>CREATE</code>, <code>DROP</code>, <code>OWNERSHIP</code>，或仓库 <code>MODIFY</code>。然后确保用户以该角色进行身份验证：</p>

<ul>
  <li>
    <p>将其设为用户的 <code>DEFAULT\_ROLE</code>，或</p>
  </li>

  <li>
    <p>将 OAuth 集成的作用范围限定为 <code>PRE\_AUTHORIZED\_ROLES\_LIST</code> 和/或排除具有写入权限的角色，使用 <code>BLOCKED\_ROLES\_LIST</code> （见 <a href="#h_46daf6b16a">通过 OAuth 限制可使用的角色</a>）。</p>
  </li>
</ul>

<p>采用这种方式配置 RBAC 后，Snowflake 会拒绝 Perplexity 的任何写入尝试，无论调用的是哪种工具。</p>

<p><b>“注意：”</b> 连接器设置包括一个 <b>工具权限</b> 可用工具列表面板。在 <b>Snowflake（用户 OAuth）</b> 连接器，您可以缩小可暴露的工具范围——对于只读设置，请仅启用读取工具（例如 <code>execute\_sql\_readonly</code>, <code>list\_\*</code>, <code>describe\_\*</code>, <code>get\_\*</code>）以将写入/DDL 工具从界面中移除。请将其视为纵深防御，而不是权威边界：真正可靠地强制访问控制的是 Snowflake RBAC（如上）。</p>

<h2 id="h_402f8e5787"><b>隐私和数据安全</b></h2>

<p>连接后，Snowflake 连接器可以代表您执行以下操作：</p>

<ul>
  <li>
    <p>在你的 Snowflake 数据上执行 SQL 查询</p>
  </li>

  <li>
    <p>查询 Cortex Search 和 Cortex Analyst</p>
  </li>

  <li>
    <p>运行自定义 UDF 和存储过程</p>
  </li>
</ul>

<p>如果您在 Snowflake 中撤销访问权限或移除角色，这些数据将立即无法从 Perplexity 访问。如果您在 Perplexity 中断开 Snowflake 连接，您可以选择保留或删除任何缓存数据。</p>

<h3 id="h_a87844a636">企业级安全与控制</h3>

<p>对于 Enterprise 组织，Perplexity 提供 SOC 2 Type II 认证、端到端加密、严格的数据隐私措施以及精细的用户访问控制。您的 Snowflake 数据绝不会用于 AI 训练。</p>

<p>连接 Snowflake 是按用户进行的——组织中的其他任何人都无法查询你的数据。不过，如果你将数据同步到共享项目，任何有该项目访问权限的人都可以搜索这些数据。</p>

<p>组织管理员可以从以下位置为所有用户启用或禁用该连接器： <a href="https://www.perplexity.ai/account/org/permissions" rel="nofollow noopener noreferrer" target="_blank">权限</a> 组织设置中的屏幕。读/写强制由 Snowflake 角色级别处理（参见 <a href="#h_25a0019527">控制 Perplexity 可执行的操作</a>）。</p>

<h2 id="h_8504daf7ee"><b>设置指南</b></h2>

<p>选择与您的身份验证方式匹配的路径：</p>

<ul>
  <li>
    <p><b>用户 OAuth（推荐）：</b> 组织管理员只需配置一次 OAuth 应用，然后用户各自单独登录。直接跳转到 <a href="#h_3869a26a57">将 Snowflake 连接到 Perplexity</a> — 步骤 1–6 中的 SQL 仅适用于服务账号设置。</p>
  </li>

  <li>
    <p><b>服务账号（密钥对）：</b> 按照步骤 1–6 运行 SQL 设置，然后在第 7 步连接。</p>
  </li>
</ul>

<h3 id="h_7179d70510">前提条件</h3>

<ul>
  <li>
    <p><code>ACCOUNTADMIN</code> 角色（或具有 <code>CREATE USER</code> 和 <code>GRANT</code> 特权）</p>
  </li>

  <li>
    <p>已在本地安装 OpenSSL（macOS 预装）— 仅适用于服务账号设置</p>
  </li>
</ul>

<h3 id="h_a2bf34bded">步骤 1：生成密钥对（服务账号）</h3>

<p>在终端中生成 RSA 私钥：</p>

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

<p>然后生成对应的公钥：</p>

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

<h3 id="h_9d71789587">第 2 步：创建角色和仓库</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">步骤 3：创建服务账号用户</h3>

<p>以以下身份运行 <code>ACCOUNTADMIN</code>。替换 <code>RSA\_PUBLIC\_KEY</code> 你的内容中的值 <code>snowflake\_computer\_key.pub</code> 文件（不包括页眉和页脚行）。</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>“注意：”</b> <code>TYPE = SERVICE</code> 这会将其标记为非人工账户——请不要设置密码。 <code>DEFAULT\_ROLE = PERPLEXITY\_ROLE</code> 将其限定为一个专用角色，仅授予 Perplexity 所需的权限。</p>

<h3 id="h_706c1a111a">第 4 步：授予对您数据的访问权限</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>如需更有选择性的访问，请参阅 <a href="https://docs.snowflake.com/en/sql-reference/sql/grant-privilege" rel="nofollow noopener noreferrer" target="_blank">Snowflake GRANT 文档</a>。</p>

<h3 id="h_72cacd4df6">第 5 步：授予查询历史和访问历史的权限</h3>

<p>Perplexity 在以下两个视图中使用 <code>SNOWFLAKE.ACCOUNT\_USAGE</code> 用于构建 数据图 以实现准确查询生成的 schema：</p>

<table>
  <tbody>
    <tr>
      <td>
        <p><b>查看</b></p>
      </td>

      <td>
        <p><b>用途</b></p>
      </td>
    </tr>

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

      <td>
        <p>查询元数据、性能和使用模式</p>
      </td>
    </tr>

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

      <td>
        <p>对象级审计日志（仅限 Enterprise 版）</p>
      </td>
    </tr>
  </tbody>
</table>

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

<p><b>“注意：”</b> <code>ACCESS\_HISTORY</code> 仅适用于 Snowflake Enterprise Edition 或更高级别；Perplexity 会回退到 <code>QUERY\_HISTORY</code> 在 Standard Edition 上自动执行。跳过此步骤会降低查询准确性。有关 Perplexity 如何使用这些视图，请参见 <a href="/help-center/help-center/zh-CN/articles/14017067-liaojie-data-map">了解数据地图</a>。</p>

<h4 id="h_eb7d8277c1">验证访问权限</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">第 6 步：（可选）允许列入白名单的 IP 地址</h3>

<p>如果你的 Snowflake 账户按 IP 限制入站连接，请将来自以下来源的 IP 加入允许列表： <a href="https://help.ah.merge.dev/articles/8124222873-merge-tenant-ip-addresses?lang=en#us-tenant" rel="nofollow noopener noreferrer" target="_blank">此页面</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">第 7 步：将 Snowflake 连接到 Perplexity</h3>

<h4 id="h_762aceb84a">对于用户 OAuth：请先完成管理员设置</h4>

<p>如果您的组织使用 OAuth，则由组织管理员配置 <b>Snowflake（用户 OAuth）</b> 连接器一次，之后各个用户才能进行身份验证。在 <b>组织设置 → 连接器 → Snowflake（用户 OAuth）</b>，管理员会看到一个三步面板：</p>

<Steps>
  <Step>
    <p><b>管理 OAuth 应用</b> — 在你的 Snowflake 账户中将 Perplexity 注册为 OAuth 客户端。本文将指导你创建一个自定义的 Snowflake <code>SECURITY INTEGRATION</code> 并将生成的 Client ID 和 Client Secret 粘贴回 Perplexity。</p>
  </Step>

  <Step>
    <p><b>使用 Snowflake 进行身份验证（用户 OAuth）</b> — 管理员只需进行一次身份验证，以确认集成可端到端正常运行。</p>
  </Step>

  <Step>
    <p><b>生成数据映射（可选）</b> — 可选择为组织生成数据映射（见 <a href="/help-center/help-center/zh-CN/articles/14017067-liaojie-data-map">了解数据地图</a>）并添加补充上下文以提高准确性。</p>
  </Step>
</Steps>

<p>在第 1 步，在 Snowflake 端创建安全集成。请按以下方式运行： <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>检索客户端 ID 和客户端密钥并粘贴回 Perplexity：</p>

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

<p>管理员设置完成后，个人用户可以按照以下步骤进行连接。</p>

<h4 id="h_usrconn01">连接（所有用户）</h4>

<p>用户只能看到与其管理员配置的连接器相匹配的身份验证方式。</p>

<Steps>
  <Step>
    <p>前往 <b>连接器</b> 在设置中找到 <b>Snowflake</b> 或 <b>Snowflake（用户 OAuth）</b> 连接器。</p>
  </Step>

  <Step>
    <p>点击 <b>启用 → 添加连接器</b>。</p>
  </Step>

  <Step>
    <p>使用你已配置的方法进行身份验证（见下文）。</p>
  </Step>

  <Step>
    <p>点击 <b>允许</b> 以完成设置。</p>
  </Step>
</Steps>

<p><b>密钥对身份验证（Snowflake 连接器）。</b> 输入你的 Snowflake 账户标识符、用户名和私钥（<code>snowflake\_computer\_key.p8</code>）。</p>

<p><b>OAuth（Snowflake（用户 OAuth）连接器）。</b> 您将被重定向到 Snowflake 进行登录。没有角色选择器——您的会话将使用您的 <code>DEFAULT\_ROLE</code> 作为主要角色，与你的 <code>DEFAULT\_SECONDARY\_ROLES</code> 通过……激活 <code>OAUTH\_USE\_SECONDARY\_ROLES = IMPLICIT</code>。如果你的角色默认设置已配置，则无需执行任何操作。</p>

<p>如果您的会话缺少您预期看到的数据，请让您的 Snowflake 管理员验证您的 <code>DEFAULT\_ROLE</code> 和 <code>DEFAULT\_SECONDARY\_ROLES</code> （见 <a href="#h_7bfeb78df3">用户 OAuth 角色配置</a>）。</p>

<h2 id="h_05bb5e8747"><b>使用你的 Snowflake 数据</b></h2>

<p>连接后，即可在以下位置引用你的 Snowflake 数据： <a href="/help-center/help-center/zh-CN/articles/13901210-mianxiang-enterprise-de-computer">Computer</a> 对话。提及数据库、模式或表，Perplexity 就会将它们作为多步骤工作流的一部分进行查询——全部在安全的云沙盒中异步执行。可以尝试如下查询：</p>

<ul>
  <li>
    <p>“总结第四季度销售表中的收入趋势并突出关键指标”</p>
  </li>

  <li>
    <p>“查找过去 30 天内更新的所有客户记录”</p>
  </li>

  <li>
    <p>“根据分析 schema，哪些产品表现最佳？”</p>
  </li>

  <li>
    <p>“将本季度的销售漏斗数据与上季度的数据进行对比”</p>
  </li>
</ul>

<h2 id="h_c0fb703098"><b>故障排除</b></h2>

<h3 id="h_2840ddf954">你的组织未启用 Snowflake</h3>

<p>如果你所在的 Enterprise 组织中无法启用该连接器，可能是管理员已将其禁用。请联系你们组织的管理员，或联系 Perplexity 支持。</p>

<h3 id="h_09afd7a7fe">连接和身份验证问题</h3>

<ul>
  <li>
    <p>验证 Perplexity 的 IP 地址已被加入 Snowflake 网络策略的允许列表。</p>
  </li>

  <li>
    <p>确认该角色拥有 <code>USAGE</code> 所需仓库、数据库和架构的权限。</p>
  </li>

  <li>
    <p>在任何策略变更后，请用户重新连接该连接器。</p>
  </li>
</ul>

<h4 id="h_a9c7f15779">“私钥无效”错误</h4>

<p>请确保你粘贴的是私钥（<code>snowflake\_computer\_key.p8</code>），而不是公钥。文件应以 <code>-----BEGIN PRIVATE KEY-----</code> 开头。</p>

<h4 id="h_d1c7afcb9a">当前身份验证策略拒绝了身份验证</h4>

<p>运行 <code>SHOW AUTHENTICATION POLICIES</code> 作为 <code>ACCOUNTADMIN</code> 并确保 <code>PERPLEXITY\_USER</code> 受包含以下内容的保单保障 <code>KEYPAIR</code>。如有需要：</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：用户在连接后只能看到有限数据</h4>

<p>OAuth 会话使用用户的 <code>DEFAULT\_ROLE</code> 作为主角色，辅以通过以下方式激活的次级角色 <code>OAUTH\_USE\_SECONDARY\_ROLES = IMPLICIT</code>。如果用户缺少预期的访问权限：</p>

<ul>
  <li>
    <p>确认安全集成已 <code>OAUTH\_USE\_SECONDARY\_ROLES = IMPLICIT</code>。</p>
  </li>

  <li>
    <p>运行 <code>DESC USER \<username></code> 并检查 <code>DEFAULT\_ROLE</code> 和 <code>DEFAULT\_SECONDARY\_ROLES</code> — 该会话将严格使用其中配置的内容。</p>
  </li>

  <li>
    <p>如果用户没有按用户配置的角色设置，并且你希望他们访问分配给他们的所有内容，请设置 <code>DEFAULT\_ROLE = PUBLIC</code> 和 <code>DEFAULT\_SECONDARY\_ROLES = ('ALL')</code>。</p>
  </li>

  <li>
    <p>在更改这些设置中的任何一项后，让他们断开并重新连接连接器，以颁发新的令牌。</p>
  </li>
</ul>

<h4 id="h_da9c991cd6">“ACCESS\_HISTORY” 视图返回错误</h4>

<p>确认您的 Snowflake 账户为 Enterprise Edition 或更高级别。</p>

<h4 id="h_449413017e">ACCOUNT\_USAGE 视图权限不足</h4>

<p>验证 <code>GRANT IMPORTED PRIVILEGES</code> 以……身份运行 <code>ACCOUNTADMIN</code> 以及 <code>PERPLEXITY\_ROLE</code> 授予该用户。</p>

<h4 id="h_f23e5d1e8f">密钥对身份验证失败</h4>

<p>重新运行 <code>DESC USER PERPLEXITY\_USER</code> 以确认公钥指纹已填充。</p>

<p>如果更新这些设置后问题仍然存在，请联系 Perplexity 支持以获取帮助。</p>


## Related topics

- [连接器与集成](/help-center/help-center/zh-CN/collections/18799295-连接器与集成.md)
- [了解 Data Map](/help-center/help-center/zh-CN/articles/14017067-liaojie-data-map.md)
- [将 Perplexity 与 Databricks 连接](/help-center/help-center/zh-CN/articles/14810342-jiang-perplexity-yu-databricks-lian-jie.md)
- [将 Perplexity 与 Confluence 连接](/help-center/help-center/zh-CN/articles/12524852-jiang-perplexity-yu-confluence-lian-jie.md)
- [将 Perplexity 与 Notion 连接](/help-center/help-center/zh-CN/articles/12167654-jiang-perplexity-yu-notion-lianjie.md)
