Connect Databricks Genie to Microsoft Agent 365

このガイドを使って、DatabricksワークスペースをMicrosoft Agent 365に接続してください。 接続後、Agent 365はワークスペースのGenieエージェントをMicrosoft 365エージェントレジストリに同期し、それらの会話アクティビティをオブザーバビリティのために収集します。

Note

DatabricksはGenieスペースをGenieエージェントに改名しました。 一部のDatabricksのAPIやドキュメントでは、今でも Genie spaceという用語が使われています。

接続のしくみ

エージェント365はOAuthマシン間認証(M2M)を用いてDatabricksサービスプリンシパルとしてワークスペースにサインインします。 接続は以下の値を用いています:

接続フィールド Databricksの価値 検索する場所
ワークスペースURL スキームとホストのみのワークスペースURLです ワークスペースのURLを取得してください
クライアント ID サービスプリンシパルのアプリケーションID サービス プリンシパルの作成
クライアント シークレット サービス プリンシパルのための OAuth シークレット OAuth秘密を生成する

これらの認証情報をもとに、エージェント365 では次のことができます:

  • サービスプリンシパルがアクセスできるジーニーエージェントを一覧にし、その詳細を読みます。
  • Collect agent observability data が選択されている場合、同期された各エージェントのGenie会話やメッセージを読み取り、エージェントのActivityタブにアクティビティを表示します。

Agent 365はGenieエージェントに質問をしたり、SQLクエリを実行したり、Genieエージェントを変更したりしません。 唯一の例外は、管理者がエージェント365で同期されたエージェントを削除し、サービス プリンシパルがGenieエージェントに対してCan Manage権限を持っている場合です。 その場合、エージェント365はジーニーエージェントをDatabricksのゴミ箱に移します。

始める前の準備

  • Agent 365のAI管理者がMicrosoft 365 管理センターで接続を作成できるか確認してください。
  • 同期したいGenieエージェントを含むDatabricksワークスペースを特定してください。 各接続は1つのワークスペースに対応します。
  • この記事の Databricks の作業手順を Databricks ワークスペース管理者に依頼してください。 ワークスペース管理者はサービスプリンシパルを作成し、OAuthシークレットを生成し、Genieエージェントを共有できます。
  • Genieが作業スペースで動いているか確認してください。

ワークスペースのURLを取得してください

  1. Databricksのワークスペースにサインインしてください。

  2. ブラウザーのアドレス バーから URL をコピーします。

  3. スキームとホストだけを残しましょう。 /genieや?o=1234567890123456などのパスやクエリ文字列を削除してください。

    ブラウザで開いたDatabricksワークスペースのスクリーンショットで、アドレスバーにワークスペースURLが表示されています。

ワークスペースURLのフォーマットは、ワークスペースをホストするクラウドによって異なります:

雲 ワークスペースのURL例
AWS https://dbc-a1b2c3d4-e5f6.cloud.databricks.com
Azure https://adb-1234567890123456.7.azuredatabricks.net
グーグルクラウド https://1234567890123456.7.gcp.databricks.com

アカウント管理者はDatabricksのアカウントコンソールの ワークスペースでワークスペースURLも見つけることができます。

サービスプリンシパルの作成

Agent 365専用のサービスプリンシパルを作成し、他の統合とは独立してそのアクセス権を監査し、取り消すことができます。

  1. Databricksのワークスペースで、上部バーでユーザー名を選択し、その後 設定を選択します。

  2. [ ID とアクセス] を選択します。 サービスプリンシパルの横にある管理を選択します。

  3. サービス プリンシパルの追加 を選択します。

    Databricksのワークスペース設定にあるサービスプリンシパルページのスクリーンショットで、「サービスプリンシパルを追加」ボタンがあります。

  4. agent365-connectorのような記述的な名前を持つ新しいサービスプリンシパルを作成します。 Azure Databricksで「新規追加」を選択し、次に「Databricks managed」を選択してください。

  5. DatabricksのSQLアクセスとワークスペースアクセスの権利を有効にしてください。 エージェント365は コンシューマーアクセスを必要としません。 管理者アクセスは、サービス プリンシパルをワークスペース管理者にする場合にのみ有効にしてください。

    サービスプリンシパルを追加するときや、後でサービスプリンシパルの 設定 タブでエンタイトルメントを設定できます。

  6. サービスプリンシパルを開き、 そのアプリケーションIDをコピーします。 この値を接続のクライアントIDとして使います。

    Databricksのサービスプリンシパル詳細ページのスクリーンショットで、設定タブのアプリケーションIDを示しています。

詳細については、サービス プリンシパルの管理に関するページを参照してください。

OAuth秘密を生成する

  1. サービスプリンシパルの詳細ページで「シークレット」タブを選択し、「シークレットの生成」を選択します。

    DatabricksのサービスプリンシパルのSecretsタブのスクリーンショットで、「Generate secret」ボタンがあります。

  2. ライフタイム(日数)で秘密を有効にする期間を入力します。 最大730日です。

  3. スコープで「その他のAPI」を選択し、「スコープを追加」を選択し、その後「all-apis」を選択してください。

    Databricks の OAuth シークレットを生成するダイアログのスクリーンショットで、有効期間(日数)と「スコープを追加」リストの all-apis オプションがあります。

  4. [Generate] \(生成) を選択します。

  5. シークレットとクライアントIDをコピーし、完了を選択します。

Important

Databricksはシークレットを一度だけ示します。 安全な場所に保管し、メール、チャット、またはサポート リクエストで共有しないでください。 もしシークレットを失ったら、新しいものを生成してください。 クライアントIDはサービスプリンシパルのアプリケーションIDと同じです。

ダイアログでは all-apis は推奨されないとマークされています。 サービスプリンシパルの権限やGenieエージェントの権限は、エージェント365が読み取れる内容を制限しています。 シークレットの有効期限を把握しておき、期限が切れる前にローテーションできるようにしましょう。

サービスプリンシパルにジーニーエージェントへのアクセスを与える

エージェント365は、サービスプリンシパルがアクセス可能なGenieエージェントのみを同期・監視します。 次のオプションの 1 つを選択します。

Genieエージェントをサービスプリンシパルと共有する

このオプションは、選択したジーニーエージェントにのみアクセスできるため推奨されます。

  1. Databricksのワークスペースで、サイドバーで Genie Agents を選択し、Genieエージェントを開きます。
  2. 共有を選択します。
  3. サービスプリンシパルの名前を入力し、「 追加」を選択し、権限レベルを設定します。 アクティビティを収集するには、Can Manage を選択してください。
  4. 同期させたいジーニーエージェントごとにこれらのステップを繰り返します。

許可レベルによってエージェント365ができることは以下の通りです:

アクセス許可 Agent 365 でできること
閲覧可能 エージェントを名前、説明、ワークスペースのクラウドおよびリージョンと同期させます。
編集可能 また、エージェントの指示やデータソースも読み、それらはエージェントの指示や知識源として表示されます。
管理できる また、エージェントの共有情報も読み取り、エージェントの全ユーザーから会話アクティビティを収集し、管理者が Agent 365 でエージェントを削除した場合は、エージェントはゴミ箱に移動されます。

活動には管理可能が必要です。 Databricksは、Genieエージェントのすべてのユーザーの会話をCan Manage権限を持つプリンシパルにのみ返します。 低い権限でエージェントは同期しますが、アクティビティは表示されません。

Tip

Genieエージェントはワークスペースフォルダから権限を継承します。 複数のGenieエージェントを同時に共有するには、フォルダにまとめて入れ、そのフォルダをサービスプリンシパルと共有してください。

ジーニーエージェントを共有した後は、サービスプリンシパルがそれを一覧表示できるようになるまでに1〜2分かかることがあります。

サービスプリンシパルをワークスペース管理者にしてください

ワークスペース内のすべてのGenieエージェント(後から作成されたGenieエージェントも含む)をカバーするために、Genieエージェントを個別に共有するのではなく、サービスプリンシパルの 管理者権限 を有効にしてください。

Caution

ワークスペース管理者はワークスペースの完全な管理権限を持ち、すべてのGenieエージェントでCan Manage権限を持ちます。 このオプションは、組織のセキュリティポリシーが許可している場合にのみ使用してください。

  1. サービス プリンシパルの詳細ページで、構成 タブを選択します。
  2. 管理者アクセスを選択し、その後更新を選択します。 Databricksはワークスペース admins グループにサービスプリンシパルを追加します。
  3. 確認するには、設定>ID とアクセスに移動してください。 グループの横にある管理を選択します。 管理者グループを開き、メンバータブにサービスプリンシパルがリストアップされているか確認してください。

許可の変更が反映されるまで数分かかることがあります。

接続の作成

  1. Microsoft 365 管理センターを開きます。

  2. [エージェント>すべてのエージェント] を選択します。

  3. 接続プラットフォームで「管理」を選択します。

  4. [+ プラットフォームの接続]を選択します。

  5. 名前と説明を接続のために入力してください。

  6. 外部プラットフォームでDatabricks Genieを選択してください。 認証方法は OAuth(サービスプリンシパル)です。

  7. ワークスペースのURL、クライアントID、クライアントシークレットを入力します。

  8. 「 エージェントの可観測性データ 収集」が選択されていることを確認してください。

  9. [ 認証の確認] を選択します。

  10. 接続が正常に確認されましたと表示されたら、保存を選択します。

    Microsoft 365 管理センター内のDatabricks Genie接続設定のスクリーンショットで、ワークスペースURL、クライアントID、クライアントシークレットを入力し、「接続が正常に検証されました」というメッセージ、そして「agent observability dataの収集」を選択しています。

検証の結果、エージェント365がワークスペースにサインインし、Genieエージェントをリストアップできることが確認されました。 サービスプリンシパルがまだジーニーエージェントにアクセスできなくても成功します。

エージェントを同期する

接続を保存すると、詳細のペインが開き、最初の同期が始まります。 同期が終わると、そのペインに「**同期と表示されます

Microsoft 365 管理センター内のDatabricks Genie接続のスクリーンショットで、同期完了と同期されたGenieエージェントのリストが示されています。

エージェント365は、サービスプリンシパルがアクセス可能なすべてのジーニーエージェントを同期させます。 同期されたエージェントはMicrosoft 365エージェントレジストリに表示されます。 見つけるには、Agents>All agentsにアクセスし、プラットフォームをDatabricks Genieで絞り込みます。 また、Agent map上のDatabricks Genieクラスターにも表示されます。

Genieエージェントをさらに作成または共有した後に同期するには、接続を開き、エージェントを同期を選択してください。

活動を確認する

  1. Databricksで同期されたGenieエージェントを開いて、いくつか質問してみましょう。 もしエージェントがすでに最近の会話がある場合は、このステップを省略してください。

  2. Microsoft 365 管理センターでは、接続の同期済みエージェントリスト、またはエージェント>すべてのエージェントからエージェントを開きます。

  3. アクティビティタブを選択してください。アクティビティが収集されると、セッションに1つ以上表示されます。

    Microsoft 365 管理センター内の同期されたDatabricks Genieエージェントのアクティビティタブのスクリーンショットで、セッション数、例外、エージェントの実行時間、セッション経過チャートを示しています。

会話の後にアクティビティが現れるまでに時間がかかることがあります。 DatabricksはMicrosoft Entraのユーザー識別情報を提供していないため、アクティブユーザーはN/Aと表示されます。 メトリックの定義については、 サードパーティエージェントの観測可能性(Frontier)を参照してください。

アクセス権のローテーションまたは取り消し

クライアント シークレットをローテーションするには:

  1. Databricksで、サービスプリンシパル用の新しいOAuthシークレットを生成します。 サービスプリンシパルは最大5つのシークレットを持てるので、古いシークレットを削除する前に新しいシークレットを作成できます。
  2. Microsoft 365 管理センターで接続を開き、「編集」を選択します。 新しいクライアント シークレットを入力し、「認証を確認」を選択してから接続を保存します。
  3. Databricksでは、サービスプリンシパルの Secrets タブから古いシークレットを削除してください。

アクセスを取り消すには:

  • 特定のGenieエージェントへのアクセスを停止するには、Genieエージェントの共有設定からサービスプリンシパルを削除してください。
  • すべてのアクセスを停止するには、サービス プリンシパルの OAuth シークレットを削除するか、ワークスペースからサービス プリンシパルを削除してください。

Troubleshoot

症状: 考えられる原因 Resolution
認証の確認に失敗 クライアントIDやシークレットが間違っているか余分なスペースが含まれている、シークレットの有効期限が切れているか削除されている、またはワークスペースのURLが別のワークスペースに属しています 値を再度コピーし、必要に応じて新しいシークレットを生成し、スキームとホストのみでワークスペースURLを入力します。
検証は成功するが、エージェントがまったく同期されないか、一部のエージェントしか同期されない サービスプリンシパルはジーニーエージェントにアクセスできないか、エージェントがたった今共有されたばかりです Genieエージェントをサービスプリンシパルと共有するか、サービスプリンシパルをワークスペース管理者にしてください。1〜2分待ってから、「エージェント同期」を選択してください。
エージェントは指示や知識源を見せません サービスプリンシパルは「 Can View 」の権限しか持っていません Genieエージェントに編集可能または管理可能の権限を付与し、その後もう一度同期してください。
エージェントは同期しますが、アクティビティ にセッションが表示されません エージェントの可観測性データを収集 のチェックが外れているか、サービスプリンシパルに Can Manage がないか、誰もエージェントを使用していないか、または処理が進行中です 接続で Collect agent observability data を選択し、Can Manage を付与して、エージェントとやり取りし、後でもう一度確認します。
GenieエージェントはDatabricksでは利用できません パートナー主導のAI機能はアカウントまたはワークスペースで無効になっています Databricksのアカウント管理者にパートナー主導のAI機能を有効にしてもらうよう依頼してください。
クライアント シークレットは失われました Databricksは秘密を一度だけ表示します 新しいシークレットを生成し、接続を更新します。

Agent 365 の外で認証情報をテストしてください

もし検証が失敗し続けるなら、Databricks管理者が直接認証情報をテストできます。 DATABRICKS_CLIENT_IDとDATABRICKS_CLIENT_SECRETの環境変数を設定し、その後ワークスペースからアクセストークンを要求します。 <workspace-host>をワークスペースURLのホストに置き換えます。

curl --request POST "https://<workspace-host>/oidc/v1/token" \
  --user "$DATABRICKS_CLIENT_ID:$DATABRICKS_CLIENT_SECRET" \
  --data "grant_type=client_credentials&scope=all-apis"

成功した応答は、access_token値とtoken_type の Bearerを含むJSONオブジェクトです。 サービスプリンシパルがアクセス可能なGenieエージェントを確認するには、DATABRICKS_TOKEN 環境変数を access_token 値に設定し、Genieエージェントを一覧表示します:

curl --request GET "https://<workspace-host>/api/2.0/genie/spaces" \
  --header "Authorization: Bearer $DATABRICKS_TOKEN"

アクセストークンを保存したり共有したりしないでください。

Databricks Genie特有でない接続問題については、「 接続プラットフォームのトラブルシューティング」をご覧ください。