Skip to main content
Profound は、Knowledge Bases と Agents で Google Drive の接続を使用します。すべてのリクエストは接続したユーザーのトークンで実行され、各リクエストではまず、その接続がリクエスト元ユーザーの組織およびそのユーザー本人に属していることが確認されます。

接続モデル

  • 各ユーザーが自分の Google アカウントを接続します。 接続は Google の標準的な OAuth 同意画面を経由して行われ、接続を開始したユーザー専用となります。Profound の組織内の他のユーザーが同じ接続を使用することはできません。
  • サービスアカウント、ドメイン全体の委任、管理者の同意は不要です。 Profound はサービスアカウントやドメイン全体の委任を使用しません。また、ユーザーが接続するために Workspace の管理者が権限を付与する必要もありません。Profound が接続したユーザー以外の ID で Drive にアクセスすることはなく、そのユーザーが開けないものにアクセスすることもできません。
  • アクセス範囲はユーザー自身のアクセス権よりも狭くなります。 Profound は drive.file スコープをリクエストするため、読み取れるのは、ユーザーが Google Picker で選択したファイルと、Profound がユーザーに代わって作成したファイルのみです。ユーザーが開けるファイルであっても、それ以外のユーザーの Drive 内のファイルを Profound が一覧表示、検索、読み取りすることはできません。

OAuth スコープ

Profound の Google Drive インテグレーションは、制限付きの Drive スコープを一切リクエストしません。各 Drive スコープに対する Google の分類については、Google Drive API スコープの選択を参照してください。
ユーザーが Google Drive を接続すると、Profound は次のスコープをリクエストします。

ユーザーフロー

Knowledge Base のインポート

  • Knowledge Base の編集権限を持つユーザーが、Google Picker でファイルを選択します。Profound は、選択された各ファイルの ID、名前、ファイル形式を受け取ります。
  • Profound は、選択された各ファイルのメタデータを読み取り、コンテンツをダウンロードします。Google ドキュメントは .docx、Google スプレッドシートは .xlsx、Google スライドと Google 図形描画は PDF としてエクスポートされます。PDF、Word、Excel、プレーンテキスト、Markdown、CSV ファイルはそのままダウンロードされます。100 MB を超えるファイルはインポートされません。
  • Profound は、選択されたファイルの親フォルダ名を解決し、Knowledge Base 内でフォルダ構造を再現します。
Google Picker を開くために、Profound の Web アプリは Profound のバックエンドから接続済みアカウントのアクセストークンをリクエストし、ユーザーのブラウザ上で Google の Picker ライブラリに渡します。トークンを含むレスポンスには Cache-Control: no-store が指定されています。

自動同期

インポートした Google Drive フォルダに対してユーザーが自動同期を有効にすると、Profound は Google の Changes API を使用して、選択された頻度で変更を確認します。各実行時に Profound は次の処理を行います。
  • コンテンツが変更されたインポート済みファイルを再ダウンロードし、コンテンツに変更のないファイルはスキップします
  • Drive から削除されたファイル、または Profound がアクセスやダウンロードできなくなったファイルについて、Knowledge Base 内のコピーを削除します
Profound はこれらの処理を、自動同期を有効にしたユーザーとして、そのユーザーの接続を使用して実行します。自動同期で追跡されるのはインポートされたファイルのみです。ユーザーが選択していないファイルを参照することはできません。

Agent ノード

Agents の Google Docs、Google Sheets、Google Slides ノードは、同じ Google Drive 接続と同じ drive.file の許可を使用します。読み取りノードは、ユーザーが選択したファイルのみを読み取ります。作成ノードと書き込みノード (例: Google ドキュメントの作成や Google スプレッドシートへの行の書き込み) は、接続したユーザーの Drive に新しいファイルを作成するか、ユーザーが選択したファイルを変更します。 ファイル名でファイルを受け付けるノードは、drive.file の許可の対象となるファイルの中でのみ検索し、名前が複数のファイルに一致する場合はファイル ID または URL の入力を求めます。

Profound が Drive API で実行する操作

Google Drive 接続が実行する Drive API の操作は、これらのみです。Drive への書き込みは、Google Docs と Google Sheets の Agent ノードを通じてのみ行われます。

インポートしたコンテンツの保存場所

Profound が保存するのは、ユーザーが Knowledge Base にインポートしたファイルのみです。Agent の読み取りノードも、読み取るファイルのコンテンツをダウンロードしますが、それはその実行のためだけです。コンテンツはノードの出力となり、Profound は他のすべてのノードの出力と同様に、Agent の実行履歴に保持します。インポートされた各ファイルについて、Profound は次のものを保存します。
  • ファイルのコンテンツ: Profound の AWS アカウント内で論理的に分離された Amazon S3 バケットに保存
  • 解析済みのテキスト: 同じ S3 バケットに保存。また、Knowledge Base の検索で見つけられるよう、その検索用埋め込みをマネージドのベクトル検索サービスに保存
  • ファイルの名前、パス、サイズ、形式、ソースリンク、コンテンツハッシュ: Profound のデータベースに保存
Profound は、インポートしたコンテンツを、Knowledge Base の検索、Agents、FactCheck など、ユーザーが利用する機能の情報源としてのみ使用します。Profound がお客様のファイルをモデルのトレーニングに使用することはありません。

削除と保持

Profound は、次のいずれかが発生するまで、インポートしたコンテンツを保持します。
  • ユーザーが Profound でドキュメント、フォルダ、または Knowledge Base を削除した
  • 自動同期によって、ファイルが Drive から削除された、またはアクセスできなくなったことが検出された
ドキュメントを削除すると、保存されたファイル、その解析済みテキスト、検索用埋め込みが削除されます。Google Drive の接続を取り消しても、すでにインポートされたファイルは削除されません。削除が必要な場合は、Knowledge Base から削除してください。

トークンの保存と取り扱い

  • 暗号化: Profound は、顧客データ専用の AWS Key Management Service (KMS) キーを使用して OAuth のアクセストークンとリフレッシュトークンをエンベロープ暗号化し、暗号文を Amazon DynamoDB に保存します。暗号化コンテキストにより各レコードは 1 つの組織、1 つのプロバイダー、1 人のユーザーに紐付けられるため、別の組織やユーザーの ID でレコードを復号することはできません。Profound のメインデータベースには、暗号化されたレコードへの参照のみが保持され、トークン自体が保持されることはありません。
  • スコープ設定: 認証情報の読み取りのたびに、その接続がリクエスト元ユーザーの組織に属していること、また Google Drive のような個人用の接続の場合はリクエスト元ユーザー本人に属していることが確認されます。Profound は、すべての認証情報の読み取りを、インテグレーション、リクエスト元のエンドポイント、読み取りの対象となったユーザー、タイムスタンプとともに内部の監査テーブルに記録します。この記録はプラットフォーム上には表示されません。
  • 更新: Profound は Google にオフラインアクセスをリクエストするため、リフレッシュトークンを受け取り、ユーザーに再度サインインを求めることなく Knowledge Base の自動同期を継続できます。アクセストークンの有効期限が切れると、Profound のバックエンドがリフレッシュトークンを新しいアクセストークンと交換します。複数のリクエストが同時にトークンを必要とする場合、Google に問い合わせるのはそのうち 1 つのみです。他のリクエストはその更新の完了を待ち、結果を再利用します。
  • アカウントについて保存される情報: Profound は、Google アカウントのメールアドレスとサブジェクト識別子 (ID トークンのペイロード内の sub キー) を接続とともに保存します。サブジェクト識別子は、アカウントのメールアドレスが変わっても変化しないため、Profound はこれを使用して、ユーザーが同じアカウントを再接続したことを認識します。

アクセス権の取り消し

ユーザーは、Profound の Settings > Integrations > Google Drive で、接続済みアカウントの … アクションメニューから Revoke を選択して接続を取り消します。ユーザーが取り消すと、次のようになります。
  • Profound は暗号化されたトークンのレコードを削除し、接続を取り消し済みとしてマークします。この削除は元に戻せません。
  • これが組織内でそのアカウントに残っている最後の Google 接続である場合、Profound はアクセストークンとリフレッシュトークンについて、Google のトークン取り消しエンドポイントも呼び出します。それ以外の場合は、以下で説明するように、この呼び出しを保留します。
  • その接続を使用している Knowledge Base の自動同期と Agent ノードは、ユーザーが再接続するまで動作しなくなります。
Google Drive、Gmail、Google Search Console、Google Ads の各インテグレーションは、同じ OAuth クライアントで Google に対して自身を識別します (Google Analytics は別のクライアントを使用します)。Google は、ある Google アカウントがそのクライアントに付与したすべての権限を 1 つの許可として扱い、いずれかのトークンを取り消すと、Google がそのアカウントに対して Profound 向けに発行したすべてのトークンが無効になります。このため、1 つの接続を取り消すと Profound に保存されているそのトークンは直ちに削除されますが、Profound が Google に許可の取り消しを依頼するのは、そのアカウントに残っている最後の接続が取り消されたときのみです。他の Google アカウントで作成された接続は影響を受けません。
ユーザーは、Google アカウントのサードパーティアクセスのページから Profound のアクセス権を取り消すこともできます。その場合、Profound に保存されているリフレッシュトークンは機能しなくなり、ユーザーはインテグレーションを再び使用する前に、Profound でアカウントを再接続する必要があります。

Google Workspace 管理者向けの制御

  • アプリとして Profound を許可またはブロックする。 Google の「Google Workspace のデータにアクセスできるサードパーティ製アプリと社内アプリを管理する」に記載されている方法で、Profound のアクセスを管理します。この設定には Profound の OAuth クライアント ID が必要になる場合があります。Profound のアカウントチームが提供できます。
  • Google Drive インテグレーションには「制限付きアクセス」で十分です。 Google の制限付きアクセスの設定では、アプリは制限のないスコープのみを使用できます。drive.file、openid、userinfo.email はいずれも制限のないスコープであるため、Google Drive インテグレーションは Limited の設定でも動作します。
  • 1 つのクライアントで Profound の Google インテグレーションをカバーします。 Profound の Google Drive、Gmail、Google Search Console、Google Ads の各インテグレーションは 1 つの OAuth クライアントを共有しているため (Google Analytics は独自のクライアントを使用)、許可リストやブロックはそれらすべてに適用されます。