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

Databricks ODBC ドライバーの認証設定

この記事では、 Databricks ODBC ドライバーの Databricks 認証設定を構成する方法について説明します。

Databricks ODBC ドライバーは、次の Databricks 認証の種類をサポートしています。

Databricks 個人用アクセス トークン

Databricks個人用アクセス トークンを作成するには、「ワークスペース ユーザー用の個人用アクセス トークンDatabricks」の手順に従います。

Databricks 個人用アクセス トークンを使用して認証するには、コンピュート設定と、特別なドライバー機能または高度なドライバー機能設定に次の構成を追加します。

設定

AuthMech

3

UID

token

PWD

ワークスペース ユーザーの Databricks 個人用アクセス トークン

Windows 以外のシステム用の DSN を作成するには、次の形式を使用します。

ini
[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>

OAuth 2.0 トークン

ドライバーODBC 2.7.5 以降では、OAuthDatabricks ユーザーまたはサービスプリンシパルの 2.0 トークンがサポートされています。これは、OAuth 2.0 トークン パススルー 認証とも呼ばれます。

トークン パススルー認証用の OAuth 2.0 トークンを作成するには、次の操作を行います。

  • ユーザーの場合は、 Databricks CLI を使用して OAuth U2M プロセスを開始して OAuth 2.0 トークンを生成し、 databricks auth token コマンドを実行して生成された OAuth 2.0 トークンを取得できます。 OAuth ユーザー間 (U2M) 認証を参照してください。OAuth 2.0 トークンのデフォルト有効期間は 1 時間です。 新しい OAuth 2.0 トークンを生成するには、このプロセスを繰り返します。
  • サービスプリンシパルの場合は、「M2M アクセストークンを手動で生成する」の手順 1 から 3 OAuthに従います。サービスプリンシパルの OAuth access_token 値をメモします。 OAuth 2.0 トークンのデフォルトの有効期間は 1 時間です。新しい OAuth 2.0 トークンを生成するには、このプロセスを繰り返します。

OAuth 2.0 トークン パススルー認証を使用して認証するには、コンピュート設定と、特別なドライバー機能または高度なドライバー機能設定に次の構成を追加します。

設定

AuthMech

11

Auth_Flow

0

Auth_AccessToken

OAuth 2.0 トークン

Windows 以外のシステム用の DSN を作成するには、次の形式を使用します。

ini
[Databricks]
Driver=<path-to-driver>
Host=<server-hostname>
Port=443
HTTPPath=<http-path>
SSL=1
ThriftTransport=2
AuthMech=11
Auth_Flow=0
Auth_AccessToken=<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=<oauth-token>

詳細については、『 Databricks ODBC Driver Guide』のToken Pass-throughセクションを参照してください。

Databricks OAuth ユーザーツーマシン (U2M) 認証

ODBC ドライバー 2.8.2 以降では、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 (デフォルト)該当するすべてのアプリケーションは、Databricks アカウント コンソールの [アプリ接続設定] で、「 Databricks UI を使用してカスタム OAuth アプリケーションを有効にする」で確認できます。

Auth_Scope (任意)

sql offline_access (デフォルト)

OAuth2RedirectUrlPort (任意)

8020 (デフォルト)

Windows 以外のシステム用の DSN を作成するには、次の形式を使用します。

ini
[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>

詳細については、『 Databricks ODBC Driver Guide』のBrowser Basedセクションを参照してください。

OAuth マシン間 (M2M) 認証

ODBC ドライバーはOAuthDatabricks サービスプリンシパルの マシン間 (M2M) 認証をサポートしています。これは、OAuth 2.0 クライアント資格情報 認証とも呼ばれます。

OAuth M2M または OAuth 2.0 クライアント資格情報認証を構成するには、次の手順を実行します。

  1. DatabricksワークスペースにDatabricks サービスプリンシパルを作成し、そのサービスプリンシパルのOAuthシークレットを作成します。

    サービスプリンシパルとそのOAuthシークレットを作成するには、「サービスプリンシパルのアクセスをOAuthでDatabricksに許可する」を参照してください。サービスプリンシパルの UUID または アプリケーション ID の値と、サービスプリンシパルのOAuthシークレットの Secret 値をメモします。

  2. サービスプリンシパルにクラスターまたはウェアハウスへのアクセス権を付与します。 「コンピュートの権限」または「SQLウェアハウスの管理」を参照してください。

OAuth マシン間 (M2M) 認証または OAuth 2.0 クライアント資格情報認証を使用して認証するには、コンピュート設定と、特殊または高度なドライバー機能設定に次の構成を追加します。

設定

AuthMech

11

Auth_Flow

1

Auth_Client_ID

サービスプリンシパルの UUID / Application ID 値。

Auth_Client_Secret

サービスプリンシパルの OAuth Secret 値。

Auth_Scope (任意)

all-apis (デフォルト)

Windows 以外のシステム用の DSN を作成するには、次の形式を使用します。

ini
[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

詳細については、『 Databricks ODBC Driver Guide』のClient Credentialsセクションを参照してください。