このガイドは、組み込み OAuth または組織独自の OAuth クライアントを使用して Databricks Genie コネクターを設定する、ChatGPT ワークスペース管理者および ChatGPT Plus または Pro ユーザー向けです。
組み込み OAuth:ChatGPT で利用可能で、Databricks ワークスペースで有効になっている場合は、事前設定済みの接続を使用します。OAuth アプリの作成や、クライアント ID・クライアントシークレットの入力は不要です。以下の「組み込み OAuth」の手順に従ってください。
カスタム OAuth クライアント:組み込み OAuth が利用できない場合や、組織独自の OAuth クライアントを使用する必要がある場合は、この方法を使用します。以下の「カスタム OAuth クライアント」の手順に従ってください。
設定内容
ChatGPT アカウントまたはワークスペース用に、Databricks アプリ接続を作成します。どちらの方法でも、ChatGPT で入力を求められる Databricks プロバイダー情報と、利用予定のリソースに対する権限が必要です。カスタム OAuth クライアントを使用する場合は、次のものも準備してください。
Databricks アカウントコンソールで作成した Databricks OAuth アプリ接続
Databricks OAuth クライアント ID とクライアントシークレット
ChatGPT からそのままコピーしたコールバック URL
有効にするコネクター機能に対応した Databricks スコープ
ワークスペースホスト、アカウントホスト、アカウント ID、ウェアハウスなど、ChatGPT の設定手順で求められる Databricks プロバイダー情報
開始前の準備
ワークスペース用に設定する場合は、管理コンソールを開き、対象の ChatGPT ワークスペースを選択して「プラグイン」を開きます。「レガシーアプリを管理」を選択し、引き続き利用できる「アプリ」ページを開きます。ワークスペース内の画面操作やレガシーアプリへのアクセスについては、プラグインとアプリの管理者向け制御、セキュリティ、コンプライアンスをご覧ください。
次のものが必要です。
ChatGPT ワークスペースの管理者権限またはオーナー権限、あるいは ChatGPT Plus または Pro アカウント
カスタム OAuth クライアントを使用する場合は、Databricks アカウントの管理者権限一部の作業はワークスペースの管理者権限で行える場合がありますが、カスタムアプリ接続は Databricks アカウントコンソールから設定します。組み込み OAuth を使用する場合は、Databricks 管理者が、ChatGPT アプリケーションを利用でき、ワークスペースで有効になっていることを確認する必要があります。
カスタム OAuth クライアントを使用する場合は、別のタブで開いた Databricks アカウントコンソール
カスタム OAuth クライアントを使用する場合は、正確なコールバック URL をコピーできるように ChatGPT で開いた Databricks Genie 接続画面
アプリに汎用の Databricks API アクセスが必要か、Databricks SQL アクセスのみでよいかの判断
カスタム OAuth クライアントを使用する場合は、Databricks クライアントシークレットを安全に扱える環境
Databricks アカウントまたはワークスペースで、IP アクセスリスト、コンテキストベースのイングレス制御、ファイアウォール、その他のネットワークポリシーによるアクセス制限がある場合は、現在の ChatGPT コネクターの送信元 IP 範囲を許可できる Databricks 管理者の協力
カスタム OAuth クライアントを使用する場合は、ChatGPT に表示されるコールバック URL をそのままコピーしてください。
準備する値
カスタム OAuth クライアントを使用する場合は、コールバック URL:ChatGPT のコネクター設定画面からコピーします。
カスタム OAuth クライアントを使用する場合は、Databricks OAuth クライアント ID
カスタム OAuth クライアントを使用する場合は、Databricks OAuth クライアントシークレット
カスタム OAuth クライアントを使用する場合は、すべての API や SQL など、アプリの機能に適した Databricks アクセススコープ
ChatGPT の設定手順で求められる Databricks ワークスペースまたはアカウントの項目
組み込み OAuth
まず、上記の前提条件を満たしてください。この方法は、組み込み OAuth が ChatGPT で利用可能で、Databricks ワークスペースで有効になっている場合にのみ使用してください。
Databricks 管理者に、アカウントコンソールのアプリ連携設定で ChatGPT アプリケーションが利用可能で、ワークスペースで有効になっていることを確認してもらってください。Databricks アカウントコンソールに ChatGPT アプリケーションが表示されない場合は、Databricks のアカウント担当者に連絡し、お使いのアカウントでこの機能を利用できるか確認してください。
ChatGPT で、アプリを利用するアカウントまたはワークスペースに切り替えます。個人用に設定する場合は設定 > プラグインに移動します。ワークスペース用に設定する場合は、ワークスペースの管理者またはオーナーとして管理コンソール > プラグインに移動します。
Databricks Genie を選択し、アプリ接続を追加を選択します。
ワークスペースのホスト名(必須)に、
https://や URL パスを含めずに入力します。続行を選択し、Databricks にサインインして同意リクエストを確認します。
続いて、以下の「接続とテスト」と「アクセス管理」の手順に従い、許可されたメンバーによるテストやワークスペースのアクセス確認も行ってください。
カスタム OAuth クライアント
まず、上記の前提条件を満たしてください。組み込み OAuth が利用できない場合や、組織独自の OAuth クライアントを使用する必要がある場合は、この方法を使用します。設定後、以下の「接続とテスト」と「アクセス管理」の手順を完了してください。
ChatGPT でのカスタム OAuth 設定の開始
ChatGPT で、アプリを利用するアカウントまたはワークスペースに切り替えます。
個人用に設定する場合は設定 > プラグインに移動します。ワークスペース用に設定する場合は、ワークスペースの管理者またはオーナーとして管理コンソール > プラグインに移動します。
ディレクトリで Databricks Genie を選択します。
アプリ接続を追加を選択します。
Databricks Genie に接続ダイアログで、OAuth クライアントのセクションを探します。
ChatGPT からコールバック URL をコピーします。このダイアログは開いたままにしておきます。

コールバック URL の例:
https://chatgpt.com/connector/oauth/<callback_id>
コールバック ID の削除、末尾へのスラッシュの追加、汎用の ChatGPT URL への置き換えはしないでください。Databricks に登録する URL は、ChatGPT に表示されるコールバック URL と完全に一致する必要があります。
Databricks でのカスタム OAuth アプリ接続の作成
お使いの Databricks アカウントのアカウントコンソールを開きます。
左側のサイドバーで設定を開きます。
アプリ接続タブを開きます。
接続を追加を選択します。

「ChatGPT Databricks コネクター」などのアプリケーション名を入力します。
リダイレクト URL に、ChatGPT からコピーしたコールバック URL をそのまま貼り付けます。
アクセススコープで、アプリに必要なスコープを選択します。
SQL 以外の Databricks API も必要とする汎用の Databricks アプリには、すべての API を使用します。
Databricks SQL API のみに限定されたアプリには、SQL のみを使用します。
後で ChatGPT に入力するすべてのスコープが、この Databricks OAuth アプリで有効になっていることを確認してください。Databricks では、UI で作成したアプリに対して openid、email、profile、offline_access が自動的に許可されます。
組織に特定のポリシーがない限り、トークンの TTL は Databricks のデフォルト値のままにします。アクセストークンは 60 分、リフレッシュトークンは 10080 分です。
クライアントシークレットを生成をオンにします。このフローでは、ChatGPT にコンフィデンシャル OAuth クライアントが必要です。
接続を作成します。

Databricks からの認証情報のコピー
接続を作成しましたダイアログで、クライアント ID をコピーします。
クライアントシークレットをすぐにコピーし、安全に保管します。
シークレットをコピーする前にダイアログを閉じた場合は、OAuth アプリの認証情報を作成するかローテーションし、新しいシークレットを使用してください。
Databricks では、シークレットは一度しか表示されません。認証情報として慎重に扱い、スクリーンショット、チケット、コメント、チャットに含めないでください。
ChatGPT でのカスタム OAuth 設定の完了
Databricks Genie に接続ダイアログに戻ります。
OAuth クライアント ID に Databricks のクライアント ID を入力します。
OAuth クライアントシークレットに Databricks のクライアントシークレットを入力します。
スコープ(任意)に、アプリで使用する Databricks のエンドポイントと機能に必要なスコープを入力します。Databricks OAuth アプリで有効になっているスコープと一致させてください。
スコープは 1 行に 1 つずつ入力するか、カンマで区切って入力します。ChatGPT に入力したすべてのスコープを、Databricks OAuth アプリで有効にする必要があります。
ワークスペースのホスト名(必須)に、https:// や URL パスを含めずに入力します。設定画面に表示される、その他の Databricks プロバイダーの必須項目を入力します。
続行を選択します。
ChatGPT は、スコープ(任意)に入力されたスコープだけを要求します。テンプレートに含まれる、より広範なスコープが自動的に追加されることはありません。

接続とテスト
どちらの OAuth 設定方法でも、以下の接続テストとアクセス確認を行ってください。
コネクターの詳細、アクション、認証設定を確認します。
ワークスペース管理者の場合は、ワークスペースでコネクターを有効にし、ワークスペースのポリシーに従って利用できるユーザーを設定します。
利用を許可されたテストユーザーとして ChatGPT から接続手順を開始し、Databricks にサインインします。
ブラウザーで意図した Databricks アカウントまたはワークスペースが開くことを確認します。
要求されたスコープを確認し、認可を選択します。

ブラウザーが ChatGPT に戻り、コネクターが接続済みと表示されることを確認します。
まず、現在のユーザー情報の取得や、承認済みの Databricks SQL リソースへのクエリなど、低リスクの読み取りアクションを実行します。
書き込みアクションが有効な場合は、利用範囲を広げる前に、明らかにリスクの低い Databricks ワークフローでテストします。
ワークスペース用に設定する場合は、利用を許可された管理者以外のワークスペースメンバーに接続を依頼し、同じ低リスクのテストを実施してもらいます。
アクセス管理
アクセス制御には、Databricks と ChatGPT の両方の設定が関わります。
ChatGPT では、ワークスペース管理者がアプリの利用可否とメンバーの利用方法を管理します。Business では、管理者がワークスペース全体でアプリを有効にするかどうかを管理します。Databricks アプリの管理者向け設定(ワークスペース設定 > アプリ、または管理コンソール > プラグイン > レガシーアプリを管理)で、次の項目を確認してください。
ユーザーアクセス:対応する Enterprise および Edu ワークスペースで、コネクターを利用できるワークスペースのロールを設定
アクション制御:有効にする Databricks アクションを設定
アプリの権限:ChatGPT がコネクターを使用する前に、どのような場合にメンバーへ確認するかを設定
これらのアプリの権限は、ChatGPT の会話に適用されます。ワークスペースエージェントでは、作成者がエージェントごとに設定した制御に基づいて、利用可能なアプリアクションと、エンドユーザーに承認を求めるタイミングが決まります。エージェントの動作については、Enterprise および Business 向け ChatGPT ワークスペースエージェントをご覧ください。
Databricks では、管理者が OAuth アプリを認可できるユーザーと、そのユーザーがアクセスできる Databricks リソースを管理します。ChatGPT でアプリを有効にした後も、プロバイダー側の権限は引き続き適用されます。
ワークスペース内の画面操作、アプリへのアクセス、プラン別のアプリ制御については、アプリの管理者向け制御、セキュリティ、コンプライアンスをご覧ください。
Databricks コネクター設定のトラブルシューティング
リダイレクト URI の不一致:カスタム OAuth クライアントを使用する場合は、Databricks のリダイレクト URL の値が、パスとコールバック ID も含め、ChatGPT に表示されるコールバック URL と完全に一致していることを確認してください。コールバック ID の削除、末尾へのスラッシュの追加、別の ChatGPT リダイレクト URL への置き換えはしないでください。
シークレットが見つからない場合:カスタム OAuth クライアントを使用する場合、Databricks のシークレットは一度しか表示されません。コピーしていなかった場合は、新しいクライアントシークレットを生成してください。
OAuth アプリをすぐに利用できない場合:Databricks によると、OAuth アプリケーションの更新処理には最大 30 分かかる場合があります。
スコープの不足または不一致:カスタム OAuth クライアントを使用する場合は、ChatGPT のスコープ(任意)と Databricks OAuth アプリのアクセススコープを比較してください。ChatGPT が要求するすべてのスコープを、Databricks 側で有効にする必要があります。必要に応じて汎用 API アクセスや SQL のみのアクセスも含め、使用するエンドポイントと機能にスコープが対応していることを確認してください。
SQL アクションの失敗:SQL スコープ、ウェアハウスの設定、Databricks の権限を確認してください。
ChatGPT ワークスペースが正しくない場合:ユーザーが接続する ChatGPT ワークスペース内で、コネクターを作成して有効にしてください。
Databricks のアカウントまたはワークスペースが正しくない場合:ワークスペースのホスト名(必須)の値を確認してから、再度サインインの手順を実行し、Databricks で意図したアカウントまたはワークスペースが開くことを確認してください。
ユーザーが接続できない場合:ユーザーに Databricks へのアクセス権があり、OAuth アプリを認可することが許可されているか確認してください。Business では、ワークスペース全体でアプリが有効になっていることを確認してください。対応する Enterprise および Edu ワークスペースでは、ChatGPT のユーザーアクセスでコネクターが許可されていることも確認してください。
Databricks のネットワークポリシーによるコネクターのブロック:Databricks が特定の送信元 IP のみを許可している場合、Databricks 管理者は、該当するアカウントやワークスペースの IP アクセスリスト、コンテキストベースのイングレス制御、ファイアウォール、その他お客様が管理するネットワークルールを更新する必要があります。
現在の ChatGPT コネクターの送信元 IP 範囲からの受信接続を許可してください。
この許可リストは、Databricks またはお客様が管理するネットワーク層で設定してください。これは、ChatGPT ワークスペースの IP 許可リストとは別の設定です。
公開されている IP 範囲は変更される場合があります。可能であれば、JSON に基づく更新を自動化してください。
ネットワークによるブロックを回避するために、クライアントシークレットのローテーションや OAuth スコープの変更を行わないでください。まず、Databricks がコネクターの送信元 IP を拒否しているかどうかを確認してください。
