Azure Databricks 自動化の認証 - 概要

Azure Databricks で "認証" とは、Azure Databricks ID (ユーザー、サービス プリンシパル、グループなど)、または Azure マネージド ID を検証することを指します。 Azure Databricks は、"資格情報" (アクセス トークンなど) を使って ID を確認します。

Azure Databricks による呼び出し元 ID の検証後、Azure Databricks では "認可" と呼ばれるプロセスを使用して、検証された ID が、指定された場所のリソースに対して指定されたアクションを実行するための十分なアクセス許可を持っているかどうかを特定します。 この記事には、認証に関する詳細のみが記載されています。 認証またはアクセス許可に関する詳細は含まれません。「認証およびアクセスの制御」を参照してください。

ツールで自動化または API の要求を行うときには、Azure Databricks で ID を認証する資格情報が含められます。 この記事では、Azure Databricks が要求を認証し、認可するために必要な資格情報と関連情報を作成して格納し、渡す一般的な方法について説明します。 ツール、SDK、スクリプト、アプリでサポートされている資格情報の種類、関連情報、ストレージ メカニズムについては、「Azure Databricks ツールまたは SDK でサポートされている認証の種類」、またはお使いのプロバイダーのドキュメントを参照してください。

Azure Databricks 認証の一般的なタスク

以下の手順に従って、Azure Databricks 認証の一般的なタスクを完了します。

この作業を完了するには... この記事の手順に従ってください
Azure Databricks アカウント レベルでの認証に使用できる Azure Databricks ユーザーを作成します。 アカウント内のユーザーを管理する
特定の Azure Databricks ワークスペースでの認証に使用できる Azure Databricks ユーザーを作成します。 ワークスペース内のユーザーを管理する
Azure Databricks ユーザーのために Azure Databricks 個人用アクセス トークンを作成します (この Azure Databricks 個人用アクセス トークンは、関連付けられた Azure Databricks ワークスペースでの認証にのみ使用できます)。 ワークスペース ユーザー用の Azure Databricks 個人用アクセス トークン
Azure Databricks マネージド サービス プリンシパルを作成し、その Azure Databricks マネージド サービス プリンシパルを Azure Databricks アカウント、特定の Azure Databricks ワークスペース、またはその両方に追加します。 これで、このサービス プリンシパルを使って、Azure Databricks アカウント レベル、特定の Azure Databricks ワークスペース、またはその両方で、認証を行うことができます。 サービス プリンシパルを管理する
Azure Databricks の構成プロファイルを作成します。 Azure Databricks 構成プロファイル
Azure Databricks グループを作成し、そのグループに Azure Databricks ユーザーと Azure サービス プリンシパルを追加して、より堅牢な認可を実現します。 アカウント コンソールを使用してアカウント グループを管理する」、「ワークスペース管理者設定ページを使用してアカウント グループを管理する

サポートされている Azure Databricks 認証の種類

Azure Databricks には、Azure Databricks ユーザー、サービス プリンシパル、Azure マネージド ID を認証するために、次のようにいくつかの方法が用意されています。

認証の種類 詳細
Azure マネージド ID 認証 * Azure マネージド ID 認証では、認証に Azure リソース用マネージド ID が使用されます。 「Azure リソースのマネージド ID とは」をご覧ください。
* Azure マネージド ID は、認証資格情報に Microsoft Entra ID トークンを使います。 これらのトークンは、Microsoft システム内部で管理されます。 これらのトークンにはアクセスできません。
* Azure マネージド ID 認証は、Azure 仮想マシン (Azure VM) などの Azure マネージド ID をサポートするリソースから開始する必要があります。
* その他の技術的な詳細については、「Azure マネージド ID 認証」を参照してください。
OAuth マシン間 (M2M) 認証 * OAuth M2M 認証は、サービス プリンシパルを認証に使います。 これは、Azure Databricks マネージド サービス プリンシパルまたは Microsoft Entra ID マネージド サービス プリンシパルで使用できます。
* OAuth M2M 認証は、認証資格情報として有効期間が短い (1 時間) の Azure Databricks OAuth アクセス トークンを使います。
* 有効期限が切れた Azure Databricks OAuth アクセス トークンは、参加している Azure Databricks ツールや SDK によって自動的に更新できます。 「Azure Databricks ツールまたは SDK でサポートされている認証の種類」と「Databricks クライアント統合認証」を参照してください。
* Databricks では、無人 認証シナリオには OAuth M2M 認証を使うことをお勧めします。 これらのシナリオには、完全に自動化された CI/CD ワークフローが含まれます。この場合、Web ブラウザーを使って Azure Databricks でリアルタイムで認証することはできません。
* 対象の Azure Databricks ツールまたは SDK でサポートされている場合、Databricks では、OAuth M2M 認証ではなく ''Azure マネージド ID 認証'' を使うことをお勧めします。 これは、Azure マネージド ID 認証では資格情報が公開されないためです。
* Databricks では、認証資格情報として Microsoft Entra ID トークンを使う必要がある場合に、OAuth M2M 認証ではなく ''Microsoft Entra ID サービス プリンシパル認証'' を使うことをお勧めします。 たとえば、Azure Databricks と他の Azure リソースで同時に認証する必要がある場合は、Microsoft Entra ID トークンが必要です。
* その他の技術的な詳細については、「OAuth マシン間 (M2M) 認証」を参照してください。
OAuth ユーザー対マシン (U2M) 認証 * OAuth U2M 認証では、認証に Azure Databricks ユーザーが使用されます。
* OAuth U2M 認証では、認証資格情報として有効期間が短い (1 時間の) Azure Databricks OAuth アクセス トークンが使用されます。
* 参加している Azure Databricks ツールや SDK では、期限切れの OAuth アクセス トークンを自動的に更新できます。 「Azure Databricks ツールまたは SDK でサポートされている認証の種類」と「Databricks クライアント統合認証」を参照してください。
* OAuth U2M 認証は、''有人'' 認証シナリオに適しています。 これらのシナリオには手動および迅速な開発ワークフローが含まれます。この場合、Web ブラウザーを使用し、プロンプトが表示されたらリアルタイムで Azure Databricks で認証を行います。
* 対象の Azure Databricks ツールまたは SDK でサポートされている場合、Databricks では、OAuth U2M 認証ではなく ''Azure マネージド ID 認証'' を使うことをお勧めします。 これは、Azure マネージド ID 認証では資格情報が公開されないためです。
* その他の技術的な詳細については、「OAuth ユーザー対マシン (U2M) 認証」を参照してください。
Microsoft Entra ID サービス プリンシパル認証 * Microsoft Entra ID サービス プリンシパル認証は、Microsoft Entra ID サービス プリンシパルを認証に使います。 これは、Azure Databricks マネージド サービス プリンシパルでは使用できません。
* Microsoft Entra ID サービス プリンシパル認証では、認証資格情報として有効期間が短い (通常は 1 時間) Microsoft Entra ID トークンを使います。
* 有効期限が切れた Microsoft Entra ID トークンは、参加している Azure Databricks ツールや SDK によって自動的に更新できます。 「Azure Databricks ツールまたは SDK でサポートされている認証の種類」と「Databricks クライアント統合認証」を参照してください。
* 対象の Azure Databricks ツールまたは SDK でサポートされている場合、Databricks では、Microsoft Entra ID サービス プリンシパル認証ではなく ''Azure マネージド ID 認証'' を使うことをお勧めします。 これは、Azure マネージド ID 認証では資格情報が公開されないためです。
* Azure マネージド ID 認証を使用できない場合、Databricks では、Microsoft Entra ID サービス プリンシパル認証ではなく ''OAuth M2M 認証'' を使うことをお勧めします。
* Databricks では、認証資格情報として Microsoft Entra ID トークンを使う必要がある場合に Microsoft Entra ID サービス プリンシパル認証を使用することをお勧めします。 たとえば、Azure Databricks と他の Azure リソースで同時に認証する必要がある場合は、Microsoft Entra ID トークンが必要です。
* その他の技術的な詳細については、「Microsoft Entra ID サービス プリンシパル認証」を参照してください。
Azure CLI 認証 * Azure CLI 認証では、認証に Azure CLI と Azure Databricks ユーザーまたは Microsoft Entra ID マネージド サービス プリンシパルが使用されます。
* Azure CLI 認証では、認証資格情報として有効期間が短い (通常は 1 時間) Microsoft Entra ID トークンを使います。
* 参加している Azure Databricks ツールと SDK では、期限切れの Microsoft Entra ID トークンを自動的に更新できます。 SDK。 「Azure Databricks ツールまたは SDK でサポートされている認証の種類」と「Databricks クライアント統合認証」を参照してください。
* 対象の Azure Databricks ツールまたは SDK でサポートされている場合、Databricks では、Azure CLI 認証ではなく ''Azure マネージド ID 認証'' を使うことをお勧めします。 Azure マネージド ID 認証では、Azure Databricks ユーザーや Microsoft Entra ID マネージド サービス プリンシパルではなく Azure マネージド ID が使用され、Azure マネージド ID は、Azure Databricks ユーザーや Microsoft Entra ID マネージド サービス プリンシパルよりも安全です。Azure マネージド ID 認証では資格情報が公開されないためです。 「Azure リソースのマネージド ID とは」をご覧ください。
* Databricks では、認証資格情報に Microsoft Entra ID トークンを使用する必要がある場合、Azure CLI 認証を使うことをお勧めします。 たとえば、Azure Databricks と他の Azure リソースで同時に認証する必要がある場合は、Microsoft Entra ID トークンが必要です。
* Azure CLI 認証による認証は、"有人" 認証のシナリオに適しています。 これらのシナリオには、Azure CLI を使用してリアルタイムで Azure Databricks での認証を行う手動かつ迅速な開発ワークフローが含まれます。
* その他の技術的な詳細については、「Azure CLI 認証」を参照してください。
Azure Databricks 個人用アクセス トークン認証 * Azure Databricks 個人用アクセス トークン認証は、認証に Azure Databricks ユーザーを使います。
* Azure Databricks 個人用アクセス トークン認証は、認証資格情報に有効期間が短いまたは有効期間が長い文字列を使います。 これらのアクセス トークンは、最短で 1 日以内に期限切れになるように設定するか、無期限に設定することができます。
* 期限が切れた Azure Databricks 個人用アクセス トークンは更新できません。
* Databricks では、認証資格情報として Azure Databricks 個人用アクセス トークン (特に有効期限が長いアクセス トークン) を使うことをお勧めしません。Microsoft Entra ID や Azure Databricks OAuth アクセス トークンよりも安全性が低いためです。
* 対象の Azure Databricks ツールまたは SDK でサポートされている場合、Databricks では、Azure Databricks 個人用アクセス トークン認証ではなく ''Azure マネージド ID 認証'' を使うことをお勧めします。 Azure マネージド ID 認証は、Azure Databricks ユーザーではなく Azure マネージド ID を使います。また、Azure マネージド ID は Azure Databricks ユーザーよりも安全です。 「Azure リソースのマネージド ID とは」をご覧ください。
* Azure マネージド ID 認証を使用できない場合、Databricks では、Azure Databricks 個人用アクセス トークン認証ではなく ''Azure CLI 認証'' を使うことをお勧めします。
* その他の技術的な詳細については、「Azure Databricks 個人用アクセス トークン認証」を参照してください。

Azure Databricks ツールまたは SDK でサポートされている認証の種類

サポートされている 1 つ以上の Azure Databricks 認証の種類で動作する Azure Databricks ツールと SDK には、次のようなものがあります。

ツールまたは SDK サポートされている認証の種類
Databricks CLI * OAuth マシン間 (M2M) 認証
* OAuth ユーザー対マシン (U2M) 認証
* Azure マネージド ID 認証
* Microsoft Entra ID サービス プリンシパル認証
* Azure CLI 認証
* Azure Databricks 個人用アクセス トークン認証

Azure Databricks 構成プロファイルを設定して使用し、関連する複数の認証設定を切り替える方法など、Databricks CLI 認証に関する具体的なドキュメントについては、以下を参照してください。

* OAuth マシン間 (M2M) 認証
* Azure マネージド ID 認証
* Microsoft Entra ID サービス プリンシパル認証
* Azure CLI 認証
* Azure Databricks 個人用アクセス トークン認証

Databricks CLI のその他の技術的な詳細については、「Databricks CLI とは」を参照してください。
Databricks Terraform プロバイダー * OAuth マシン間 (M2M) 認証
* Azure マネージド ID 認証
* Microsoft Entra ID サービス プリンシパル認証
* Azure CLI 認証
* Azure Databricks 個人用アクセス トークン認証

OAuth ユーザー対マシン (U2M) 認証はまだサポートされていません。

環境変数、Azure Databricks 構成プロファイル.tfvars ファイル、または Hashicorp Vault や Azure Key Vault などのシークレット ストアを通して資格情報を保存して使用する方法など、特定の Databricks Terraform プロバイダー認証に関するドキュメントについては、[認証] を参照してください。

Databricks Terraform プロバイダーの技術的な詳細については、「Databricks Terraform プロバイダー」を参照してください。
Databricks Connect * OAuth マシン間 (M2M) 認証
* OAuth ユーザー対マシン (U2M) 認証
* Microsoft Entra ID サービス プリンシパル認証
* Azure CLI 認証
* Azure Databricks 個人用アクセス トークン認証

Azure マネージド ID 認証はまだサポートされていません。

詳細な Databricks Connect 認証のドキュメントについては、以下を参照してください。

* Python 用にクライアントを設定する
* Scala 用にクライアントを設定する

Databricks Connect のその他の技術的な詳細については、「Databricks Connect とは」を参照してください。
Visual Studio Code 用の Databricks 拡張機能 * OAuth マシン間 (M2M) 認証
* OAuth ユーザー対マシン (U2M) 認証
* Microsoft Entra ID サービス プリンシパル認証
* Azure CLI 認証
* Azure Databricks 個人用アクセス トークン認証

Azure マネージド ID 認証はまだサポートされていません。

詳細な Visual Studio Code 用 Databricks 拡張機能の認証のドキュメントについては、「Visual Studio Code 用 Databricks 拡張機能の認証の設定」を参照してください。

Visual Studio Code 用 Databricks 拡張機能のその他の技術的な詳細については、「Visual Studio Code 用の Databricks 拡張機能とは」を参照してください。
Databricks SDK for Python * OAuth マシン間 (M2M) 認証
* OAuth ユーザー対マシン (U2M) 認証
* Microsoft Entra ID サービス プリンシパル認証
* Azure CLI 認証
* Azure Databricks 個人用アクセス トークン認証

Azure マネージド ID 認証はまだサポートされていません。

詳細な Databricks SDK for Python 認証のドキュメントについては、以下を参照してください。

* Azure Databricks アカウントまたはワークスペースで Databricks SDK for Python を認証する
* 認証

Databricks SDK for Python のその他の技術的な詳細については、「Databricks SDK for Python」を参照してください。
Databricks SDK for Java * OAuth マシン間 (M2M) 認証
* OAuth ユーザー対マシン (U2M) 認証
* Microsoft Entra ID サービス プリンシパル認証
* Azure CLI 認証
* Azure Databricks 個人用アクセス トークン認証

Azure マネージド ID 認証はまだサポートされていません。

詳細な Databricks SDK for Java 認証のドキュメントについては、以下を参照してください。

* Azure Databricks アカウントまたはワークスペースで Databricks SDK for Java を認証する
* 認証

Databricks SDK for Java のその他の技術的な詳細については、「Databricks SDK for Java」を参照してください。
Databricks SDK for Go * OAuth マシン間 (M2M) 認証
* OAuth ユーザー対マシン (U2M) 認証
* Azure マネージド ID 認証
* Microsoft Entra ID サービス プリンシパル認証
* Azure CLI 認証
* Azure Databricks 個人用アクセス トークン認証

詳細な Databricks SDK for Java 認証のドキュメントについては、以下を参照してください。

* Azure Databricks アカウントまたはワークスペースで Databricks SDK for Go を認証する
* 認証

Databricks SDK for Go のその他の技術的な詳細については、「Databricks SDK for Go」を参照してください。
Databricks アセット バンドル * OAuth マシン間 (M2M) 認証
* OAuth ユーザー対マシン (U2M) 認証
* Azure マネージド ID 認証
* Microsoft Entra ID サービス プリンシパル認証
* Azure Databricks 個人用アクセス トークン認証

Azure CLI 認証は、まだサポートされていません。

Databricks アセット バンドルのその他の技術的な詳細については、「Databricks アセット バンドルとは」を参照してください。
Visual Studio Code 用 Databricks Driver for SQLTools * OAuth マシン間 (M2M) 認証
* OAuth ユーザー対マシン (U2M) 認証
* Azure Databricks 個人用アクセス トークン認証

次の認証の種類は、まだサポートされていません。

* Azure マネージド ID 認証
* Microsoft Entra ID サービス プリンシパル認証
* Azure CLI 認証

Visual Studio Code 用 Databricks Driver for SQLTools のその他の技術的な詳細については、「Visual Studio Code 用 Databricks Driver for SQLTools」を参照してください。
Python 用 Databricks SQL コネクタ * OAuth マシン間 (M2M) 認証
* OAuth ユーザー対マシン (U2M) 認証
* Azure Databricks 個人用アクセス トークン認証

次の認証の種類は、まだサポートされていません。

* Azure マネージド ID 認証
* Microsoft Entra ID サービス プリンシパル認証
* Azure CLI 認証

Databricks SQL Connector for Python のその他の技術的な詳細については、「Python 用 Databricks SQL コネクタ」を参照してください。
Databricks SQL Driver for Node.js * OAuth マシン間 (M2M) 認証
* OAuth ユーザー対マシン (U2M) 認証
* Azure Databricks 個人用アクセス トークン認証

次の認証の種類は、まだサポートされていません。

* Azure マネージド ID 認証
* Microsoft Entra ID サービス プリンシパル認証
* Azure CLI 認証

Databricks SQL Driver for Node.js のその他の技術的な詳細については、「Databricks SQL Driver for Node.js」を参照してください。
Databricks SQL Driver for Go * OAuth マシン間 (M2M) 認証
* OAuth ユーザー対マシン (U2M) 認証
* Azure Databricks 個人用アクセス トークン認証

次の認証の種類は、まだサポートされていません。

* Azure マネージド ID 認証
* Microsoft Entra ID サービス プリンシパル認証
* Azure CLI 認証

Databricks SQL Driver for Go のその他の技術的な詳細については、「Databricks SQL Driver for Go」を参照してください。
その他の Azure Databricks ツールと SDK ツールまたは SDK のドキュメントを参照してください。

* Databricks SDK for R
* Databricks SQL CLI

Azure Databricks アカウントとワークスペース REST API

Databricks において、Databricks REST API は、アカウント APIワークスペース API という 2 つのカテゴリの API に整理されています。 これらの各カテゴリでは、対象の Azure Databricks ID を認証するために、異なる情報セットが必要です。 また、サポートされている Databricks 認証の種類ごとに、対象の Azure Databricks ID を一意に識別する追加情報が必要です。

たとえば、Azure Databricks アカウントレベル API 操作を呼び出すために Azure Databricks ID を認証するには、次を指定する必要があります。

  • 対象の Azure Databricks アカウントのコンソール URL。これは通常 https://accounts.azuredatabricks.net です。
  • 対象の Azure Databricks アカウント ID。 「アカウント ID を特定する」を参照してください。
  • 対象の Databricks 認証の種類用に、対象の Azure Databricks ID を一意に識別する情報。 指定するべき具体的な情報については、該当する認証の種類について、この記事の後半のセクションを参照してください。

Azure Databricks ワークスペースレベル API 操作を呼び出すために Azure Databricks ID を認証するには、次を指定する必要があります。

  • 対象の Azure Databricks のワークスペース単位の URL。たとえば、https://adb-1234567890123456.7.azuredatabricks.net です。
  • 対象の Databricks 認証の種類用に、対象の Azure Databricks ID を一意に識別する情報。 指定するべき具体的な情報については、該当する認証の種類について、この記事の後半のセクションを参照してください。

Databricks クライアント統合認証

Databricks は、Databricks クライアント統合認証と呼ばれる、統合され一貫性のある、アーキテクチャとプログラムによる認証アプローチを提供します。 このアプローチは、Databricks を使用した認証の設定と自動化を、より一元的で予測可能なものにするのに役立ちます。 これにより、Databricks 認証を一度構成すれば、それ以上認証構成を変更しなくても、複数の Databricks ツールおよび SDK でその構成を使用できます。

関与する Databricks ツールおよび SDK には、次のものが含まれます。

関与するすべてのツールと SDK では、認証用に、特別な環境変数と、Azure Databricks 構成プロファイルを使用できます。 Databricks Terraform プロバイダーと Databricks SDK for Python、Java、Go の場合は、コード内で認証設定の直接構成を行うこともできます。 詳細については、「Azure Databricks ツールまたは SDK でサポートされる認証の種類」か、ツールまたは SDK のドキュメントを参照してください。

クライアント統合認証方法と資格情報の既定の評価順序

関与するツールまたは SDK が Azure Databricks での認証が必要な場合、そのツールまたは SDK は既定で次の種類の認証を次の順序で試行します。 ツールまたは SDK が試行した認証の種類で認証が成功すると、ツールまたは SDK は残りの認証の種類での認証の試行を停止します。 特定の認証の種類で SDK を強制的に認証するには、Config API の Databricks 認証の種類フィールドを設定します。

  1. Azure Databricks 個人用アクセス トークン認証
  2. OAuth マシン間 (M2M) 認証
  3. OAuth ユーザー対マシン (U2M) 認証
  4. Azure マネージド ID 認証
  5. Microsoft Entra ID サービス プリンシパル認証
  6. Azure CLI 認証

関与するツールまたは SDK が試行する認証の種類ごとに、ツールまたは SDK は次の場所、次の順序で認証資格情報の検索を試行します。 ツールまたは SDK が使用できる認証資格情報の検索に成功すると、ツールまたは SDK は残りの場所での認証資格情報の検索を停止します。

  1. 資格情報関連の Config API フィールド (SDK の場合)。 Config フィールドを設定するには、「Azure Databricks ツールまたは SDK でサポートされる認証の種類」または SDK 参照ドキュメントを参照してください。
  2. 資格情報関連の環境変数。 環境変数を設定するには、「Azure Databricks ツールまたは SDK でサポートされる認証の種類」とオペレーティング システムのドキュメントを参照してください。
  3. .databrickscfg ファイル内にある DEFAULT 構成プロファイルの資格情報関連フィールド。 構成プロファイル フィールドを設定するには、「Azure Databricks ツールまたは SDK でサポートされる認証の種類」と (#config-profiles) を参照してください。
  4. Azure CLI によってキャッシュされている関連する認証資格情報。 「Azure CLI」を参照してください。

コードに最大限の移植性を与えるために、Databricks では、.databrickscfg ファイル内にカスタム構成プロファイルを作成し、対象の認証の種類用の必須フィールドをカスタム構成プロファイルに追加し、その後に DATABRICKS_CONFIG_PROFILE 環境変数をカスタム構成プロファイルの名前に設定することをお勧めします。 詳細については、「Azure Databricks ツールまたは SDK でサポートされている認証の種類」を参照してください。

クライアント統合認証の環境変数とフィールド

次の表に、Databricks クライアント統合認証でサポートされている環境変数とフィールドの名前と説明を示します。 以下の表では、次のようになっています。

ホスト、トークン、アカウント ID の一般的な環境変数とフィールド

共通名 説明 環境変数 .databrickscfg フィールド、Terraform フィールド Config フィールド
Azure Databricks ホスト (文字列) Azure Databricks ワークスペース エンドポイントまたは Azure Databricks アカウント エンドポイントの Azure Databricks ホスト URL。 DATABRICKS_HOST host host (Python)、
setHost (Java)、
Host (Go)
Azure Databricks トークン (文字列) Azure Databricks 個人用アクセス トークンまたは Microsoft Entra ID トークン。 DATABRICKS_TOKEN token token (Python)、
setToken (Java)、
Token (Go)
Azure Databricks アカウント ID (文字列) Azure Databricks アカウント エンドポイントの Azure Databricks アカウント ID。 Azure Databricks ホストも次に設定されている場合にのみ有効です:
https://accounts.azuredatabricks.net
DATABRICKS_ACCOUNT_ID account_id account_id (Python)、
setAccountID (Java)、
AccountID (Go)

Azure 固有の環境変数とフィールド

共通名 説明 環境変数 .databrickscfg フィールド、Terraform フィールド Config フィールド
Azure クライアント ID (文字列) Microsoft Entra ID サービス プリンシパルのアプリケーション ID。 Azure マネージド ID 認証と Microsoft Entra ID サービス プリンシパル認証を使います。 ARM_CLIENT_ID azure_client_id azure_client_id (Python)、
setAzureClientID (Java)、
AzureClientID (Go)
Azure クライアント シークレット (文字列) Microsoft Entra ID サービス プリンシパルのクライアント シークレット。 Microsoft Entra ID サービス プリンシパル認証を使います。 ARM_CLIENT_SECRET azure_client_secret azure_client_secret (Python)、
setAzureClientSecret (Java)、
AzureClientSecret (Go)
クライアント ID (文字列) Azure Databricks マネージド サービス プリンシパルまたは Microsoft Entra ID マネージド サービス プリンシパルのクライアント ID。 OAuth M2M 認証で使います。 DATABRICKS_CLIENT_ID client_id client_id (Python)、
setClientId (Java)、
ClientId (Go)
クライアント シークレット (文字列) Azure Databricks マネージド サービス プリンシパルまたは Microsoft Entra ID マネージド サービス プリンシパルのクライアント シークレット。 OAuth M2M 認証で使います。 DATABRICKS_CLIENT_SECRET client_secret client_secret (Python)、
setClientSecret (Java)、
ClientSecret (Go)
Azure 環境 (文字列) Azure 環境の種類。 既定値は PUBLIC です。 ARM_ENVIRONMENT azure_environment azure_environment (Python)、
setAzureEnvironment (Java)、
AzureEnvironment (Go)
Azure テナント ID (文字列) Microsoft Entra ID サービス プリンシパルのテナント ID。 ARM_TENANT_ID azure_tenant_id azure_tenant_id (Python)、
setAzureTenantID (Java)、
AzureTenantID (Go)
Azure use MSI (Azure で MSI を使用する) (ブール値) サービス プリンシパルに Azure マネージド サービス ID パスワードレス認証フローを使用する場合は True。 Azure リソース ID も設定する必要があります。 ARM_USE_MSI azure_use_msi AzureUseMSI (Go)
Azure リソース ID (文字列) Azure Databricks ワークスペースの Azure Resource Manager ID。 DATABRICKS_AZURE_RESOURCE_ID azure_workspace_resource_id azure_workspace_resource_id (Python)、
setAzureResourceID (Java)、
AzureResourceID (Go)

.databrickscfg 固有の環境変数とフィールド

これらの環境変数またはフィールドを使用して、既定以外の .databrickscfg の設定を指定します。 「Azure Databricks 構成プロファイル」も参照してください。

共通名 説明 環境変数 Terraform フィールド Config フィールド
.databrickscfg ファイル パス (String) 次への既定以外のパス:
.databrickscfg ファイル
DATABRICKS_CONFIG_FILE config_file config_file (Python)、
setConfigFile (Java)、
ConfigFile (Go)
.databrickscfg の既定のプロファイル (文字列) 使用する既定の名前付きプロファイル (DEFAULT 以外)。 DATABRICKS_CONFIG_PROFILE profile profile (Python)、
setProfile (Java)、
Profile (Go)

認証の種類のフィールド

この環境変数またはフィールドを使用して、SDK で特定の種類の Databricks 認証を強制的に使用します。

共通名 説明 Terraform フィールド Config フィールド
Databricks 認証の種類 (文字列) 環境内で複数の認証属性を使用できる場合は、この引数で指定された認証の種類を使用します。 auth_type auth_type (Python)、
setAuthType (Java)、
AuthType (Go)

サポートされている Databricks 認証の種類のフィールド値には、以下のものがあります。

Azure Databricks 構成プロファイル

Azure Databricks 構成プロファイル (configuration profileconfig profile、または単に profile と言及されることがあります) には、Azure Databricks が認証するために必要な設定とその他の情報が含まれています。 Azure Databricks 構成プロファイルは、使用するツール、SDK、スクリプト、アプリ用の Azure Databricks "構成プロファイル ファイル" に保存されます。 お使いのツール、SDK、スクリプト、アプリで Azure Databricks 構成プロファイルがサポートされているかどうかを確認するには、プロバイダーのドキュメントを参照してください。 Databricks クライアント統合認証を実装するすべての関係ツールと SDK では、Azure Databricks 構成プロファイルがサポートされています。 詳細については、「Azure Databricks ツールまたは SDK でサポートされている認証の種類」を参照してください。

Azure Databricks 構成プロファイル ファイルを作成するには次のようにします。

  1. 使い慣れたテキスト エディターを使用して、Unix、Linux、または macOS の ~ (ユーザー ホーム) フォルダー、または Windows の %USERPROFILE% (ユーザー ホーム) フォルダーに .databrickscfg という名前のファイルを作成します。これはファイルがまだない場合の手順です。 ファイル名の先頭にあるドット (.) を忘れないでください。 このファイルに次の内容を追加します。

    [<some-unique-name-for-this-configuration-profile>]
    <field-name> = <field-value>
    
  2. 上の内容のうち、以下の値を置き換えてからファイルを保存します。

    • <some-unique-name-for-this-configuration-profile> は構成プロファイルの一意の名前に (DEFAULTDEVELOPMENTPRODUCTION など)。 同じ .databrickscfg ファイルに複数の構成プロファイルを含めることができますが、各構成プロファイルには、このファイル内での一意の名前が必要です。
    • <field-name><field-value> は、対象の Databricks 認証の種類に必要なフィールドの 1 つの名前と値を指定します。 指定する具体的な情報については、この記事の前半のセクションで、該当する認証の種類について参照してください。
    • 対象の Databricks 認証の種類に追加で必要なフィールドごとに <field-name><field-value> のペアを追加します。

たとえば、Azure Databricks 個人用アクセス トークン認証の場合、.databrickscfg ファイルは次のようになります。

[DEFAULT]
host  = https://adb-1234567890123456.7.azuredatabricks.net
token = dapi123...

追加の構成プロファイルを作成するには、同じ .databrickscfg ファイル内で異なるプロファイル名を指定します。 たとえば、個別の Azure Databricks ワークスペースを指定するには、次のようにそれぞれ独自の Azure Databricks 個人用アクセス トークンを使用します。

[DEFAULT]
host  = https://adb-1234567890123456.7.azuredatabricks.net
token = dapi123...

[DEVELOPMENT]
host  = https://adb-2345678901234567.8.azuredatabricks.net
token = dapi234...

.databrickscfg ファイル内で、Azure Databricks アカウントと様々な Databricks 認証の種類に対して、異なるプロファイル名を指定することもできます。次に例を示します。

[DEFAULT]
host  = https://adb-1234567890123456.7.azuredatabricks.net
token = dapi123...

[DEVELOPMENT]
azure_workspace_resource_id = /subscriptions/bc0cd1.../resourceGroups/my-resource-group/providers/Microsoft.Databricks/workspaces/my-workspace
azure_tenant_id             = bc0cd1...
azure_client_id             = fa0cd1...
azure_client_secret         = aBC1D~...

ODBC DSN

ODBC では、"データ ソース名 (DSN)" は、ツール、SDK、スクリプト、アプリが ODBC データ ソースへの接続を要求するために使用するシンボリック名です。 DSN には、ODBC ドライバーへのパス、ネットワークの詳細、認証資格情報、データベースの詳細などの接続の詳細が格納されます。 お使いのツール、スクリプト、アプリで ODBC DSN がサポートされているかどうかを確認するには、プロバイダーのドキュメントを参照してください。

Databricks ODBC ドライバーをインストールして構成し、Azure Databricks 用の ODBC DSN を作成するには、「Databricks ODBC ドライバー」を参照してください。

JDBC 接続 URL

JDBC では、"接続 URL" は、ツール、SDK、スクリプト、アプリが JDBC データ ソースへの接続を要求するために使用するシンボリック URL です。 接続 URL には、ネットワークの詳細、認証資格情報、データベースの詳細、JDBC ドライバーの機能などの接続の詳細が格納されます。 お使いのツール、SDK、スクリプト、アプリで JDBC 接続 URL がサポートされているかどうかを確認するには、プロバイダーのドキュメントを参照してください。

Databricks JDBC ドライバーをインストールして構成し、Azure Databricks 用の JDBC 接続 URL を作成するには、「Databricks JDBC ドライバー」を参照してください。

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

Microsoft Entra ID (旧称 Azure Active Directory) トークンは、Azure Databricks ワークスペースおよびアカウント レベルの両方で最も広くサポートされている種類の、Azure Databricks 用の資格情報の 1 つです。

Note

一部のツール、SDK、スクリプト、アプリでは、Azure Databricks 個人用アクセス トークンのみがサポートされており、Microsoft Entra ID トークンはサポートされていません。 ツール、SDK、スクリプト、アプリでサポートされている Microsoft Entra ID トークンについては、「Azure Databricks ツールまたは SDK でサポートされている認証の種類」、またはお使いのプロバイダーのドキュメントを参照してください。

また、一部のツール、SDK、スクリプト、アプリでは、Azure Databricks 認証用として Microsoft Entra ID トークンに加えて (または代わりに) Azure Databricks OAuth トークンがサポートされています。 ツール、SDK、スクリプト、アプリでサポートされている Azure Databricks OAuth トークンについては、「Azure Databricks ツールまたは SDK でサポートされている認証の種類」、またはお使いのプロバイダーのドキュメントを参照してください。

ユーザーの Microsoft Entra ID トークン認証

Databricks では、Azure Databricks ユーザー用の Microsoft Entra ID トークンを手動で作成することはお勧めしません。 これは、各 Microsoft Entra ID トークンは有効期間が短く、通常は 1 時間以内に期限切れになるためです。 この時間が経過したら、代わりの Microsoft Entra ID トークンを手動で生成する必要があります。 代わりに、Databricks クライアント統合認証標準を実装している関係ツールまたは SDK のいずれかを使用してください。 これらのツールと SDK は、Azure CLI 認証を利用して、期限切れの Microsoft Entra ID トークンを自動的に生成して置き換えます。

Azure Databricks ユーザーの Microsoft Entra ID トークンを手動で作成する必要がある場合は、次を参照してください。

サービス プリンシパルの Microsoft Entra ID トークン認証

Databricks では、Microsoft Entra ID サービス プリンシパル用の Microsoft Entra ID トークンを手動で作成することはお勧めしません。 これは、各 Microsoft Entra ID トークンは有効期間が短く、通常は 1 時間以内に期限切れになるためです。 この時間が経過したら、代わりの Microsoft Entra ID トークンを手動で生成する必要があります。 代わりに、Databricks クライアント統合認証標準を実装している関係ツールまたは SDK のいずれかを使用してください。 これらのツールと SDK は、次の Databricks 認証の種類を利用して、期限切れの Microsoft Entra ID トークンを自動的に生成して置き換えます。

Microsoft Entra ID サービス プリンシパルの Microsoft Entra ID トークンを手動で作成する必要がある場合は、次を参照してください。

Azure CLI

Azure CLI を使用すると、PowerShell、Linux や macOS 用のターミナル、または Windows 用のコマンド プロンプトを介して Azure Databricks で認証できます。 ツール、SDK、スクリプト、アプリでサポートされている Azure CLI については、「Azure Databricks ツールまたは SDK でサポートされている認証の種類」、またはお使いのプロバイダーのドキュメントを参照してください。

Azure CLI を使用して手動で Azure Databricks の認証を行うには、次のように az login コマンドを実行します。

az login

Microsoft Entra ID サービス プリンシパルを使用して認証するには、「Microsoft Entra ID サービス プリンシパルを使用した Azure CLI ログイン」参照してください。

Azure で管理されている Azure Databricks ユーザー アカウントを使用して認証するには、「Azure Databricks ユーザー アカウントを使用した Azure CLI のログイン」を参照してください。