次の方法で共有


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

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

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

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

Azure Databricks 個人用アクセス トークンを作成するには、次の操作を行います。

  1. Azure Databricks ワークスペースの上部バーで、目的の Azure Databricks ユーザー名をクリックし、次にドロップダウンから [設定] を選択します。
  2. [開発者] をクリックします。
  3. [アクセス トークン] の横にある [管理] をクリックします。
  4. [新しいトークンの生成] をクリックします。
  5. (省略可能) 将来このトークンを識別するのに役立つコメントを入力し、トークンの既定の有効期間 90 日を変更します。 有効期間のないトークンを作成するには (推奨されません)、[有効期間 (日)] ボックスを空のままにします。
  6. [Generate](生成) をクリックします。
  7. 表示されたトークンを安全な場所にコピーし、[完了] をクリックします。

Note

コピーしたトークンは必ず安全な場所に保存してください。 コピーしたトークンは他人に見せないでください。 コピーしたトークンを失った場合、それとまったく同じトークンは再生成できません。 代わりに、この手順を繰り返して新しいトークンを作成する必要があります。 コピーしたトークンを紛失した場合や、トークンが侵害されていると思われる場合、Databricks では、[アクセス トークン] ページのトークンの横にあるごみ箱 ([取り消し]) アイコンをクリックして、ワークスペースからそのトークンをすぐに削除することを強くお勧めします。

ワークスペースでトークンを作成することや使用することができない場合は、ワークスペース管理者によってトークンが無効にされているか、トークンを作成または使用する権限が作業者に付与されていない可能性があります。 ワークスペース管理者に連絡するか、以下の情報を参照してください。

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

設定 Value
AuthMech 3
UID token
PWD ワークスペース ユーザーの Databricks 個人用アクセス トークン。

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>

Microsoft Entra ID (旧称 Azure Active Directory) トークン

ODBC ドライバー 2.6.15 以降では、Azure Databricks ユーザーまたは Microsoft Entra ID サービス プリンシパルの Microsoft Entra ID (旧称 Azure Active Directory) トークンがサポートされています。

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>

詳細については、Databricks ODBC ドライバー ガイドToken Pass-through セクションを参照してください。

OAuth 2.0 トークン

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

重要

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>

詳細については、Databricks ODBC ドライバー ガイドToken Pass-through セクションを参照してください。

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

ODBC ドライバー 2.7.5 以降では、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 任意のパスワード。 ドライバーでは、更新トークンの暗号化にこのキーが使用されます。
OAuth2ClientId (任意) power-bi,tableau-desktop,databricks-cli,
databricks-sql-python,databricks-sql-jdbc,
databricks-sql-odbc,databricks-dbt-adapter,
databricks-sql-connector (既定)
Auth_Scope (任意) sql,offline_access (既定)

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>

詳細については、Databricks ODBC ドライバー ガイドBrowser Based セクションを参照してください。

OAuth マシン間 (M2M) 認証

ODBC ドライバー 2.7.5 以降では、Microsoft Entra ID サービス プリンシパルの OAuth マシン間 (M2M) 認証がサポートされています。 これは、OAuth 2.0 ''クライアント資格情報'' 認証とも呼ばれます。

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

  1. Microsoft Entra ID 管理サービス プリンシパルを作成します。 これを行うには、「サービス プリンシパルを管理する」を参照してください。

  2. サービス プリンシパルの Azure Databricks OAuth シークレットを生成します。 「OAuth マシン間 (M2M) 認証用のアクセス トークンを手動で生成して使用する」を参照してください。

    重要

    ODBC ドライバー 2.7.5 以降では、OAuth M2M または OAuth 2.0 クライアント資格情報認証用に Azure Databricks OAuth シークレットがサポートされています。 Microsoft Entra ID シークレットはサポートされていません。

  3. サービス プリンシパルの Azure Databricks OAuth シークレットを作成します。 これを行うには、「OAuth マシン間 (M2M) 認証用のアクセス トークンを手動で生成して使用する」をご参照ください。

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

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

設定 Value
AuthMech 11
Auth_Flow 1
Auth_Client_Id サービス プリンシパルのアプリケーション (クライアント) ID 値。
Auth_Client_Secret サービス プリンシパルの Azure Databricks OAuth シークレット。

(Microsoft Entra ID シークレットは、OAuth M2M または OAuth 2.0 クライアント資格情報認証ではサポートされていません。)
OAuth2ClientId (任意) power-bi,tableau-desktop,databricks-cli,
databricks-sql-python,databricks-sql-jdbc,
databricks-sql-odbc,databricks-dbt-adapter,
databricks-sql-connector (既定)
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

Azure マネージド ID 認証

ODBC ドライバー 2.7.7 以降では Azure マネージド ID 認証がサポートされていて、Azure Databricks を認証するために、Azure リソース用マネージド ID (旧称マネージド サービス ID (MSI)) が使用されます。 Azure VM などのマネージド ID をサポートする Azure リソースを操作する場合、Azure Databricks ワークスペース操作に対するプログラム呼び出しでは、これらのマネージド 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>