> ## 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データウェアハウス内のデータを直接クエリできます。SQLを手動で記述したりSnowflakeコンソールに切り替えたりすることなく、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ステージに保存された画像、音声、動画）はサポートされていません。</p>

<h2 id="h_f4e7220454"><b>認証方法の選択</b></h2>

<p>Snowflake認証には2つの独立した次元があります：クエリを<b>誰</b>として実行するか（アイデンティティ）と、そのアイデンティティを<b>どのように</b>証明するか（認証情報）です。Perplexityはディレクトリに2つのコネクタを提供しており、それぞれ推奨される組み合わせに対応しています：</p>

<ul>
  <li>
    <p><b>Snowflake (User 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権限で実行され、ユーザーごとの明確な監査証跡が得られます。共有サービスアカウントは不要で、ロールベースアクセス制御（RBAC）をPerplexity内で再作成する必要もありません。これはSnowflake自身の方向性とも一致しており、そのマネージドMCPサーバーは現在<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認証情報もサポートしており、コネクタもこれを受け付けます。ただし、新規セットアップにはPATを<b>推奨しません</b>。トークンは短い期間で有効期限が切れ、作成時に単一ロールに固定的に紐付けられるため、このガイドの例では一貫してキーペアを使用しています。どうしても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はロール選択UIを表示しません。つまり、各ユーザーが<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>次に、2つのケースのいずれかに対応してください：</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>サービスアカウントは、特定の1つのロール（通常は<code>PERPLEXITY\_ROLE</code>）で実行される単一の専用ユーザーです。OAuthで使用する<code>PUBLIC</code> + <code>('ALL')</code>のパターンはここでは適用<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>コネクタは、（<a href="https://docs.merge.dev/merge-agent-handler/connectors/snowflake" rel="nofollow noopener noreferrer" target="_blank">MergeのSnowflakeコネクタ</a>を元にした）ツールサーフェス経由でSQLを実行します。<b>Snowflake (User 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>コネクタは、DDLやDMLを含む任意のSQLを受け付ける汎用の<code>execute\_sql</code>ツールを公開しています。</p>

<p><b>信頼できる制御手段はSnowflake RBACです。</b>どのツールが呼び出されても、クエリは設定で許可されたロールの下で実行されるため、Snowflakeロールレベルで読み取り専用を強制することが信頼できる最終防衛線であり、サービスアカウントコネクタでは唯一の強制境界です。</p>

<p><b>推奨パターン — 専用ロールで読み取り専用を強制する。</b>Perplexityにクエリさせたいデータベース、スキーマ、テーブルに対して<code>USAGE</code>と<code>SELECT</code>のみを付与し、<code>INSERT</code>、<code>UPDATE</code>、<code>DELETE</code>、<code>CREATE</code>、<code>DROP</code>、<code>OWNERSHIP</code>、ウェアハウスの<code>MODIFY</code>を付与<b>しない</b><code>PERPLEXITY\_READ\_ONLY</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を設定することで、どのツールが呼び出されても、Perplexityによる書き込み試行はSnowflakeによって拒否されます。</p>

<p><b>注意：</b>コネクタ設定には利用可能なツールを一覧表示する<b>ツール権限</b>パネルがあります。<b>Snowflake (User OAuth)</b>コネクタでは、公開するツールを絞り込むことができます。読み取り専用のセットアップでは、読み取り系のツール（例：<code>execute\_sql\_readonly</code>、<code>list\_\*</code>、<code>describe\_\*</code>、<code>get\_\*</code>）のみを有効にして、書き込み/DDLツールをサーフェスから除外してください。これは多層防御として扱い、信頼できる境界とはみなさないでください。アクセスを信頼できる形で強制するのは、上記のSnowflake RBACです。</p>

<img alt="" src="https://mintcdn.com/perplexity-help-center/Qv3d0vQE9qMlZrQx/help-center/assets/img/260d211e85_image__2862_29.png?fit=max&auto=format&n=Qv3d0vQE9qMlZrQx&q=85&s=85564c5c0099b3245b14a4f1f8e49bf9" width="1213" height="1080" data-path="help-center/assets/img/260d211e85_image__2862_29.png" />

<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が必要とする権限のみを持つ1つの専用ロールにスコープされます。</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>スキーマの2つのビューを使用します：</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 Editionのみ）</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以上でのみ利用可能です。Standard EditionではPerplexityは自動的に<code>QUERY\_HISTORY</code>にフォールバックします。このステップをスキップするとクエリ精度が低下します。Perplexityがこれらのビューをどのように使用するかについては、<a href="/help-center/help-center/ja/articles/14017067-データマップについて">データマップについて</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で受信接続を制限している場合は、<a href="https://help.ah.merge.dev/articles/8124222873-merge-tenant-ip-addresses?lang=en#us-tenant" rel="nofollow noopener noreferrer" target="_blank">こちらのページ</a>のIPアドレスを許可リストに追加してください：</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 (User OAuth)</b>コネクタを一度設定します。<b>組織設定 → コネクタ → Snowflake (User OAuth)</b>で、管理者は3ステップのパネルを確認できます：</p>

<Steps>
  <Step>
    <p><b>OAuthアプリを管理</b> — PerplexityをSnowflakeアカウントに対するOAuthクライアントとして登録します。カスタムSnowflake <code>SECURITY INTEGRATION</code>を作成し、生成されたクライアントIDとクライアントシークレットをPerplexityに貼り付ける手順を案内します。</p>
  </Step>

  <Step>
    <p><b>Snowflake (User OAuth) で認証</b> — 管理者が一度認証して、統合がエンドツーエンドで機能することを確認します。</p>
  </Step>

  <Step>
    <p><b>データマップを生成する（オプション）</b> — 組織のデータマップをオプションで生成し（<a href="/help-center/help-center/ja/articles/14017067-データマップについて">データマップについて</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 (User 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 (User OAuth) コネクタ）。</b>サインインのためにSnowflakeにリダイレクトされます。ロール選択UIはありません — セッションは<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>接続後、<a href="/help-center/help-center/ja/articles/13901210-エンタープライズ向け-computer">Computer</a>のタスクでSnowflakeデータを参照できます。データベース、スキーマ、テーブルに言及すると、Perplexityはマルチステップワークフローの一部としてそれらをクエリします — すべてセキュアなクラウドサンドボックス内で非同期に実行されます。以下のようなクエリを試してみてください：</p>

<ul>
  <li>
    <p>「Q4売上テーブルの収益トレンドを要約し、主要指標を強調してください」</p>
  </li>

  <li>
    <p>「過去30日間に更新されたすべての顧客レコードを検索してください」</p>
  </li>

  <li>
    <p>「アナリティクススキーマに基づいてパフォーマンスの高い商品は何ですか？」</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>ACCOUNTADMIN</code>として<code>SHOW AUTHENTICATION POLICIES</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>
