Azure CLI 認証
Azure CLI 認証ではAzure CLI を使用して、サインインしたユーザーまたは Microsoft Entra ID サービス プリンシパルを認証します。
Note
Azure Databricks マネージド サービス プリンシパルは、Azure Databricks 内で直接管理されます。 Microsoft Entra ID マネージド サービス プリンシパルは、追加のアクセス許可が必要とされる Microsoft Entra ID 内で管理されます。 Databricks では、Microsoft Entra ID サービス プリンシパルを使用した Azure CLI 認証ではなく、ほとんどのシナリオで Azure Databricks マネージド サービス プリンシパルで OAuth マシン間 (M2M) 認証を使用することをお勧めします。 ただし Databricks では、Azure Databricks と他の Azure リソースを同時に認証する必要がある場合には、Microsoft Entra ID サービス プリンシパルで Azure CLI 認証を使用することをお勧めします。
Microsoft Entra ID サービスプリンシパルを使用した Azure CLI 認証ではなく、Azure Databricks 管理サービスプリンシパルを使用した OAuth M2M 認証を使用する場合は、この記事はスキップして、「OAuth(OAuth M2M)を使用してサービスプリンシパルで Azure Databricks へのアクセスを認証する」を参照してください。
Azure Databricks で構成するには、次の操作を行う必要があります。
- Azure CLI 認証 をローカルにインストールします。
- Azure CLI を使い、
az login
コマンドを実行して Azure Databricks にログインします。 を参照 - 次の関連する環境変数、
.databrickscfg
フィールド、Terraform フィールド、またはConfig
フィールドを設定します。- Azure Databricks ホスト。
- アカウント操作の場合は、
https://accounts.azuredatabricks.net
を指定します。 - ワークスペース操作の場合は、ワークスペースごとの URL を指定します (例:
https://adb-1234567890123456.7.azuredatabricks.net
)。
- アカウント操作の場合は、
- アカウント操作の場合は、Azure Databricks アカウント ID。
- Azure Databricks ホスト。
Azure Databricks での Azure CLI 認証を実行するには、関与するツールまたは SDK に基づいて、コード内に以下を統合します。
環境
ツールまたは SDK で特定の Azure Databricks 認証の種類に環境変数を使用するには、「Azure Databricks ツールと API の認証」またはツールまたは 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 でプロファイルを使用するには、「Azure Databricks リソースへのアクセスの認証」またはツールまたは 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>
CLI
Databricks CLI の場合は、次のいずれかを行います。
- この記事の「環境」セクションで指定されているように環境変数を設定します。
- この記事の「プロファイル」セクションで指定されているように
.databrickscfg
ファイルの値を設定します。
環境変数は、.databrickscfg
ファイル内の値よりも常に優先されます。
「Azure CLI 認証」も参照してください。
接続
Note
Azure CLI 認証は、次の Databricks Connect バージョンでサポートされています。
- Python の場合、Databricks Connect for Databricks Runtime 13.1 以降。
- Scala の場合、Databricks Connect for Databricks Runtime 13.3 LTS 以降。
Databricks Connect の場合は、次のいずれかを行うことができます。
- この記事の「プロファイル」セクションで指定されているように、Azure Databricks ワークスペースレベルの操作の
.databrickscfg
ファイル内の値を設定します。 また、プロファイル内のcluster_id
環境変数をワークスペースごとの URL に設定します (例:https://adb-1234567890123456.7.azuredatabricks.net
)。 - この記事の「環境」セクションで指定されているように、Azure Databricks ワークスペース レベルの操作の環境変数を設定します。 また、
DATABRICKS_CLUSTER_ID
環境変数をワークスペースごとの URL に設定します (例:https://adb-1234567890123456.7.azuredatabricks.net
)。
.databrickscfg
ファイル内の値は、環境変数よりも常に優先されます。
これらの環境変数または .databrickscfg
ファイル内の値を使用して Databricks Connect クライアントを初期化するには、次のいずれかを参照してください。
- Python の場合は、Python の接続プロパティの構成に関する記事を参照してください。
- Scala の場合は、Scala の接続プロパティの構成に関する記事を参照してください。
VS Code
Visual Studio Code 用 Databricks 拡張機能の場合は、次を実行します。
- [構成] ウィンドウで、[Configure Databricks](Databricks の構成) をクリックします。
- コマンド パレットの Databricks Host に、ワークスペースごとの URL (例:
https://adb-1234567890123456.7.azuredatabricks.net
) を入力し、Enter
キーを押します。 - [Azure CLI] を選びます。
詳細については、「Azure CLI 認証を設定する」を参照してください。
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>
}
Databricks Terraform プロバイダーを使用した認証の詳細については、「認証」を参照してください。
Python
アカウントレベルの操作の場合 (既定の認証の場合):
from databricks.sdk import AccountClient
a = AccountClient()
# ...
直接構成の場合 (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())
# ...
Python を使用し、Databricks クライアント統合認証を実装した Databricks ツールや SDK を使用した認証については、以下を参照してください。
- Python 用に Databricks Connect クライアントを設定する
- Visual Studio Code 用 Databricks 拡張機能の認証の設定
- Azure Databricks アカウントまたはワークスペースで Databricks SDK for Python を認証する
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);
// ...
Java を使用し、Databricks クライアント統合認証を実装した Databricks ツールや SDK を使用した認証については、以下を参照してください。
- Scala 用に Databricks Connect クライアントを設定する (Scala 用 Databricks Connect クライアントは、同梱の Java 用 Databricks SDK を認証に使用します)
- Azure Databricks アカウントまたはワークスペースで Databricks SDK for Java を認証する
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(),
}))
// ...
Go を使用し、Databricks クライアント統合認証を実装する Databricks ツールおよび SDK を使用した認証の詳細については、「Azure Databricks アカウントまたはワークスペースで Databricks SDK for Go を認証する」を参照してください。