Azure Databricks 自動化の認証
Azure Databricks で "認証" とは、Azure Databricks ID (ユーザー、サービス プリンシパル、グループなど) を検証することを指します。 Azure Databricks では、資格情報 (アクセス トークンや、ユーザー名とパスワードなど) を使用して ID を検証します。
Azure Databricks による呼び出し元 ID の検証後、Azure Databricks では "認可" と呼ばれるプロセスを使用して、検証された ID が、指定された場所のリソースに対して指定されたアクションを実行するための十分なアクセス許可を持っているかどうかを特定します。 この記事には、認証に関する詳細のみが記載されています。 認証またはアクセス許可に関する詳細は含まれません。「認証およびアクセスの制御」を参照してください。
ツールで自動化または API の要求を行うときには、Azure Databricks で ID を認証する資格情報が含められます。 この記事では、Azure Databricks が要求を認証し、認可するために必要な資格情報と関連情報を作成して格納し、渡す一般的な方法について説明します。 お使いのツール、SDK、スクリプト、アプリでサポートされている資格情報の種類、関連情報、ストレージ メカニズムについて確認するには、プロバイダーのドキュメントを参照してください。
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 には、次のものが含まれます。
- Databricks CLI チュートリアル
- Databricks Terraform プロバイダー
- Databricks Connect
- Visual Studio Code 用の Databricks 拡張機能
- Databricks SDK for Python
- Databricks SDK for Java
- Databricks SDK for Go
関与するすべてのツールと SDK では、認証用に、特別な環境変数と、Azure Databricks 構成プロファイルを使用できます。 Databricks Terraform プロバイダーと Databricks SDK for Python、Java、Go の場合は、コード内で認証設定の直接構成を行うこともできます。 詳細については、次のセクションと、ツールまたは SDK のドキュメントを参照してください。
次のセクションでは、マシンの認証の構成を行うために、特殊な環境変数、Azure Databricks 構成プロファイル、Databricks Terraform プロバイダーのコード、Databricks SDK for Python、Java、Go 用のコードを使用する方法の例を示します。 関与する他のツールと SDK については、以下のとおりです。
- Databricks CLI では、多くの種類の認証に対応した特殊な環境変数と Azure Databricks 構成プロファイルがサポートされています。 以下のセクションで「環境」と「プロファイル」の例を参照してください。 Databricks CLI のドキュメントで、「認証の設定」も参照してください。
- Databricks Connect では、Databricks Connect に固有の複数の認証構成オプションがサポートされています。 Databricks Connect のドキュメントで、「接続プロパティの構成」を参照してください。
- Visual Studio Code 用の Databricks 拡張機能では、構成用の固有のユーザー インターフェイスが提供されている認証の種類もあれば、Databricks Connect との統合に依存している認証の種類もあります。 Visual Studio Code 用の Databricks 拡張機能のドキュメントで、「認証の構成」を参照してください。
Azure Databricks 個人用アクセス トークン認証
Azure Databricks 個人用アクセス トークンは、Azure Databricks ワークスペース レベルのリソースと操作に対して最も広くサポートされている種類の資格情報の 1 つです。 環境変数や Azure Databricks 構成プロファイルなど、資格情報と関連情報の多くのストレージ メカニズムでは、Azure Databricks 個人用アクセス トークンのサポートが提供されています。 Azure Databricks ワークスペースではユーザーは複数の個人用アクセス トークンを利用できますが、それぞれの個人用アクセス トークンは、1 つの Azure Databricks ワークスペースに対してのみ機能します。 1 ユーザーあたりの個人用アクセス トークンの数は、ワークスペースごとに 600 に制限されています。
注意
Azure Databricks アカウントレベルの機能を自動化するために、Azure Databricks 個人用アクセス トークンを使用することはできません。 代わりに、Azure Databricks アカウント管理者の Azure AD トークンを使用する必要があります。 Azure Databricks アカウント管理者は、ユーザーまたはサービス プリンシパルになることができます。 詳細については、次を参照してください。
関連項目:
ワークスペース ユーザー用の Azure Databricks 個人用アクセス トークン
Azure Databricks ワークスペース ユーザーのために Azure Databricks 個人用アクセス トークンを作成するには、以下の操作を行います。
Azure Databricks ワークスペースの上部バーで、目的の Azure Databricks ユーザー名をクリックし、次にドロップダウンから [ユーザー設定] を選択します。
[アクセス トークン] タブで [新しいトークンの生成] をクリックします。
(省略可能) 将来このトークンを識別するのに役立つコメントを入力し、トークンの既定の有効期間 90 日を変更します。 有効期間のないトークンを作成するには (推奨されません)、[有効期間 (日)] ボックスを空のままにします。
[Generate](生成) をクリックします。
表示されたトークンを安全な場所にコピーし、[完了] をクリックします。
コピーしたトークンは必ず安全な場所に保存してください。 コピーしたトークンは他人に見せないでください。 コピーしたトークンを失った場合、それとまったく同じトークンは再生成できません。 代わりに、この手順を繰り返して新しいトークンを作成する必要があります。 コピーしたトークンが見つからなくなった場合や、トークンが漏洩したと思われる場合は、[アクセス トークン] タブで、そのトークンの横の [X] をクリックし、ワークスペースからトークンをすぐに削除することを強くお勧めします。
注意
ワークスペースでトークンを作成することや使用することができない場合は、ワークスペース管理者によってトークンが無効にされているか、トークンを作成または使用する権限が作業者に付与されていない可能性があります。 ワークスペース管理者に連絡するか、以下の情報を参照してください。
Azure Databricks 個人用アクセス トークン認証を実行する
Azure Databricks 個人用アクセス トークン認証を構成するには、次の関連する環境変数、.databrickscfg
フィールド、Terraform フィールド、または Config
フィールドを設定する必要があります。
- Azure Databricks ホスト。対象の Azure Databricks のワークスペースごとの URL として指定されます (例:
https://adb-1234567890123456.7.azuredatabricks.net
)。 - Azure Databricks ユーザー アカウント用の Azure Databricks 個人用アクセス トークン認証。
Azure Databricks 個人用アクセス トークン認証を実行するには、関係ツールまたは SDK に基づいて、コード内に以下を統合します。
環境
ツールまたは SDK で環境変数を使用するには、ツールまたは SDK のドキュメントを参照してください。 「クライアント統合認証用の環境変数とフィールド」と「クライアント統合認証の方法と資格情報の既定の評価順序」も参照してください。
以下の環境変数を設定します。
DATABRICKS_HOST
。対象の Azure Databricks のワークスペースごとの URL に設定されます (例:https://adb-1234567890123456.7.azuredatabricks.net
)。DATABRICKS_TOKEN
プロファイル
.databrickscfg
ファイルで次のフィールドを使用して、Azure Databricks 構成プロファイルを作成または識別します 。 プロファイルを作成する場合は、プレースホルダーを適切な値に置き換えます。 ツールまたは SDK でプロファイルを使用するには、ツールまたは SDK のドキュメントを参照してください。 「クライアント統合認証用の環境変数とフィールド」と「クライアント統合認証の方法と資格情報の既定の評価順序」も参照してください。
.databrickscfg
ファイルに次の値を設定してください。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net
)。
[<some-unique-configuration-profile-name>]
host = <workspace-url>
token = <token>
Terraform
既定の認証の場合:
provider "databricks" {
alias = "workspace"
}
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは HashiCorp Vault などの他の構成ストアから値を取得します。Vault Provider もご覧ください)。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net
)。
provider "databricks" {
alias = "workspace"
host = <retrieve-workspace-url>
token = <retrieve-token>
}
Python
既定の認証の場合:
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
# ...
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは Azure KeyVault のような他の構成ストアから値を取得します)。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net
)。
from databricks.sdk import WorkspaceClient
w = WorkspaceClient(
host = retrieve_workspace_url(),
token = retrieve_token()
)
# ...
Java
既定の認証の場合:
import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは Azure KeyVault のような他の構成ストアから値を取得します)。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net
)。
import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
.setHost(retrieveWorkspaceUrl())
.setToken(retrieveToken());
WorkspaceClient w = new WorkspaceClient(cfg);
// ...
Go
既定の認証の場合:
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは Azure KeyVault のような他の構成ストアから値を取得します)。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net
)。
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
Host: retrieveWorkspaceUrl(),
Token: retrieveToken(),
}))
// ...
OAuth ユーザー対マシン (U2M) 認証
"OAuth ユーザー対マシン (U2M)" 認証では、リアルタイムの人間のサインインと同意を使用して、ターゲットの Azure Databricks ユーザー アカウントを認証します。 ユーザーが正常にサインインし、OAuth 認証要求に同意すると、関与するツールまたは SDK に OAuth トークンが付与され、その時点からユーザーの代わりにトークンベースの認証が実行されます。 OAuth トークンの有効期間は 1 時間です。その後、関連するツールまたは SDK は、1 時間有効な新しいトークンを自動的に取得しようとします。
OAuth U2M 認証のセットアップの要件
Azure Databricks ワークスペースに対応する Azure Databricks アカウントの管理者である必要があります。 「ユーザーにアカウント管理者ロールを割り当てる」もご覧ください。
Azure Databricks は、OAuth U2M について Azure Databricks アカウントとワークスペースに対する Azure Databricks ユーザーの認証を支援するために Azure アプリの登録を使用します。 Azure Databricks アカウントの Azure テナント内に、リダイレクト URI
http://localhost:8020
を持つ Web アプリとして構成された既存の Azure アプリの登録が必要です。 お持ちでない場合は、Azure Databricks アカウントの Azure テナント内に Azure アプリの登録を作成するためのアクセス許可が必要になります。
サービス プリンシパルとして機能する Azure アプリの登録を作成するか見つけるには、以下の操作を行います。
- Azure portal を使用して、Azure Databricks アカウントの Azure テナント (
https://portal.azure.com/<tenant-id>
) にサインインします。 - [アプリの登録] をクリックします。 [アプリの登録] が表示されない場合は、[その他のサービス] をクリックし、[サービスのフィルター] テキスト ボックスを使用して [アプリの登録] を検索します。
- 既存のアプリの登録がある場合は、アプリの登録の一覧でその名前を選択します。 アプリの登録を作成するには:
- [新規登録] をクリックします。
- アプリの [名前] を入力し、[サポートされているアカウントの種類] を [Single tenant](シングル テナント) に設定したままにします。
- [登録] をクリックします。
- アプリに認証プラットフォームを追加します: [管理] で [認証] をクリックします。
- [プラットフォーム構成] で [プラットフォームを追加] をクリックします。
- [Web] をクリックします。
- [リダイレクト URI] に「
http://localhost:8020
」を入力します。 - [構成] をクリックします。
- [Overview] をクリックします。
- 次の値をコピーします。
- 後で Azure クライアント ID として使用するために、アプリケーション (クライアント) ID の値をコピーします。
- 後で Azure テナント ID として使用するために、ディレクトリ (テナント) ID の値をコピーします。
Databricks クライアント認証を構成する
Azure Databricks での OAuth U2M 認証の構成を完了するには、次の関連する環境変数、.databrickscfg
フィールド、Terraform フィールド、または Config
フィールドを設定する必要があります。
Azure Databricks ホスト。アカウント操作の場合は
https://accounts.azuredatabricks.net
として指定し、ワークスペース操作の場合は、ターゲット ワークスペースごとの URL として指定します (例:https://adb-1234567890123456.7.azuredatabricks.net
)。Azure Databricks アカウント ID (Azure Databricks アカウント操作の場合)。
サービス プリンシパルとして機能する Azure アプリの登録の Azure テナント ID。
サービス プリンシパルとして機能する Azure アプリの登録の Azure クライアント ID。
サービス プリンシパルとして機能する Azure アプリ登録のクライアント シークレット。
Azure Databricks での OAuth U2M 認証を実行するには、関与するツールまたは SDK に基づいて、コード内に以下を統合します。 コードで呼び出される Azure Databricks 操作によっては、必ずしも Azure Databricks アカウントの管理者である必要はありません。
環境
ツールまたは SDK で環境変数を使用するには、ツールまたは SDK のドキュメントを参照してください。 「クライアント統合認証用の環境変数とフィールド」と「クライアント統合認証の方法と資格情報の既定の評価順序」も参照してください。
アカウントレベルの操作の場合は、次の環境変数を設定します。
DATABRICKS_HOST
。Azure Databricks アカウント コンソール URL (https://accounts.azuredatabricks.net
) の値に設定します。DATABRICKS_ACCOUNT_ID
ARM_TENANT_ID
ARM_CLIENT_ID
ARM_CLIENT_SECRET
ワークスペースレベルの操作の場合は、次の環境変数を設定します。
DATABRICKS_HOST
。Azure Databricks のワークスペースごとの URL (例:https://adb-1234567890123456.7.azuredatabricks.net
) に設定します。ARM_TENANT_ID
ARM_CLIENT_ID
ARM_CLIENT_SECRET
プロファイル
.databrickscfg
ファイルで次のフィールドを使用して、Azure Databricks 構成プロファイルを作成または識別します 。 プロファイルを作成する場合は、プレースホルダーを適切な値に置き換えます。 ツールまたは SDK でプロファイルを使用するには、ツールまたは SDK のドキュメントを参照してください。 「クライアント統合認証用の環境変数とフィールド」と「クライアント統合認証の方法と資格情報の既定の評価順序」も参照してください。
アカウント レベルの操作の場合は、.databrickscfg
ファイルに次の値を設定します。 この場合、Azure Databricks アカウント コンソール の URL は https://accounts.azuredatabricks.net
です。
[<some-unique-configuration-profile-name>]
host = <account-console-url>
account_id = <account-id>
azure_tenant_id = <azure-service-principal-subscription-id>
azure_client_id = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>
ワークスペース レベルの操作の場合は、.databrickscfg
ファイルに次の値を設定します。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net
)。
[<some-unique-configuration-profile-name>]
host = <workspace-url>
azure_tenant_id = <azure-service-principal-subscription-id>
azure_client_id = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>
Terraform
アカウント レベルの操作の場合は、まず Azure CLI を使用して Azure サービス プリンシパルを認証する必要があります。 「Azure CLI を使用して Azure AD アクセス トークンを取得する」を参照してください。 これらの手順内では、Azure CLI によってこれらのアクセス トークンが自動的に管理されるため、az account get-access-token
コマンドを実行する必要はないことに注意してください。
アカウントレベルの操作の場合 (既定の認証の場合):
provider "databricks" {
alias = "account"
}
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは HashiCorp Vault などの他の構成ストアから値を取得します。Vault Provider もご覧ください)。 この場合、Azure Databricks アカウント コンソール の URL は https://accounts.azuredatabricks.net
です。
provider "databricks" {
alias = "account"
host = <retrieve-account-console-url>
account_id = <retrieve-account-id>
azure_tenant_id = <retrieve-azure-tenant-id>
azure_client_id = <retrieve-azure-client-id>
azure_client_secret = <retrieve-azure-client-secret>
}
ワークスペースレベルの操作の場合は、まず Azure CLI を使用して Azure サービス プリンシパルを認証する必要があります。 「Azure CLI を使用して Azure AD アクセス トークンを取得する」を参照してください。 これらの手順内では、Azure CLI によってこれらのアクセス トークンが自動的に管理されるため、az account get-access-token
コマンドを実行する必要はないことに注意してください。
ワークスペースレベルの操作の場合 (既定の認証の場合):
provider "databricks" {
alias = "workspace"
}
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは HashiCorp Vault などの他の構成ストアから値を取得します。Vault Provider もご覧ください)。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net
)。
provider "databricks" {
alias = "workspace"
host = <retrieve-workspace-url>
azure_client_id = <retrieve-azure-client-id>
azure_tenant_id = <retrieve-azure-tenant-id>
azure_client_secret = <retrieve-azure-client-secret>
}
Python
GitHub の Databricks SDK for Python リポジトリの flask_app_with_oauth.py の例内にコードを実装する Flask アプリケーションを作成します。 この Flask コードの例では、OAuth U2M 認証を開始し、Databricks REST API に対して認証済み呼び出しを行います。
Java
Spring Boot を使用して、GitHub の Databricks SDK for Java リポジトリの spring-boot-oauth-u2m-demo の例内にコードを実装します。 この Spring Boot コードの例では、OAuth U2M 認証を開始し、Databricks REST API に対して認証済み呼び出しを行います。
Azure MSI 認証
"Azure MSI" 認証では、マネージド サービス ID (MSI) 認証 (システム割り当て ID) を使用してターゲット ID を認証します。 「Azure リソースのマネージド ID とは」を参照してください。
Azure Databricks での Azure MSI 認証を構成するには、次の関連する環境変数、.databrickscfg
フィールド、Terraform フィールド、または Config
フィールドを設定する必要があります。
- Azure Databricks ホスト。
- アカウント操作の場合は、
https://accounts.azuredatabricks.net
を指定します。 - ワークスペース操作の場合は、ワークスペースごとの URL を指定します (例:
https://adb-1234567890123456.7.azuredatabricks.net
)。
- アカウント操作の場合は、
- アカウント操作の場合は、Azure Databricks アカウント ID。
- Azure リソース ID。
- [Azure use MSI](Azure で MSI を使用する) を true に設定します。
Azure Databricks での Azure MSI 認証を実行するには、関与するツールまたは SDK に基づいて、コード内に以下を統合します。
環境
ツールまたは SDK で環境変数を使用するには、ツールまたは SDK のドキュメントを参照してください。 「クライアント統合認証用の環境変数とフィールド」と「クライアント統合認証の方法と資格情報の既定の評価順序」も参照してください。
アカウントレベルの操作の場合は、次の環境変数を設定します。
DATABRICKS_HOST
。Azure Databricks アカウント コンソール URL (https://accounts.azuredatabricks.net
) の値に設定します。DATABRICKS_ACCOUNT_ID
ARM_USE_MSI
は、true
に設定されます。
ワークスペースレベルの操作の場合は、次の環境変数を設定します。
DATABRICKS_HOST
。Azure Databricks のワークスペースごとの URL (例:https://adb-1234567890123456.7.azuredatabricks.net
) に設定します。ARM_USE_MSI
は、true
に設定されます。
ワークスペース レベルの操作の場合、ターゲット ID がまだワークスペースに追加されていない場合は、ワークスペース URL と共に HOST
ではなく、Azure ワークスペース リソース ID と共に DATABRICKS_AZURE_RESOURCE_ID
を指定します。 この場合、ターゲット ID には、Azure ワークスペース リソースに対する少なくとも共同作成者または所有者のアクセス許可が必要です。
プロファイル
.databrickscfg
ファイルで次のフィールドを使用して、Azure Databricks 構成プロファイルを作成または識別します 。 プロファイルを作成する場合は、プレースホルダーを適切な値に置き換えます。 ツールまたは SDK でプロファイルを使用するには、ツールまたは SDK のドキュメントを参照してください。 「クライアント統合認証用の環境変数とフィールド」と「クライアント統合認証の方法と資格情報の既定の評価順序」も参照してください。
アカウント レベルの操作の場合は、.databrickscfg
ファイルに次の値を設定します。 この場合、Azure Databricks アカウント コンソール の URL は https://accounts.azuredatabricks.net
です。
[<some-unique-configuration-profile-name>]
host = <account-console-url>
account_id = <account-id>
azure_use_msi = true
ワークスペース レベルの操作の場合は、.databrickscfg
ファイルに次の値を設定します。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net
)。
[<some-unique-configuration-profile-name>]
host = <workspace-url>
azure_use_msi = true
ワークスペース レベルの操作の場合、ターゲット ID がまだワークスペースに追加されていない場合は、ワークスペース URL と共に host
ではなく、Azure ワークスペース リソース ID と共に azure_workspace_resource_id
を指定します。 この場合、ターゲット ID には、Azure ワークスペース リソースに対する少なくとも共同作成者または所有者のアクセス許可が必要です。
Terraform
アカウントレベルの操作の場合 (既定の認証の場合):
provider "databricks" {
alias = "accounts"
}
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは HashiCorp Vault などの他の構成ストアから値を取得します。Vault Provider もご覧ください)。 この場合、Azure Databricks アカウント コンソール の URL は https://accounts.azuredatabricks.net
です。
provider "databricks" {
alias = "accounts"
host = <retrieve-account-console-url>
account_id = <retrieve-account-id>
azure_use_msi = true
}
ワークスペースレベルの操作の場合 (既定の認証の場合):
provider "databricks" {
alias = "workspace"
}
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは HashiCorp Vault などの他の構成ストアから値を取得します。Vault Provider もご覧ください)。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net
)。
provider "databricks" {
alias = "workspace"
host = <retrieve-workspace-url>
azure_use_msi = true
}
ワークスペース レベルの操作の場合、ターゲット ID がまだワークスペースに追加されていない場合は、ワークスペース URL と共に host
ではなく、Azure ワークスペース リソース ID と共に azure_workspace_resource_id
を指定します。 この場合、ターゲット ID には、Azure ワークスペース リソースに対する少なくとも共同作成者または所有者のアクセス許可が必要です。
Python
注意
Databricks SDK for Python では、まだ Azure MSI 認証が実装されていません。
Java
注意
Databricks SDK for Java では、まだ Azure MSI 認証が実装されていません。
Go
アカウントレベルの操作の場合 (既定の認証の場合):
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは Azure KeyVault のような他の構成ストアから値を取得します)。 この場合、Azure Databricks アカウント コンソール の URL は https://accounts.azuredatabricks.net
です。
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
Host: retrieveAccountConsoleUrl(),
AccountId: retrieveAccountId(),
AzureUseMSI: true,
}))
// ...
ワークスペースレベルの操作の場合 (既定の認証の場合):
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは Azure KeyVault のような他の構成ストアから値を取得します)。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net
)。
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
Host: retrieveWorkspaceUrl(),
AzureUseMSI: true,
}))
// ...
ワークスペース レベルの操作の場合、ターゲット ID がまだワークスペースに追加されていない場合は、ワークスペース URL と共に Host
ではなく、Azure ワークスペース リソース ID と共に AzureResourceID
を指定します。 この場合、ターゲット ID には、Azure ワークスペース リソースに対する少なくとも共同作成者または所有者のアクセス許可が必要です。
Azure サービス プリンシパル認証
Azure サービス プリンシパル認証では、Azure サービス プリンシパルの資格情報を使用して認証を行います。 Azure Databricks のサービス プリンシパルを作成および管理するには、「Azure Databricks 自動化のサービス プリンシパルをプロビジョニングする - Azure Databricks UI」をご覧ください。
Azure Databricks での Azure サービス プリンシパル 認証を構成するには、次の関連する環境変数、.databrickscfg
フィールド、Terraform フィールド、または Config
フィールドを設定する必要があります。
Azure Databricks ホスト。
アカウント操作の場合は、
https://accounts.azuredatabricks.net
を指定します。ワークスペース操作の場合は、ワークスペースごとの URL を指定します (例:
https://adb-1234567890123456.7.azuredatabricks.net
)。Azure サービス プリンシパルがまだワークスペースに追加されていない場合は、代わりに Azure リソース ID を指定します。 この場合、Azure サービス プリンシパルには、Azure リソースに対する少なくとも共同作成者または所有者のアクセス許可が必要です。
アカウント操作の場合は、Azure Databricks アカウント ID。
Azure リソース ID。
Azure サービス プリンシパルのテナント ID。
Azure サービス プリンシパルのクライアント ID。
Azure サービス プリンシパルのクライアント シークレット。
Azure Databricks での Azure サービス プリンシパル認証を実行するには、関与するツールまたは SDK に基づいて、コード内に以下を統合します。
環境
ツールまたは SDK で環境変数を使用するには、ツールまたは SDK のドキュメントを参照してください。 「クライアント統合認証用の環境変数とフィールド」と「クライアント統合認証の方法と資格情報の既定の評価順序」も参照してください。
アカウントレベルの操作の場合は、次の環境変数を設定します。
DATABRICKS_HOST
。Azure Databricks アカウント コンソール URL (https://accounts.azuredatabricks.net
) の値に設定します。DATABRICKS_ACCOUNT_ID
ARM_TENANT_ID
ARM_CLIENT_ID
ARM_CLIENT_SECRET
ワークスペースレベルの操作の場合は、次の環境変数を設定します。
DATABRICKS_HOST
。Azure Databricks のワークスペースごとの URL (例:https://adb-1234567890123456.7.azuredatabricks.net
) に設定します。ARM_TENANT_ID
ARM_CLIENT_ID
ARM_CLIENT_SECRET
ワークスペース レベルの操作の場合、Azure サービス プリンシパルがまだワークスペースに追加されていない場合は、ワークスペース URL と共に HOST
ではなく、Azure ワークスペース リソース ID と共に DATABRICKS_AZURE_RESOURCE_ID
を指定します。 この場合、Azure サービス プリンシパルには、Azure ワークスペース リソースに対する少なくとも共同作成者または所有者のアクセス許可が必要です。
プロファイル
.databrickscfg
ファイルで次のフィールドを使用して、Azure Databricks 構成プロファイルを作成または識別します 。 プロファイルを作成する場合は、プレースホルダーを適切な値に置き換えます。 ツールまたは SDK でプロファイルを使用するには、ツールまたは SDK のドキュメントを参照してください。 「クライアント統合認証用の環境変数とフィールド」と「クライアント統合認証の方法と資格情報の既定の評価順序」も参照してください。
アカウント レベルの操作の場合は、.databrickscfg
ファイルに次の値を設定します。 この場合、Azure Databricks アカウント コンソール の URL は https://accounts.azuredatabricks.net
です。
[<some-unique-configuration-profile-name>]
host = <account-console-url>
account_id = <account-id>
azure_tenant_id = <azure-service-principal-subscription-id>
azure_client_id = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>
ワークスペース レベルの操作の場合は、.databrickscfg
ファイルに次の値を設定します。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net
)。
[<some-unique-configuration-profile-name>]
host = <workspace-url>
azure_tenant_id = <azure-service-principal-subscription-id>
azure_client_id = <azure-service-principal-application-id>
azure_client_secret = <azure-service-principal-client-secret>
ワークスペース レベルの操作の場合、Azure サービス プリンシパルがまだワークスペースに追加されていない場合は、ワークスペース URL と共に host
ではなく、Azure ワークスペース リソース ID と共に azure_workspace_resource_id
を指定します。 この場合、Azure サービス プリンシパルには、Azure ワークスペース リソースに対する少なくとも共同作成者または所有者のアクセス許可が必要です。
Terraform
アカウントレベルの操作の場合 (既定の認証の場合):
provider "databricks" {
alias = "accounts"
}
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは HashiCorp Vault などの他の構成ストアから値を取得します。Vault Provider もご覧ください)。 この場合、Azure Databricks アカウント コンソール の URL は https://accounts.azuredatabricks.net
です。
provider "databricks" {
alias = "accounts"
host = <retrieve-account-console-url>
account_id = <retrieve-account-id>
azure_tenant_id = <retrieve-azure-tenant-id>
azure_client_id = <retrieve-azure-client-id>
azure_client_secret = <retrieve-azure-client-secret>
}
ワークスペースレベルの操作の場合 (既定の認証の場合):
provider "databricks" {
alias = "workspace"
}
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは HashiCorp Vault などの他の構成ストアから値を取得します。Vault Provider もご覧ください)。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net
)。
provider "databricks" {
alias = "workspace"
host = <retrieve-workspace-url>
azure_tenant_id = <retrieve-azure-tenant-id>
azure_client_id = <retrieve-azure-client-id>
azure_client_secret = <retrieve-azure-client-secret>
}
ワークスペース レベルの操作の場合、Azure サービス プリンシパルがまだワークスペースに追加されていない場合は、ワークスペース URL と共に host
ではなく、Azure ワークスペース リソース ID と共に azure_workspace_resource_id
を指定します。 この場合、Azure サービス プリンシパルには、Azure ワークスペース リソースに対する少なくとも共同作成者または所有者のアクセス許可が必要です。
Python
アカウントレベルの操作の場合 (既定の認証の場合):
from databricks.sdk import AccountClient
a = AcccountClient()
# ...
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは Azure KeyVault のような他の構成ストアから値を取得します)。 この場合、Azure Databricks アカウント コンソール の URL は https://accounts.azuredatabricks.net
です。
from databricks.sdk import AccountClient
a = AccountClient(
host = retrieve_account_console_url(),
account_id = retrieve_account_id(),
azure_tenant_id = retrieve_azure_tenant_id(),
azure_client_id = retrieve_azure_client_id(),
azure_client_secret = retrieve_azure_client_secret()
)
# ...
ワークスペースレベルの操作の場合 (既定の認証の場合):
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
# ...
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは Azure KeyVault のような他の構成ストアから値を取得します)。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net
)。
from databricks.sdk import WorkspaceClient
w = WorkspaceClient(
host = retrieve_workspace_url(),
azure_tenant_id = retrieve_azure_tenant_id(),
azure_client_id = retrieve_azure_client_id(),
azure_client_secret = retrieve_azure_client_secret()
)
# ...
ワークスペース レベルの操作の場合、Azure サービス プリンシパルがまだワークスペースに追加されていない場合は、ワークスペース URL と共に host
ではなく、Azure ワークスペース リソース ID と共に azure_workspace_resource_id
を指定します。 この場合、Azure サービス プリンシパルには、Azure ワークスペース リソースに対する少なくとも共同作成者または所有者のアクセス許可が必要です。
Java
アカウントレベルの操作の場合 (既定の認証の場合):
import com.databricks.sdk.AccountClient;
// ...
AccountClient a = new AccountClient();
// ...
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは Azure KeyVault のような他の構成ストアから値を取得します)。 この場合、Azure Databricks アカウント コンソール の URL は https://accounts.azuredatabricks.net
です。
import com.databricks.sdk.AccountClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
.setHost(retrieveAccountConsoleUrl())
.setAccountId(retrieveAccountId())
.setAzureTenantId(retrieveAzureTenantId())
.setAzureClientId(retrieveAzureClientId())
.setAzureClientSecret(retrieveAzureClientSecret())
AccountClient a = new AccountClient(cfg);
// ...
ワークスペースレベルの操作の場合 (既定の認証の場合):
import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは Azure KeyVault のような他の構成ストアから値を取得します)。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net
)。
import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
.setHost(retrieveWorkspaceUrl())
.setAzureTenantId(retrieveAzureTenantId())
.setAzureClientId(retrieveAzureClientId())
.setAzureClientSecret(retrieveAzureClientSecret())
WorkspaceClient w = new WorkspaceClient(cfg);
// ...
ワークスペース レベルの操作の場合、Azure サービス プリンシパルがまだワークスペースに追加されていない場合は、ワークスペース URL と共に setHost
ではなく、Azure ワークスペース リソース ID と共に setAzureWorkspaceResourceId
を指定します。 この場合、Azure サービス プリンシパルには、Azure ワークスペース リソースに対する少なくとも共同作成者または所有者のアクセス許可が必要です。
Go
アカウントレベルの操作の場合 (既定の認証の場合):
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは Azure KeyVault のような他の構成ストアから値を取得します)。 この場合、Azure Databricks アカウント コンソール の URL は https://accounts.azuredatabricks.net
です。
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
Host: retrieveAccountConsoleUrl(),
AccountId: retrieveAccountId(),
AzureTenantId: retrieveAzureTenantId(),
AzureClientId: retrieveAzureClientId(),
AzureClientSecret: retrieveAzureClientSecret(),
}))
// ...
ワークスペースレベルの操作の場合 (既定の認証の場合):
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは Azure KeyVault のような他の構成ストアから値を取得します)。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net
)。
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
Host: retrieveWorkspaceUrl(),
AzureTenantId: retrieveAzureTenantId(),
AzureClientId: retrieveAzureClientId(),
AzureClientSecret: retrieveAzureClientSecret(),
}))
// ...
ワークスペース レベルの操作の場合、Azure サービス プリンシパルがまだワークスペースに追加されていない場合は、ワークスペース URL と共に Host
ではなく、Azure ワークスペース リソース ID と共に AzureWorkspaceResourceId
を指定します。 この場合、Azure サービス プリンシパルには、Azure ワークスペース リソースに対する少なくとも共同作成者または所有者のアクセス許可が必要です。
Azure CLI 認証
"Azure CLI" 認証では、Azure CLI を使用してサインインしたエンティティを認証します。
Azure Databricks での Azure CLI 認証を構成するには、Azure CLI がローカルにインストールされている必要があります。 また、次の関連する環境変数、.databrickscfg
フィールド、Terraform フィールド、または Config
フィールドを設定する必要もあります。
- Azure Databricks ホスト。
- アカウント操作の場合は、
https://accounts.azuredatabricks.net
を指定します。 - ワークスペース操作の場合は、ワークスペースごとの URL を指定します (例:
https://adb-1234567890123456.7.azuredatabricks.net
)。
- アカウント操作の場合は、
- アカウント操作の場合は、Azure Databricks アカウント ID。
Azure Databricks での Azure CLI 認証を実行するには、関与するツールまたは SDK に基づいて、コード内に以下を統合します。
環境
ツールまたは SDK で環境変数を使用するには、ツールまたは SDK のドキュメントを参照してください。 「クライアント統合認証用の環境変数とフィールド」と「クライアント統合認証の方法と資格情報の既定の評価順序」も参照してください。
アカウントレベルの操作の場合は、次の環境変数を設定します。
DATABRICKS_HOST
。Azure Databricks アカウント コンソール URL (https://accounts.azuredatabricks.net
) の値に設定します。DATABRICKS_ACCOUNT_ID
ワークスペースレベルの操作の場合は、次の環境変数を設定します。
DATABRICKS_HOST
。Azure Databricks のワークスペースごとの URL (例:https://adb-1234567890123456.7.azuredatabricks.net
) に設定します。
プロファイル
.databrickscfg
ファイルで次のフィールドを使用して、Azure Databricks 構成プロファイルを作成または識別します 。 プロファイルを作成する場合は、プレースホルダーを適切な値に置き換えます。 ツールまたは SDK でプロファイルを使用するには、ツールまたは SDK のドキュメントを参照してください。 「クライアント統合認証用の環境変数とフィールド」と「クライアント統合認証の方法と資格情報の既定の評価順序」も参照してください。
アカウント レベルの操作の場合は、.databrickscfg
ファイルに次の値を設定します。 この場合、Azure Databricks アカウント コンソール の URL は https://accounts.azuredatabricks.net
です。
[<some-unique-configuration-profile-name>]
host = <account-console-url>
account_id = <account-id>
ワークスペース レベルの操作の場合は、.databrickscfg
ファイルに次の値を設定します。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net
)。
[<some-unique-configuration-profile-name>]
host = <workspace-url>
Terraform
アカウントレベルの操作の場合 (既定の認証の場合):
provider "databricks" {
alias = "accounts"
}
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは HashiCorp Vault などの他の構成ストアから値を取得します。Vault Provider もご覧ください)。 この場合、Azure Databricks アカウント コンソール の URL は https://accounts.azuredatabricks.net
です。
provider "databricks" {
alias = "accounts"
host = <retrieve-account-console-url>
account_id = <retrieve-account-id>
}
ワークスペースレベルの操作の場合 (既定の認証の場合):
provider "databricks" {
alias = "workspace"
}
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは HashiCorp Vault などの他の構成ストアから値を取得します。Vault Provider もご覧ください)。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net
)。
provider "databricks" {
alias = "workspace"
host = <retrieve-workspace-url>
}
Python
アカウントレベルの操作の場合 (既定の認証の場合):
from databricks.sdk import AccountClient
a = AcccountClient()
# ...
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは Azure KeyVault のような他の構成ストアから値を取得します)。 この場合、Azure Databricks アカウント コンソール の URL は https://accounts.azuredatabricks.net
です。
from databricks.sdk import AccountClient
a = AccountClient(
host = retrieve_account_console_url(),
account_id = retrieve_account_id()
)
# ...
ワークスペースレベルの操作の場合 (既定の認証の場合):
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
# ...
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは Azure KeyVault のような他の構成ストアから値を取得します)。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net
)。
from databricks.sdk import WorkspaceClient
w = WorkspaceClient(host = retrieve_workspace_url())
# ...
Java
アカウントレベルの操作の場合 (既定の認証の場合):
import com.databricks.sdk.AccountClient;
// ...
AccountClient a = new AccountClient();
// ...
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは Azure KeyVault のような他の構成ストアから値を取得します)。 この場合、Azure Databricks アカウント コンソール の URL は https://accounts.azuredatabricks.net
です。
import com.databricks.sdk.AccountClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
.setHost(retrieveAccountConsoleUrl())
.setAccountId(retrieveAccountId())
AccountClient a = new AccountClient(cfg);
// ...
ワークスペースレベルの操作の場合 (既定の認証の場合):
import com.databricks.sdk.WorkspaceClient;
// ...
WorkspaceClient w = new WorkspaceClient();
// ...
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは Azure KeyVault のような他の構成ストアから値を取得します)。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net
)。
import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.core.DatabricksConfig;
// ...
DatabricksConfig cfg = new DatabricksConfig()
.setHost(retrieveWorkspaceUrl())
WorkspaceClient w = new WorkspaceClient(cfg);
// ...
Go
アカウントレベルの操作の場合 (既定の認証の場合):
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは Azure KeyVault のような他の構成ストアから値を取得します)。 この場合、Azure Databricks アカウント コンソール の URL は https://accounts.azuredatabricks.net
です。
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient(&databricks.Config{
Host: retrieveAccountConsoleUrl(),
AccountId: retrieveAccountId(),
}))
// ...
ワークスペースレベルの操作の場合 (既定の認証の場合):
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient())
// ...
直接構成の場合 (retrieve
プレースホルダーを独自の実装に置き換えて、コンソールまたは Azure KeyVault のような他の構成ストアから値を取得します)。 この場合、ホストは Azure Databricks のワークスペースごとの URL です (例: https://adb-1234567890123456.7.azuredatabricks.net
)。
import (
"github.com/databricks/databricks-sdk-go"
)
// ...
w := databricks.Must(databricks.NewWorkspaceClient(&databricks.Config{
Host: retrieveWorkspaceUrl(),
}))
// ...
クライアント統合認証方法と資格情報の既定の評価順序
関与するツールまたは SDK が Azure Databricks での認証が必要な場合、そのツールまたは SDK は既定で次の種類の認証を次の順序で試行します。 ツールまたは SDK が試行した認証の種類で認証が成功すると、ツールまたは SDK は残りの認証の種類での認証の試行を停止します。 特定の認証の種類で SDK を強制的に認証するには、Config
API の Databricks 認証の種類フィールドを設定します。
- Azure Databricks 個人用アクセス トークン認証
- OAuth ユーザー対マシン (U2M) 認証
- Azure MSI 認証
- Azure サービス プリンシパル認証
- Azure CLI 認証
関与するツールまたは SDK が試行する認証の種類ごとに、ツールまたは SDK は次の場所、次の順序で認証資格情報の検索を試行します。 ツールまたは SDK が使用できる認証資格情報の検索に成功すると、ツールまたは SDK は残りの場所での認証資格情報の検索を停止します。
- 資格情報関連の
Config
API フィールド (SDK の場合)。Config
フィールドを設定するには、SDK のリファレンス ドキュメントを参照してください。 - 資格情報関連の環境変数。 環境変数を設定するには、オペレーティング システムのドキュメントを参照してください。
.databrickscfg
ファイル内にあるDEFAULT
構成プロファイルの資格情報関連フィールド。 構成プロファイル フィールドを設定するには、「Azure Databricks 構成プロファイル」を参照してください。- Azure CLI によってキャッシュされている関連する認証資格情報。 「Azure CLI」を参照してください。
コードに最大限の移植性を与えるために、Databricks では、.databrickscfg
ファイル内にカスタム構成プロファイルを作成し、対象の認証の種類用の必須フィールドをカスタム構成プロファイルに追加し、その後に DATABRICKS_CONFIG_PROFILE
環境変数をカスタム構成プロファイルの名前に設定することをお勧めします。
クライアント統合認証の環境変数とフィールド
次の表に、Databricks クライアント統合認証でサポートされている環境変数とフィールドの名前と説明を示します。 以下の表では、次のようになっています。
- 環境変数は、環境変数の名前です (該当する場合)。 環境変数を設定するには、オペレーティング システムのドキュメントを参照してください。
.databrickscfg
フィールドは、Azure Databricks 構成プロファイル ファイルまたは Databricks Terraform 構成内のフィールドの名前です (該当する場合)。.databrickscfg
フィールドを設定するには、「Azure Databricks 構成プロファイル」を参照してください。- Terraform フィールドは、Databricks Terraform 構成内のフィールドの名前です (該当する場合)。 Databricks Terraform フィールドを設定するには、Databricks Terraform プロバイダーのドキュメントの「認証」を参照してください。
Config
フィールドは、指定された SDK のConfig
API 内のフィールドの名前です。Config
API を使用するには、SDK のリファレンス ドキュメントを参照してください。
ホスト、トークン、アカウント 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 個人用アクセス トークンまたは Azure Active Directory (Azure AD) トークン。 | 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 | (文字列) Azure AD サービス プリンシパルのアプリケーション ID。 | ARM_CLIENT_ID |
azure_client_id |
azure_client_id (Python)、setAzureClientID (Java)、AzureClientID (Go) |
Azure クライアント シークレット | (文字列) Azure AD サービス プリンシパルのクライアント シークレット。 | ARM_CLIENT_SECRET |
azure_client_secret |
azure_client_secret (Python)、setAzureClientSecret (Java)、AzureClientSecret (Go) |
Azure 環境 | (文字列) Azure 環境の種類。 既定値は PUBLIC です。 |
ARM_ENVIRONMENT |
azure_environment |
azure_environment (Python)、setAzureEnvironment (Java)、AzureEnvironment (Go) |
Azure テナント ID | (文字列) Azure AD サービス プリンシパルのテナント 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 認証の種類のフィールド値には、以下のものがあります。
databricks-cli
: OAuth ユーザー対マシン (U2M) 認証azure-msi
: Azure MSI 認証azure-client-secret
: Azure サービス プリンシパル認証azure-cli
: Azure CLI 認証
Azure Databricks 構成プロファイル
Azure Databricks 構成プロファイル (configuration profile、config profile、または単に profile
と言及されることがあります) には、Azure Databricks が認証するために必要な設定とその他の情報が含まれています。 Azure Databricks 構成プロファイルは、使用するツール、SDK、スクリプト、アプリ用の Azure Databricks "構成プロファイル ファイル" に保存されます。 お使いのツール、SDK、スクリプト、アプリで Azure Databricks 構成プロファイルがサポートされているかどうかを確認するには、プロバイダーのドキュメントを参照してください。 Databricks クライアント統合認証を実装するすべての関係ツールと SDK では、Azure Databricks 構成プロファイルがサポートされています。
Azure Databricks 構成プロファイル ファイルを作成するには次のようにします。
使い慣れたテキスト エディターを使用して、Unix、Linux、または macOS の
~
(ユーザー ホーム) フォルダー、または Windows の%USERPROFILE%
(ユーザー ホーム) フォルダーに.databrickscfg
という名前のファイルを作成します。これはファイルがまだない場合の手順です。 ファイル名の先頭にあるドット (.
) を忘れないでください。 このファイルに次の内容を追加します。[<some-unique-name-for-this-configuration-profile>] <field-name> = <field-value>
上の内容のうち、以下の値を置き換えてからファイルを保存します。
<some-unique-name-for-this-configuration-profile>
は構成プロファイルの一意の名前に (DEFAULT
、DEVELOPMENT
、PRODUCTION
など)。 同じ.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 を作成するには、「ODBC ドライバー」を参照してください。
JDBC 接続 URL
JDBC では、"接続 URL" は、ツール、SDK、スクリプト、アプリが JDBC データ ソースへの接続を要求するために使用するシンボリック URL です。 接続 URL には、ネットワークの詳細、認証資格情報、データベースの詳細、JDBC ドライバーの機能などの接続の詳細が格納されます。 お使いのツール、SDK、スクリプト、アプリで JDBC 接続 URL がサポートされているかどうかを確認するには、プロバイダーのドキュメントを参照してください。
Databricks JDBC ドライバーをインストールして構成し、Azure Databricks 用の JDBC 接続 URL を作成するには、「JDBC ドライバー」を参照してください。
Azure AD トークン
Azure Active Directory (Azure AD) トークンは、Azure Databricks ワークスペースおよびアカウント レベルの両方で最も広くサポートされている種類の、Azure Databricks 用の資格情報の 1 つです。
注意
一部のツール、SDK、スクリプト、アプリでは、Azure Databricks 個人用アクセス トークンのみがサポートされており、Azure AD トークンはサポートされていません。 お使いのツール、SDK、スクリプト、アプリで Azure AD トークンがサポートされているかどうかを確認するには、プロバイダーのドキュメントを参照してください。
ユーザー用の Azure AD トークン認証
Databricks では、Azure Databricks ユーザー用の Azure AD トークンを手動で作成することはお勧めしません。 これは、各 Azure AD トークンは有効期間が短く、通常は 1 時間以内に期限切れになるためです。 この時間が経過したら、代わりの Azure AD トークンを手動で生成する必要があります。 代わりに、Databricks クライアント統合認証標準を実装している関係ツールまたは SDK のいずれかを使用してください。 これらのツールと SDK は、次の Databricks 認証の種類を利用して、期限切れの Azure AD トークンを自動的に生成して置き換えます。
Azure Databricks ユーザーの Azure AD トークンを手動で作成する必要がある場合は、以下を参照してください。
サービス プリンシパル用の Azure AD トークン認証
Databricks では、Azure AD サービス プリンシパル用の Azure AD トークンを手動で作成することはお勧めしません。 これは、各 Azure AD トークンは有効期間が短く、通常は 1 時間以内に期限切れになるためです。 この時間が経過したら、代わりの Azure AD トークンを手動で生成する必要があります。 代わりに、Databricks クライアント統合認証標準を実装している関係ツールまたは SDK のいずれかを使用してください。 これらのツールと SDK は、次の Databricks 認証の種類を利用して、期限切れの Azure AD トークンを自動的に生成して置き換えます。
Azure AD サービス プリンシパル用の Azure AD トークンを手動で作成する必要がある場合は、次を参照してください。
- Microsoft ID プラットフォーム REST API を使用して Azure AD アクセス トークンを取得する
- Azure CLI を使用して Azure AD アクセス トークンを取得する
Azure CLI
Azure CLI を使用すると、PowerShell、Linux や macOS 用のターミナル、または Windows 用のコマンド プロンプトを介して Azure Databricks で認証できます。 お使いのツール、SDK、スクリプト、アプリで Azure CLI がサポートされているかどうかを確認するには、プロバイダーのドキュメントを参照してください。
Azure CLI を使用して手動で Azure Databricks の認証を行うには、次のように az login コマンドを実行します。
az login
Azure サービス プリンシパルを使用して認証するには、「Azure サービス プリンシパルを使用した Azure CLI のログイン」を参照してください。
Azure Databricks ユーザー アカウントを使用して認証するには、「Azure Databricks ユーザー アカウントを使用した Azure CLI のログイン」を参照してください。
Databricks クライアント統合認証標準を実装し、Azure CLI に依存するツールと SDK は、Azure Databricks 認証を作成および管理するために、ユーザーに代わって Azure CLI を自動的に実行する必要があることに注意してください。