Databricks ODBC ドライバーの認証設定
この記事では、Databricks ODBC ドライバーの Azure Databricks 認証設定を構成する方法について説明します。
Databricks ODBC ドライバーは、次の Azure Databricks 認証の種類をサポートしています。
- 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 個人用アクセス トークン
Azure Databricks 個人用アクセス トークンを作成するには、次の操作を行います。
- Azure Databricks ワークスペースの上部バーで、目的の Azure Databricks ユーザー名をクリックし、次にドロップダウンから [設定] を選択します。
- [開発者] をクリックします。
- [アクセス トークン] の横にある [管理] をクリックします。
- [新しいトークンの生成] をクリックします。
- (省略可能) 将来このトークンを識別するのに役立つコメントを入力し、トークンの既定の有効期間 90 日を変更します。 有効期間のないトークンを作成するには (推奨されません)、[有効期間 (日)] ボックスを空のままにします。
- [Generate](生成) をクリックします。
- 表示されたトークンを安全な場所にコピーし、[完了] をクリックします。
Note
コピーしたトークンは必ず安全な場所に保存してください。 コピーしたトークンは他人に見せないでください。 コピーしたトークンを失った場合、それとまったく同じトークンは再生成できません。 代わりに、この手順を繰り返して新しいトークンを作成する必要があります。 コピーしたトークンを紛失した場合や、トークンが侵害されていると思われる場合、Databricks では、[アクセス トークン] ページのトークンの横にあるごみ箱 ([取り消し]) アイコンをクリックして、ワークスペースからそのトークンをすぐに削除することを強くお勧めします。
ワークスペースでトークンを作成することや使用することができない場合は、ワークスペース管理者によってトークンが無効にされているか、トークンを作成または使用する権限が作業者に付与されていない可能性があります。 ワークスペース管理者に連絡するか、以下のトピックを参照してください。
Azure Databricks 個人用アクセス トークンを使って認証するには、次の構成をコンピューティング設定と特殊または高度なドライバー機能設定に追加します。
設定 | Value |
---|---|
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 ドライバーをダウンロードしてインストールする」を参照してください。<server-hostname>
と<http-path>
の値を取得するには、「Databricks ODBC ドライバーのコンピューティング設定」を参照してください。- また、特殊または高度なドライバー機能設定を追加することもできます。
Microsoft Entra ID トークン
ODBC ドライバー 2.6.15 以降では、Azure Databricks ユーザーまたは Microsoft Entra ID サービス プリンシパルの Microsoft Entra ID トークンがサポートされています。
Microsoft Entra ID アクセス トークンを作成するには、次の操作を行います。
- Azure Databricks ユーザーの場合は、Azure CLI を使用できます。 「Azure CLI を使用してユーザーの Microsoft Entra ID トークンを取得する」を参照してください。
- Microsoft Entra ID サービス プリンシパルについては、「Azure CLI を使用して Microsoft Entra ID アクセス トークンを取得する」を参照してください。 Microsoft Entra ID マネージド サービス プリンシパルを作成するには、「サービス プリンシパルを管理する」をご参照ください。
Microsoft Entra ID アクセス トークンの既定の有効期間は約 1 時間です。 アクセス トークンは、「Microsoft Entra ID アクセス トークンを更新する」のコードを実行することで、接続を中断することなく、既存のセッションに対してプログラムで更新できます。 トークンを更新する方法については、Databricks ODBC ドライバー ガイドのセクション Configuring Authentication on Windows > Providing a New Access Token
を参照してください。
Microsoft Entra ID トークンを使って認証するには、次の構成をコンピューティング設定と特殊または高度なドライバー機能設定に追加します。
設定 | Value |
---|---|
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 ドライバーをダウンロードしてインストールする」を参照してください。<server-hostname>
と<http-path>
の値を取得するには、「Databricks ODBC ドライバーのコンピューティング設定」を参照してください。- また、特殊または高度なドライバー機能設定を追加することもできます。
詳細については、Databricks ODBC ドライバー ガイドの Token Pass-through
セクションを参照してください。
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 トークン パススルー認証を使って認証するには、次の構成をコンピューティング設定と特殊または高度なドライバー機能設定に追加します。
設定 | Value |
---|---|
AuthMech |
11 |
Auth_Flow |
0 |
Auth_AccessToken |
Azure Databricks OAuth トークン (Microsoft Entra ID トークンは、OAuth 2.0 トークン パススルー認証ではサポートされていません。) |
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 ドライバーをダウンロードしてインストールする」を参照してください。<server-hostname>
と<http-path>
の値を取得するには、「Databricks ODBC ドライバーのコンピューティング設定」を参照してください。- また、特殊または高度なドライバー機能設定を追加することもできます。
詳細については、Databricks ODBC ドライバー ガイドの Token Pass-through
セクションを参照してください。
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 トークンが自動的に更新されるはずです。
Note
OAuth U2M または OAuth 2.0 ブラウザーベースの認証は、ローカルで実行されるアプリケーションでのみ機能します。 サーバーベースまたはクラウドベースのアプリケーションでは機能しません。
OAuth ユーザー対マシン (U2M) または OAuth 2.0 ブラウザーベースの認証を使って認証するには、次の構成をコンピューティング設定と特殊または高度なドライバー機能設定に追加します。
設定 | Value |
---|---|
AuthMech |
11 |
Auth_Flow |
2 |
PWD |
任意のパスワード。 ドライバーでは、更新トークンの暗号化にこのキーが使用されます。 |
Auth_Client_ID (任意) |
databricks-sql-odbc (既定) 該当するすべてのアプリケーションは、Databricks アカウント コンソールの [アプリの接続] の設定で確認できます。「Azure Databricks UI を使用してカスタム OAuth アプリケーションを有効にする」をご覧ください。 |
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 ドライバーをダウンロードしてインストールする」を参照してください。<server-hostname>
と<http-path>
の値を取得するには、「Databricks ODBC ドライバーのコンピューティング設定」を参照してください。- また、特殊または高度なドライバー機能設定を追加することもできます。
詳細については、Databricks ODBC ドライバー ガイドの Browser Based
セクションを参照してください。
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 OAuth ユーザー対マシン (U2M) を使って認証を行うには、次の構成をコンピューティングの設定と、すべての特殊または高度なドライバー機能の設定に追加します。
設定 | Value |
---|---|
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 ドライバーをダウンロードしてインストールする」を参照してください。<server-hostname>
と<http-path>
の値を取得するには、「Databricks ODBC ドライバーのコンピューティング設定」を参照してください。- また、特殊または高度なドライバー機能設定を追加することもできます。
OAuth マシン間 (M2M) 認証
ODBC ドライバーは、Azure Databricks サービス プリンシパルの OAuth マシン間 (M2M) 認証をサポートしています。 これは、OAuth 2.0 ''クライアント資格情報'' 認証とも呼ばれます。
OAuth M2M または OAuth 2.0 クライアント資格情報認証を構成するには、次のようにします。
Azure Databricks ワークスペースで Azure Databricks サービス プリンシパルを作成し、そのサービス プリンシパルの OAuth シークレットを作成します。
サービスプリンシパルと OAuth シークレットを作成するには、「OAuth(OAuth M2M)を使用してサービスプリンシパルで Azure Databricks へのアクセスを認証する」を参照してください。 サービス プリンシパルの UUID またはアプリケーション ID の値と、サービス プリンシパルの OAuth シークレットのシークレットを書き留めておいてください。
サービス プリンシパルにクラスターまたはウェアハウスへのアクセス権を付与します。 「コンピューティングのアクセス許可」または「SQL ウェアハウスを管理する」を参照してください。
OAuth マシン間 (M2M) または OAuth 2.0 クライアント資格情報認証を使って認証するには、次の構成をコンピューティング設定と特殊または高度なドライバー機能設定に追加します。
設定 | Value |
---|---|
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 ドライバーをダウンロードしてインストールする」を参照してください。<server-hostname>
と<http-path>
の値を取得するには、「Databricks ODBC ドライバーのコンピューティング設定」を参照してください。- また、特殊または高度なドライバー機能設定を追加することもできます。
詳細については、Databricks ODBC ドライバー ガイドの Client Credentials
セクションを参照してください。
Microsoft Entra ID OAuth マシン間 (M2M) 認証
ODBC ドライバー 2.8.2 以降では、Microsoft Entra ID サービス プリンシパルの Entra ID OAuth マシン間 (M2M) 認証がサポートされています。
Entra ID OAuth マシン間 (M2M) 認証を構成するには、次のようにします。
- Microsoft Entra ID 管理サービス プリンシパルを作成します。 これを行うには、「サービス プリンシパルを管理する」を参照してください。
- サービス プリンシパルにクラスターまたはウェアハウスへのアクセス権を付与します。 「コンピューティングのアクセス許可」または「SQL ウェアハウスを管理する」を参照してください。
Entra ID OAuth マシン間 (M2M) を使って認証を行うには、次の構成をコンピューティングの設定と、すべての特殊または高度なドライバー機能の設定に追加します。
設定 | Value |
---|---|
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 ドライバーをダウンロードしてインストールする」を参照してください。<server-hostname>
と<http-path>
の値を取得するには、「Databricks ODBC ドライバーのコンピューティング設定」を参照してください。- また、特殊または高度なドライバー機能設定を追加することもできます。
Azure マネージド ID 認証
ODBC ドライバー 2.7.7 以降では Azure マネージド ID 認証がサポートされていて、Azure Databricks を認証するために、Azure リソース用マネージド ID (旧称マネージド サービス ID (MSI)) が使用されます。 Azure VM などのマネージド ID をサポートする Azure リソースを操作する場合、Azure Databricks ワークスペース操作に対するプログラム呼び出しでは、これらのマネージド ID を使用します。
- マネージド ID の詳細については、「Azure リソースのマネージド ID とは」を参照してください。
- マネージド ID を作成し、Azure Databricks ワークスペースにアクセスするためのアクセス許可を付与する方法については、「Azure Databricks 自動化のための Azure マネージド ID 認証の設定と使用」を参照してください。
Azure マネージド ID 認証を使って認証するには、次の構成をコンピューティング設定と特殊または高度なドライバー機能設定に追加します。
設定 | Value |
---|---|
AuthMech |
11 |
Auth_Flow |
3 |
Auth_Client_ID |
Azure マネージド ID の 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 ドライバーをダウンロードしてインストールする」を参照してください。<server-hostname>
と<http-path>
の値を取得するには、「Databricks ODBC ドライバーのコンピューティング設定」を参照してください。- また、特殊または高度なドライバー機能設定を追加することもできます。