このページでは、 Databricks ODBC ドライバーの Azure Databricks 認証設定を構成する方法について説明します。
Databricks ODBC ドライバーは、次の Azure Databricks 認証の種類をサポートしています。
- Microsoft Entra ID トークン
- OAuth 2.0 トークン
- Databricks OAuth ユーザー対マシン (U2M) 認証
- Microsoft Entra ID OAuth ユーザー対マシン (U2M) 認証
- OAuth マシン間 (M2M) 認証
- Microsoft Entra ID OAuth マシン間 (M2M) 認証
- Azure マネージド ID 認証
- Azure Databricks 個人用アクセス トークン (レガシ)
Microsoft Entra ID トークン
ODBC ドライバー 2.6.15 以降では、Azure Databricks ユーザーまたは Microsoft Entra ID サービス プリンシパルの Microsoft Entra ID トークンがサポートされています。
Microsoft Entra ID アクセス トークンを作成するには、次の操作を行います。
- Azure Databricks ユーザーの場合は、 Azure CLI を使用します。 「Microsoft Entra ID トークンを手動で取得する」を参照してください。
- Microsoft Entra ID サービス プリンシパルについては、「 サービス プリンシパルのトークンを取得する」を参照してください。 Microsoft Entra ID マネージド サービス プリンシパルを作成するには、「 サービス プリンシパル」を参照してください。
Microsoft Entra ID アクセス トークンの既定の有効期間は約 1 時間です。 更新トークンでコードを実行して、接続を中断することなく、既存のセッションのアクセス トークンをプログラムで 更新します。 手順については、Databricks ODBC ドライバー ガイドの OAuth 2.0 の使用 を参照してください。
Microsoft Entra ID トークンを使って認証するには、次の構成をコンピューティング設定と特殊または高度なドライバー機能設定に追加します。
| 設定 | 価値 |
|---|---|
AuthMech |
11 |
Auth_Flow |
0 |
Auth_AccessToken |
Microsoft Entra ID トークン |
Windows 以外のシステム用の DSN を作成するには、次の形式を使います。
[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=0
Auth_AccessToken=<microsoft-entra-id-token>
DSN を使用しない接続文字列を作成するには、次の形式を使います。 この例には、読みやすくするための改行が含まれています。 接続文字列に次の改行を含めないでください。
Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=0;
Auth_AccessToken=<microsoft-entra-id-token>
-
<path-to-driver>の値を取得するには、「Databricks ODBC ドライバー (Simba) をダウンロードしてインストールする」を参照してください。 -
<server-hostname>と<http-path>の値を取得するには、「Databricks ODBC Driver (Simba)のコンピューティング設定」を参照してください。 - 必要に応じて、特別なドライバー機能設定または高度な ドライバー機能設定を追加します。
詳細については、Databricks ODBC ドライバー ガイド (HTML または PDF) の「トークン パススルー」セクションを参照してください。
Azure ロールを持つサービス プリンシパル
Microsoft Entra ID サービス プリンシパルが Azure のワークスペース リソースに対する Azure ロールを持っていて、Azure Databricks ワークスペースにない場合は、ODBC 接続で追加の HTTP ヘッダーを設定する必要があります。 Simba Spark ODBC Driver では、 http.header.[HeaderKey]=[HeaderValue]形式を使用したヘッダーの追加がサポートされています。
DSN または DSNレスタイプの接続文字列に、Azure ロールを持つサービス プリンシパルから次の必須ヘッダーを設定します。
http.header.X-Databricks-Azure-SP-Management-Token=<management-access-token>http.header.X-Databricks-Azure-Workspace-Resource-Id=<workspace-resource-id>
管理トークンを取得するには、 Azure ロールを持つサービス プリンシパルに関するページを参照してください。 ワークスペース リソース ID を取得するには、 Azure マネージド ID 認証に関するページを参照してください。
OAuth 2.0 トークン
ODBC ドライバー 2.7.5 以降では、Microsoft Entra ID サービス プリンシパルの OAuth 2.0 トークンがサポートされています。 これは、OAuth 2.0 ''トークン パススルー'' 認証とも呼ばれます。
- Microsoft Entra ID サービス プリンシパルのトークン パススルー認証用の OAuth 2.0 トークンを作成するには、「 OAuth M2M アクセス トークンを手動で生成する」を参照してください。 サービス プリンシパルの OAuth
access_token値を書き留めます。 - Microsoft Entra ID マネージド サービス プリンシパルを作成するには、「 サービス プリンシパル」を参照してください。
重要
ODBC ドライバー 2.7.5 以降では、Azure Databricks OAuth シークレットを使用した OAuth 2.0 トークンの作成がサポートされています。 Microsoft Entra ID シークレットはサポートされていません。
OAuth 2.0 トークンの既定の有効期間は 1 時間です。 新しい OAuth 2.0 トークンを生成するには、このプロセスを繰り返します。
OAuth 2.0 トークン パススルー認証を使って認証するには、次の構成をコンピューティング設定と特殊または高度なドライバー機能設定に追加します。
| 設定 | 価値 |
|---|---|
AuthMech |
11 |
Auth_Flow |
0 |
Auth_AccessToken |
Azure Databricks OAuth トークン (OAuth 2.0 トークン パススルー認証では、Microsoft Entra ID トークンはサポートされていません)。 |
Windows 以外のシステム用の DSN を作成するには、次の形式を使います。
[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=0
Auth_AccessToken=<databricks-oauth-token>
DSN を使用しない接続文字列を作成するには、次の形式を使います。 この例には、読みやすくするための改行が含まれています。 接続文字列に次の改行を含めないでください。
Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=0;
Auth_AccessToken=<databricks-oauth-token>
-
<path-to-driver>の値を取得するには、「Databricks ODBC ドライバー (Simba) をダウンロードしてインストールする」を参照してください。 -
<server-hostname>と<http-path>の値を取得するには、「Databricks ODBC Driver (Simba)のコンピューティング設定」を参照してください。 - 必要に応じて、特別なドライバー機能設定または高度な ドライバー機能設定を追加します。
詳細については、Databricks ODBC ドライバー ガイド (HTML または PDF) の「トークン パススルー」セクションを参照してください。
Databricks OAuth ユーザー対マシン (U2M) 認証
ODBC ドライバー 2.8.2 以降では、Azure Databricks ユーザーの OAuth ユーザー対マシン (U2M) 認証がサポートされています。 これは、OAuth 2.0 ''ブラウザーベース'' の認証とも呼ばれます。
OAuth U2M または OAuth 2.0 ブラウザーベースの認証には、前提条件はありません。 OAuth 2.0 トークンの既定の有効期間は 1 時間です。 OAuth U2M または OAuth 2.0 ブラウザー ベースの認証では、期限切れの OAuth 2.0 トークンが自動的に更新されます。
注記
OAuth U2M または OAuth 2.0 ブラウザーベースの認証は、ローカルで実行されるアプリケーションでのみ機能します。 サーバー ベースまたはクラウドベースのアプリケーションでは機能しません。
OAuth ユーザー対マシン (U2M) または OAuth 2.0 ブラウザーベースの認証を使って認証するには、次の構成をコンピューティング設定と特殊または高度なドライバー機能設定に追加します。
| 設定 | 価値 |
|---|---|
AuthMech |
11 |
Auth_Flow |
2 |
PWD |
任意のパスワード。 ドライバーでは、更新トークンの暗号化にこのキーが使用されます。 |
Auth_Client_ID (任意) |
databricks-sql-odbc (既定値)。 使用可能なすべてのアプリケーションについては、 アカウント コンソールの「アプリ接続の設定」を参照してください。 |
Auth_Scope (任意) |
sql offline_access (既定) |
OAuth2RedirectUrlPort (任意) |
8020 (既定) |
Windows 以外のシステム用の DSN を作成するには、次の形式を使います。
[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=2
PWD=<password>
DSN を使用しない接続文字列を作成するには、次の形式を使います。 この例には、読みやすくするための改行が含まれています。 接続文字列に次の改行を含めないでください。
Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=2;
PWD=<password>
-
<path-to-driver>の値を取得するには、「Databricks ODBC ドライバー (Simba) をダウンロードしてインストールする」を参照してください。 -
<server-hostname>と<http-path>の値を取得するには、「Databricks ODBC Driver (Simba)のコンピューティング設定」を参照してください。 - 必要に応じて、特別なドライバー機能設定または高度な ドライバー機能設定を追加します。
詳細については、Databricks ODBC ドライバー ガイド (HTML または PDF) のブラウザー ベースのセクションを参照してください。
Microsoft Entra ID OAuth ユーザー対マシン (U2M) 認証
ODBC ドライバー 2.8.2 以降では、Azure Databricks ユーザーの Microsoft Entra ID OAuth ユーザー対マシン (U2M) 認証がサポートされています。
Microsoft Entra ID OAuth ユーザー対マシン (U2M) を使用するには、OAuth クライアント (アプリケーション) を Microsoft Entra ID に登録する必要があります。「 Microsoft Entra ID にクライアント アプリケーションを登録する」を参照してください。
Microsoft Entra ID OAuth ユーザー対マシン (U2M) を使って認証を行うには、次の構成をコンピューティングの設定と、すべての特殊または高度なドライバー機能の設定に追加します。
| 設定 | 価値 |
|---|---|
AuthMech |
11 |
Auth_Flow |
2 |
PWD |
任意のパスワード。 ドライバーは、更新トークンの暗号化にこのキーを使います |
Auth_Client_ID |
Azure アプリケーションのアプリケーション (クライアント) ID |
Auth_Scope |
2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/user_impersonation offline_access |
OIDCDiscoveryEndpoint |
https://login.microsoftonline.com/<azureTenantId>/v2.0/.well-known/openid-configuration |
OAuth2RedirectUrlPort |
Azure アプリケーションのリダイレクト ポート |
Windows 以外のシステム用の DSN を作成するには、次の形式を使います。
[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=1
Auth_Client_ID=<application-id-azure-application>
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/user_impersonation offline_access
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<azureTenantId>/v2.0/.well-known/openid-configuration
OAuth2RedirectUrlPort=<redirect port of the Azure application>
DSN を使用しない接続文字列を作成するには、次の形式を使います。 この例には、読みやすくするための改行が含まれています。 接続文字列に次の改行を含めないでください。
Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=1;
Auth_Client_ID=<application-id-azure-application>;
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/user_impersonation offline_access;
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<azureTenantId>/v2.0/.well-known/openid-configuration;
OAuth2RedirectUrlPort=<redirect port of the Azure application>;
-
<path-to-driver>の値を取得するには、「Databricks ODBC ドライバー (Simba) をダウンロードしてインストールする」を参照してください。 -
<server-hostname>と<http-path>の値を取得するには、「Databricks ODBC Driver (Simba)のコンピューティング設定」を参照してください。 - 必要に応じて、特別なドライバー機能設定または高度な ドライバー機能設定を追加します。
OAuth マシン間 (M2M) 認証
ODBC ドライバーは、Azure Databricks サービス プリンシパルの OAuth マシン間 (M2M) 認証をサポートしています。 これは、OAuth 2.0 ''クライアント資格情報'' 認証とも呼ばれます。
OAuth M2M または OAuth 2.0 クライアント資格情報認証を構成するには、次のようにします。
Azure Databricks ワークスペースで Azure Databricks サービス プリンシパルを作成し、そのサービス プリンシパルの OAuth シークレットを作成します。
サービス プリンシパルとその OAuth シークレットを作成するには、「 OAuth を使用して Azure Databricks へのサービス プリンシパル アクセスを承認する」を参照してください。 サービス プリンシパルの UUID または アプリケーション ID の値と、サービス プリンシパルの OAuth シークレットのシークレット 値をメモしておきます。
サービス プリンシパルにクラスターまたはウェアハウスへのアクセス権を付与します。 「コンピューティングのアクセス許可」または「SQL ウェアハウスを管理する」を参照してください。
OAuth マシン間 (M2M) または OAuth 2.0 クライアント資格情報認証を使って認証するには、次の構成をコンピューティング設定と特殊または高度なドライバー機能設定に追加します。
| 設定 | 価値 |
|---|---|
AuthMech |
11 |
Auth_Flow |
1 |
Auth_Client_ID |
サービス プリンシパルの UUID/アプリケーション ID 値。 |
Auth_Client_Secret |
サービス プリンシパルの OAuth シークレット 値。 |
Auth_Scope (任意) |
all-apis (既定) |
Windows 以外のシステム用の DSN を作成するには、次の形式を使います。
[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=1
Auth_Client_ID=<service-principal-application-ID>
Auth_Client_Secret=<service-principal-secret>
Auth_Scope=all-apis
DSN を使用しない接続文字列を作成するには、次の形式を使います。 この例には、読みやすくするための改行が含まれています。 接続文字列に次の改行を含めないでください。
Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=1;
Auth_Client_ID=<service-principal-application-ID>;
Auth_Client_Secret=<service-principal-secret>;
Auth_Scope=all-apis
-
<path-to-driver>の値を取得するには、「Databricks ODBC ドライバー (Simba) をダウンロードしてインストールする」を参照してください。 -
<server-hostname>と<http-path>の値を取得するには、「Databricks ODBC Driver (Simba)のコンピューティング設定」を参照してください。 - 必要に応じて、特別なドライバー機能設定または高度な ドライバー機能設定を追加します。
詳細については、Databricks ODBC ドライバー ガイド (HTML または PDF) の「クライアント資格情報」セクションを参照してください。
Microsoft Entra ID OAuth マシン間 (M2M) 認証
ODBC ドライバー 2.8.2 以降では、Microsoft Entra ID サービス プリンシパルに対する Microsoft Entra ID OAuth マシン間 (M2M) 認証がサポートされています。
Entra ID OAuth マシン間 (M2M) 認証を構成するには、次のようにします。
- Microsoft Entra ID 管理サービス プリンシパルを作成します。 これを行うには、 サービス プリンシパルに関する説明を参照してください。
- サービス プリンシパルにクラスターまたはウェアハウスへのアクセス権を付与します。 「コンピューティングのアクセス許可」または「SQL ウェアハウスを管理する」を参照してください。
Entra ID OAuth マシン間 (M2M) を使って認証を行うには、次の構成をコンピューティングの設定と、すべての特殊または高度なドライバー機能の設定に追加します。
| 設定 | 価値 |
|---|---|
AuthMech |
11 |
Auth_Flow |
1 |
Auth_Client_ID |
Entra ID のサービス プリンシパルのアプリケーション ID |
Auth_Client_Secret |
Entra ID のサービス プリンシパルのクライアント シークレット。 これは、ユーザーが Microsoft Entra ID の [証明書とシークレット] で作成するクライアント シークレットです。 |
Auth_Scope |
2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default |
OIDCDiscoveryEndpoint |
https://login.microsoftonline.com/<AzureTenantId>/v2.0/.well-known/openid-configuration |
Windows 以外のシステム用の DSN を作成するには、次の形式を使います。
[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=1
Auth_Client_ID=<entra-id-service-principal-application-ID>
Auth_Client_Secret=<entra-id-service-principal-client-secret>
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<AzureTenantId>/v2.0/.well-known/openid-configuration
DSN を使用しない接続文字列を作成するには、次の形式を使います。 この例には、読みやすくするための改行が含まれています。 接続文字列に次の改行を含めないでください。
Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=1;
Auth_Client_ID=<entra-id-service-principal-application-ID>>;
Auth_Client_Secret=<entra-id-service-principal-client-secret>;
Auth_Scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default;
OIDCDiscoveryEndpoint=https://login.microsoftonline.com/<AzureTenantId>/v2.0/.well-known/openid-configuration
-
<path-to-driver>の値を取得するには、「Databricks ODBC ドライバー (Simba) をダウンロードしてインストールする」を参照してください。 -
<server-hostname>と<http-path>の値を取得するには、「Databricks ODBC Driver (Simba)のコンピューティング設定」を参照してください。 - 必要に応じて、特別なドライバー機能設定または高度な ドライバー機能設定を追加します。
Azure マネージド ID 認証
ODBC ドライバー 2.7.7 以降では、Azure マネージド ID 認証がサポートされています。 この認証方法は、Azure VM などのマネージド ID をサポートする Azure リソースを操作する場合に使用します。
- マネージド ID の詳細については、「Azure リソースのマネージド ID とは」を参照してください。
- マネージド ID を作成し、Azure Databricks ワークスペースにアクセスするためのアクセス許可を付与する方法については、「 Azure Databricks で Azure マネージド ID を使用する」を参照してください。
Azure マネージド ID 認証を使って認証するには、次の構成をコンピューティング設定と特殊または高度なドライバー機能設定に追加します。
| 設定 | 価値 |
|---|---|
AuthMech |
11 |
Auth_Flow |
3 |
Auth_Client_ID |
Azure マネージド ID の識別子。 |
Azure_workspace_resource_id |
Azure Databricks ワークスペースの Azure リソース ID。 この ID を取得するには、Azure Databricks ワークスペースの上部のナビゲーション バーでユーザー名をクリックし、 Azure Portal。 表示された Azure Databricks ワークスペース リソース ページで、サイドバーの [設定] の下にある [プロパティ] をクリックします。 ID は [Essentials] の下の [ID] にあります。 |
Windows 以外のシステム用の DSN を作成するには、次の形式を使います。
[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=3
Auth_Client_ID=<azure-managed-identity-ID>
Azure_workspace_resource_id=<azure-workspace-resource-ID>
DSN を使用しない接続文字列を作成するには、次の形式を使います。 この例には、読みやすくするための改行が含まれています。 接続文字列に次の改行を含めないでください。
Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=11;
Auth_Flow=3;
Auth_Client_ID=<azure-managed-identity-ID>;
Azure_workspace_resource_id=<azure-workspace-resource-ID>
-
<path-to-driver>の値を取得するには、「Databricks ODBC ドライバー (Simba) をダウンロードしてインストールする」を参照してください。 -
<server-hostname>と<http-path>の値を取得するには、「Databricks ODBC Driver (Simba)のコンピューティング設定」を参照してください。 - 必要に応じて、特別なドライバー機能設定または高度な ドライバー機能設定を追加します。
Azure Databricks 個人用アクセス トークン (レガシ)
Azure Databricks 個人用アクセス トークンを作成するには、「 ワークスペース ユーザーの個人用アクセス トークンを作成する」の手順に従います。
Azure Databricks 個人用アクセス トークンを使って認証するには、次の構成をコンピューティング設定と特殊または高度なドライバー機能設定に追加します。
| 設定 | 価値 |
|---|---|
AuthMech |
3 |
UID |
token |
PWD |
ワークスペースのユーザー向けDatabricksの個人アクセストークン |
Windows 以外のシステム用の DSN を作成するには、次の形式を使います。
[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=3
UID=token
PWD=<personal-access-token>
DSN を使用しない接続文字列を作成するには、次の形式を使います。 この例には、読みやすくするための改行が含まれています。 接続文字列に次の改行を含めないでください。
Driver=<path-to-driver>;
Host=<server-hostname>;
Port=443;
HTTPPath=<http-path>;
SSL=1;
ThriftTransport=2;
AuthMech=3;
UID=token;
PWD=<personal-access-token>
-
<path-to-driver>の値を取得するには、「Databricks ODBC ドライバー (Simba) をダウンロードしてインストールする」を参照してください。 -
<server-hostname>と<http-path>の値を取得するには、「Databricks ODBC Driver (Simba)のコンピューティング設定」を参照してください。 - 必要に応じて、特別なドライバー機能設定または高度な ドライバー機能設定を追加します。