メインコンテンツまでスキップ

MCP認証

Model Context Protocol (MCP) クライアントは Databricks に対して認証を行い、ツールを呼び出します。ツールが外部サービスにアクセスする場合、どのプロバイダーアカウントを使用するかは別の認証情報によって決定されます。

このページでは、 Databricks AppsのUnity GatewayおよびMCPサーバーでサポートされる認証方法について説明します。クライアント、エージェント、またはMCPサーバーの認証を構成するには、セットアップガイドを使用します。IPアクセスリスト、ネットワークポリシー、およびプライベート接続については、MCPネットワークを参照してください。

次の図は、Unity Gatewayを介してアクセスされる外部MCPの2つの認証ステップを示しています。

受信および送信MCP認証方法:DatabricksトークンがUnity Gatewayに到達し、プロバイダトークンが外部MCPに到達します。

  1. 受信認証: クライアントは、ユーザーまたは Databricks Service Principal を識別する Databricks トークンを送信します。
  2. アウトバウンド認証: Unity Gateway は、外部プロバイダーのトークンを MCP に送信します。Unity Catalog 接続で構成された認証方法は、各ユーザーのプロバイダー アカウントを使用するか、共有アカウントを使用するかを決定します。

セットアップガイドを探す​

ユースケースの前提条件、設定ステップ、およびコードのガイドを選択します。

ガイド

対象範囲

コーディングエージェントを MCP ツールに接続する

MCPの追加、プロバイダー アクセスの承認、ツールの呼び出しを行います。エージェントがまだDatabricksに接続されていない場合は、 コーディングエージェントのクイックスタートから始めてください。

Claude Desktop または Web に接続する

OAuthクライアントを構成し、MCPコネクタを追加します。別のビジネスクライアントについては、その他のMCPクライアントをご覧ください。

アプリをMCPツールに接続する

アプリケーションは複数のユーザーにサービスを提供します。各ユーザーのトークンを使用してプロバイダーのサインインを確認し、ユーザーの権限でツールを呼び出します。

Pythonエージェントを構築してランします

エージェントをローカルでビルドまたはテストします。CLIでサインインし、MCPツールを読み込み、選択したフレームワークでエージェントをランします。

REST API を MCP ツールとして公開する

Databricks AppsにMCPサーバーをデプロイし、ユーザー認可を有効にして、APIへのHTTP接続を設定します。

Service Principal を使用して無人エージェントを認証する

OAuth M2M 認証情報を構成し、それを Python MCP クライアント と共に使用します。

Unity Gatewayで外部MCPを登録する

サーバーを登録し、認証方法を選択し、ツールをテストします。

ガイド

対象範囲

コーディングエージェントを MCP ツールに接続する

MCPの追加、プロバイダー アクセスの承認、ツールの呼び出しを行います。エージェントがまだDatabricksに接続されていない場合は、 コーディングエージェントのクイックスタートから始めてください。

Claude Desktop または Web に接続する

OAuthクライアントを構成し、MCPコネクタを追加します。別のビジネスクライアントについては、その他のMCPクライアントをご覧ください。

アプリをMCPツールに接続する

アプリケーションは複数のユーザーにサービスを提供します。各ユーザーのトークンを使用してプロバイダーのサインインを確認し、ユーザーの権限でツールを呼び出します。

Pythonエージェントを構築してランします

エージェントをローカルでビルドまたはテストします。CLIでサインインし、MCPツールを読み込み、選択したフレームワークでエージェントをランします。

REST API を MCP ツールとして公開する

Databricks AppsにMCPサーバーをデプロイし、ユーザー認可を有効にして、APIへのHTTP接続を設定します。

Service Principal を使用して無人エージェントを認証する

OAuth M2M 認証情報を構成し、それを Python MCP クライアント と共に使用します。

Unity Gatewayで外部MCPを登録する

サーバーを登録し、認証方法を選択し、ツールをテストします。

コンシューマーアクセスで MCP ツールを使用する​

ユーザーは、 消費者アクセス 権限を持つコーディングエージェント、カスタムアプリ、およびビジネス クライアントから Unity Gateway を介して MCP ツールを呼び出すことができます。サービスプリンシパルには、ノートブックやジョブなどのワークスペース作成ツールへのアクセスを許可する ワークスペースアクセス 権限は必要ありません。

管理者がコンシューマーアクセスを許可し、MCPを呼び出す権限を付与します。ユーザーごとのOAuthを使用するMCPの場合、ユーザーはMCPサインインページを通じてプロバイダーアカウントを認証します。

コンシューマーアクセスでは、MCP ツールの使用がサポートされています。Unity Gateway UI で MCP を管理するには、 ワークスペースアクセス が必要です。コンシューマーアクセスの機能を参照してください。

サポートされているインバウンド認証​

クライアントが Unity Gateway または Databricks Apps を介して MCP を呼び出すとき、クライアントは Databricks トークンを送信します。このトークンは、要求を行っている Databricks ユーザーまたは Databricks Service Principal を識別します。

ユースケース

使用する認証

ユーザーがコーディングエージェントまたはビジネスクライアントからサインインします。

OAuthユーザー対マシン(U2M)では、サインイン中のユーザーとしてMCPを呼び出します。

無人エージェントまたはサービスは、ユーザーなしで実行されます。

OAuth マシン間 (M2M) は、MCPをService Principalとして呼び出します。

アプリやワークロードは、 IDプロバイダーからのトークンをすでに保持しています。

OAuthトークンフェデレーションは、そのトークンをマップされたユーザーまたはService PrincipalのDatabricks OAuthトークンと交換します。

既存の統合で個人用アクセストークンが使用されています。

パーソナルアクセストークン(PAT)は、トークンの所有者としてMCPを呼び出します。Unity Gatewayでサポートされています。Databricksアプリ上のMCPサーバーではサポートされていません。

ユースケース

使用する認証

ユーザーがコーディングエージェントまたはビジネスクライアントからサインインします。

OAuthユーザー対マシン(U2M)では、サインイン中のユーザーとしてMCPを呼び出します。

無人エージェントまたはサービスは、ユーザーなしで実行されます。

OAuth マシン間 (M2M) は、MCPをService Principalとして呼び出します。

アプリやワークロードは、 IDプロバイダーからのトークンをすでに保持しています。

OAuthトークンフェデレーションは、そのトークンをマップされたユーザーまたはService PrincipalのDatabricks OAuthトークンと交換します。

既存の統合で個人用アクセストークンが使用されています。

パーソナルアクセストークン(PAT)は、トークンの所有者としてMCPを呼び出します。Unity Gatewayでサポートされています。Databricksアプリ上のMCPサーバーではサポートされていません。

サポートされているアウトバウンド認証​

アウトバウンド認証は、外部MCPまたはバックエンドが受信する資格情報を決定します。Unity Gatewayは、 Unity Catalog接続を通じて資格情報を管理します。Databricks AppsのMCPサーバーは、接続を使用するか、独自のバックエンド認証を実装することができます。

Unity Catalog 接続経由​

Unity Gateway は、Unity Catalog 接続で構成または取得されたプロバイダー トークンを使用して、外部 MCP に対する認証を行います。

Unity Gateway は、Unity Catalog HTTP 接続で利用できる 5 つの認証方法すべてをサポートしています。外部 MCP は、選択されたメソッドをサポートしている必要があります。

サポートされているメソッド

使用時

外部MCPでのID

ベアラートークン

すべての呼び出し元が1つのトークンを共有してMCPにアクセスします。

共有トークンによって表されるアカウント。

OAuthによるマシン間通信

MCP は、共有サービス ID に対する OAuth クライアント認証情報をサポートしています。

接続で構成されたサービスID。

OAuth:ユーザーからマシンへ(共有)

MCPにはユーザーのサインインが必要であり、すべての呼び出し元は1つの共有プロバイダーアカウントを使用する必要があります。

接続の許可を取得したプロバイダーアカウント。

動的クライアント登録(DCR)

MCPは、自動OAuthクライアント登録とユーザーごとのサインインをサポートしています。

呼び出し元が承認したプロバイダーアカウント。

OAuth ユーザーマシン間 (ユーザーごと)

各ユーザーは、構成されたOAuthクライアントを使用して、独自のプロバイダーアカウントを通じてアクセスする必要があります。

呼び出し元が承認したプロバイダーアカウント。

サポートされているメソッド

使用時

外部MCPでのID

ベアラートークン

すべての呼び出し元が1つのトークンを共有してMCPにアクセスします。

共有トークンによって表されるアカウント。

OAuthによるマシン間通信

MCP は、共有サービス ID に対する OAuth クライアント認証情報をサポートしています。

接続で構成されたサービスID。

OAuth:ユーザーからマシンへ(共有)

MCPにはユーザーのサインインが必要であり、すべての呼び出し元は1つの共有プロバイダーアカウントを使用する必要があります。

接続の許可を取得したプロバイダーアカウント。

動的クライアント登録(DCR)

MCPは、自動OAuthクライアント登録とユーザーごとのサインインをサポートしています。

呼び出し元が承認したプロバイダーアカウント。

OAuth ユーザーマシン間 (ユーザーごと)

各ユーザーは、構成されたOAuthクライアントを使用して、独自のプロバイダーアカウントを通じてアクセスする必要があります。

呼び出し元が承認したプロバイダーアカウント。

Databricks提供のMCP​

Databricks SQL などのデータ MCP の場合、呼び出し元の Databricks ID が基になるデータへのアクセスを決定します。GitHub などの外部サービス用の MCP は、Unity Catalog 接続経由の説明に従ってプロバイダー認証を使用します。各サーバーの要件については、Databricks 提供の MCP を参照してください。

Databricksアプリ上のエージェントとMCPサーバー​

Databricks AppsのエージェントまたはMCPサーバーは、アプリのService Principalとしてアプリ認証を使用するか、現在のユーザーとしてユーザー認証を使用してDatabricksを呼び出すことができます。

宛先によって、アウトバウンドコールを認証する方法が決まります。

  • Databricks APIs または Unity Gateway 経由のその他の MCP: アプリ認証を使用してアプリとして呼び出すか、ユーザー認証を使用して現在のユーザーとして呼び出します。
  • HTTP 接続プロキシ経由の外部 REST APIs: プロキシは、選択した接続方法を使用して外部 API に対して認証を行います。各ユーザーとして呼び出すには、アプリのユーザー承認と接続ごとのユーザー OAuth を組み合わせます。
  • 直接呼び出される外部APIまたはMCP: そのサービスでサポートされている認証フローをサーバーに実装します。

セットアップ、必要なスコープ、およびコードについては、エージェント認証の構成およびREST APIをMCPツールとして公開するを参照してください。