概要
Snowflakeコネクタを使用すると、Snowflakeデータウェアハウス内のデータをPerplexityから直接クエリできます。SQLを手動で記述したりSnowflakeコンソールに切り替えたりすることなく、Snowflakeデータベース、その他の接続済みアプリ、ウェブを横断して情報を検索・統合できます。 Snowflakeの接続はユーザーごとに行われます。共有プロジェクトにデータを同期しない限り、組織内の他のユーザーがあなたのデータをクエリすることはできません。Snowflakeコネクタは、Pro、Max、Enterprise Pro、Enterprise Maxプランで利用できます。データマップの生成にはEnterprise ProまたはEnterprise Maxが必要です。いずれのプランでも、ACCOUNTADMINロールを持つSnowflakeの管理者がセキュリティ統合またはサービスアカウントを作成します。Enterpriseプランでは、Perplexityの管理者が組織向けにユーザー OAuthコネクタを一度設定します。
プライバシーとデータセキュリティ
コネクタは、お客様が管理するSnowflakeロールでSnowflakeアカウントをクエリするため、Perplexityがアクセスできる範囲の境界はSnowflakeの権限です。そのロールには読み取りアクセスのみを付与してください。- アクセス範囲 — 各ユーザーが自分のアカウントを接続します。共有プロジェクトにデータを同期しない限り、組織内の他のユーザーがあなたのデータをクエリすることはできません。
- データの保存場所 — Perplexityはお客様のSnowflakeデータを保存しません。クエリはお客様自身のSnowflakeアカウントに対して実行され、コネクタは、Perplexityが製品を運用するために収集する運用データを超えて独自にデータを保存することはありません。
- 保持 — このコネクタはキャッシュを運用しないため、保持または削除する対象となるSnowflakeデータの別個のコピーは存在しません。
- 管理者による制御 — Enterpriseプランでは、組織管理者が組織全体でSnowflakeコネクタを無効にできます。その場合、コネクタはコネクタ設定に表示されません。
- 読み取り専用の強制 — 読み取り専用アクセスはSnowflakeの権限で強制してください。Perplexityが使用するロールには、書き込み権限やオブジェクト作成権限を付与しないでください。
- トレーニングでの利用 — Snowflakeコネクタ経由でアクセスされたデータは、Perplexityのモデルやサードパーティのモデルのトレーニングに使用されることはありません。
- サブプロセッサー — このコネクタの認証およびAPI通信は、Perplexityのサブプロセッサーである Merge API, Inc. が運営するMerge Agent Handlerを経由します。最新の一覧はPerplexity Trust Centerで公開されています。
- 暗号化 — コネクタの認証情報および接続されたデータは、転送時はTLS、保存時はAES-256で暗号化されます。
- コンプライアンス — Perplexityの管理体制はSOC 2 Type IIに基づいて監査されています。セキュリティおよびコンプライアンスに関するドキュメントはPerplexity Trust Centerで入手できます。
有効化の方法
認証方法の選択
PerplexityはSnowflakeコネクタを2種類提供しています。ユーザーの認証方法に合致する方だけを設定してください。
表1 — 2種類のSnowflakeコネクタと、それぞれの適した利用ケース。
Perplexityはユーザー OAuthコネクタを強く推奨します。クエリは各ユーザー自身のSnowflake権限で実行され、Snowflakeの監査ログでそのユーザーに紐付けて記録されます。
事前に必要なもの
- Pro、Max、Enterprise Pro、Enterprise Maxのいずれかのプランを利用していること。
- Enterpriseプランでは、組織管理者がSnowflakeコネクタを無効にしていないこと。
- Snowflakeの管理者がACCOUNTADMINアクセス権、または同等の権限を持っていること。
- OpenSSLがローカルにインストールされていること(サービスアカウントのセットアップのみ)。
ユーザー OAuthコネクタの設定
-
Snowflakeの管理者にセキュリティ統合の作成を依頼します。追加のパラメーターについてはSnowflake OAuthセキュリティ統合のドキュメントを参照してください。
-
クライアントIDとクライアントシークレットを取得します。
- これらの認証情報をPerplexityのOAuthセットアップ画面に入力します。
ユーザーがデフォルトロールに加えてセカンダリロールにもアクセスできるようにするため、OAUTH_USE_SECONDARY_ROLES = IMPLICITを使用してください。ユーザーをSnowflakeのDEFAULT_ROLEのみに制限する場合はNONEを使用します。
サービスアカウントコネクタの設定
サービスアカウントは、特定の1つのロールで実行される専用のSnowflakeユーザーです。この共有アカウントを使用するすべてのユーザーが同じアクセス権を持つため、そのロールにはPerplexityが必要とするデータアクセスのみを付与してください。-
ローカルのターミナルで秘密鍵と対応する公開鍵を生成します。
-
専用ロールとウェアハウスを作成し、クエリ量に見合ったウェアハウスサイズを選択します。新規に作成せず、既存のウェアハウスを使用することもできます。
-
サービスアカウントユーザーを作成します。RSA_PUBLIC_KEYの値は、snowflake_computer_key.pubの内容(BEGIN PUBLIC KEY行とEND PUBLIC KEY行を除く)に置き換えてください。
-
Perplexityにクエリさせたいデータへのアクセス権を付与します。MY_DATABASEは自分のデータベースに置き換えてください。以下の付与により、既存および将来のスキーマ、テーブル、ビューへの読み取りアクセスが与えられます。アクセス範囲をさらに絞る場合は、特定のスキーマまたはオブジェクトに対して権限を付与してください。Snowflake GRANTのドキュメントを参照してください。
-
コネクタのセットアップフローでデータマップを生成する場合は、データマップが読み取る2つのアカウント使用状況ビューへのアクセス権を付与します。データマップの生成にはEnterprise ProまたはEnterprise Maxが必要です。この付与により、これら2つのビューだけでなく、Snowflakeアカウントのメタデータ全般への広いアクセスが与えられるため、実行前に内容を確認してください。
表2 — データマップが読み取るアカウント使用状況ビュー。
- サイドバーでプラグイン(Plugins がまだ表示されない場合は Customize → Connectors)を開き、見つけるまたは検索でSnowflake (Service Account)を探して、そのページを開きます。
- 接続を選択します。
- Snowflakeアカウント識別子、ユーザー名PERPLEXITY_USER、秘密鍵snowflake_computer_key.p8を入力します。
- 許可を選択してセットアップを完了します。
Snowflakeアカウントの接続
管理者のセットアップが完了したら、各ユーザーが自分のアカウントを接続します。- サイドバーでプラグイン(Plugins がまだ表示されない場合は Customize → Connectors)を開き、見つけるまたは検索でSnowflake (User OAuth)を探して、そのページを開きます。
- 接続を選択します。
- 表示された画面でSnowflakeにサインインします。
- 許可を選択して接続を完了します。
このコネクタはプラグインに含まれることもあります。どこで接続しても、ご自身のアカウントではすべての場所で接続済みになります。接続と組織のコネクタ設定は、すべてのプラグイン内でも適用されます。プラグインとは
動作確認の方法
新しいセッションを開き、@Snowflakeとメンションして、Snowflakeで既に読み取れるテーブルから行数などの小さな情報を尋ねてください。Snowflakeデータが反映されない回答が返ってきた場合は、まずSnowflakeロールを確認してください。指定したオブジェクトに対するSELECT権限が必要です。
試してみる
Snowflakeを接続したら、新しいセッションでメンションしてみてください。-
@Snowflakeordersテーブルには何行ありますか? -
@Snowflakecustomersテーブルにはどのカラムがありますか? -
@SnowflakeMY_DATABASEでクエリできるスキーマを一覧表示してください
権限とスコープ
コネクタが必要とするのは読み取り権限のみです。既存のアナリスト向けロールではなく、専用ロールに付与してください。
表3 — コネクタが要求するSnowflakeの権限と、その理由。
Snowflakeの権限が強制の境界です。コネクタが何を求められても、付与されたロールの下で実行されるため、書き込み権限のないロールでは書き込みはできません。
トラブルシューティング
表4 — Snowflakeコネクタでよくある問題の現象、原因、対処方法。
サービスアカウントの場合、以下の例では現在公開されている米国のアドレスを使用してユーザーレベルのネットワークポリシーを作成します。ポリシーを適用する前に、MergeテナントIPアドレスのページで最新の一覧を確認してください。
よくある質問
このコネクタはどのデータにアクセスしますか?
付与したSnowflakeロールが読み取りを許可されているデータベース、スキーマ、テーブル、ビューです。そのロールがアクセスできないものには一切アクセスできません。SnowflakeのデータがAIモデルのトレーニングに使用されますか?
いいえ。Snowflakeコネクタ経由でアクセスされたデータは、Perplexityのモデルやサードパーティのモデルのトレーニングに使用されることはありません。管理者はこのコネクタを有効にできるユーザーを制限できますか?
はい。Enterpriseプランでは可能です。組織管理者は組織全体でSnowflakeコネクタを無効にできます。その場合、コネクタはコネクタ設定に表示されません。PerplexityはSnowflakeのデータに書き込めますか?
いいえ。ただしSnowflake側で強制している場合に限ります。Perplexityが使用するロールにUSAGEとSELECTのみを付与すれば、Perplexityが何を求められても、Snowflakeは書き込みを拒否します。このコネクタは自分のプランで利用できますか?
はい。Pro、Max、Enterprise Pro、Enterprise Maxプランで利用できます。データマップの生成にはEnterprise ProまたはEnterprise Maxが必要です。関連記事
- データマップについて
- DatabricksとPerplexityの連携
- エンタープライズコネクタのトラブルシューティングガイド
- 企業組織とユーザー向けのデータ保持とプライバシー
- Enterprise の役割と権限
さらにサポートが必要な場合
お問い合わせの際は、コネクタ名、正確なエラーメッセージ、発生した時刻、この記事のうち解決に至らなかった手順をお知らせください。担当のアカウントチームにご連絡いただくか、Helpメニューの「サポートに問い合わせ」からお問い合わせください。セキュリティおよびコンプライアンスに関するドキュメントはTrust Centerをご覧ください。