共用方式為


使用 Azure CLI 進行驗證

Azure CLI 驗證會使用 Azure CLI 來對登入使用者或 Microsoft Entra ID 服務主體進行驗證。

備註

Azure Databricks 受控服務主體會直接在 Azure Databricks 中管理。 在 Microsoft Entra ID 中管理 Microsoft Entra ID 受控服務主體,這需要額外的權限。 Databricks 建議您在大部分情況下透過 Azure Databricks 受控服務主體使用 OAuth 機器對機器 (M2M) 驗證,而不是透過 Microsoft Entra ID 服務主體使用 Azure CLI 驗證。 不過,在必須同時向 Azure Databricks 和其他 Azure 資源進行驗證時,Databricks 建議您透過 Microsoft Entra ID 服務主體使用 Azure CLI 驗證。

若要搭配 Azure Databricks 受控服務主體使用 OAuth M2M 驗證,而不是搭配 Microsoft Entra ID 服務主體的 Azure CLI 驗證,請略過此頁面,並參閱 使用 OAuth 授權服務主體存取 Azure Databricks

若要使用 Azure Databricks 進行設定,您必須執行下列動作:

  1. 在本機安裝 Azure CLI 驗證
  2. 執行 az login 命令,使用 Azure CLI 來登入 Azure Databricks。 請參閱使用 Azure CLI 登入。
  3. 設定下列關聯的環境變數、.databrickscfg 欄位、Terraform 欄位或 Config 欄位:
    • Azure Databricks 主機。
      • 針對帳戶作業,請指定 https://accounts.azuredatabricks.net
      • 針對工作區作業,請指定個別工作區網址,例如 https://adb-1234567890123456.7.azuredatabricks.net
    • 針對帳戶操作,則為 Azure Databricks 帳戶識別碼

若要使用 Azure Databricks 執行 Azure CLI 驗證,請根據參與工具或 SDK 將下列內容整合到您的程式碼中:

環境

若要搭配工具或 SDK 使用特定 Azure Databricks 驗證類型的環境變數,請參閱 授權存取 Azure Databricks 資源 或工具或 SDK 的檔。 另請參閱 統一鑑別的環境變數和欄位, 以及 鑑別方法優先順序

針對 帳戶層級作業,請設定下列環境變數:

  • DATABRICKS_HOST,設定為 Azure Databricks 帳戶主控台網址的值 (https://accounts.azuredatabricks.net)。
  • DATABRICKS_ACCOUNT_ID

針對工作區層級作業 ,請設定下列環境變數:

  • DATABRICKS_HOST,設置為 Azure Databricks 工作區專用的 URL的值,例如 https://adb-1234567890123456.7.azuredatabricks.net

個人資料

在您的 檔案中,建立或識別含有下列欄位的 Azure Databricks .databrickscfg。 如果您建立設定檔,請將占位符替換成適當的值。 若要搭配工具或 SDK 使用配置檔,請參閱 授權存取 Azure Databricks 資源 或工具或 SDK 的文件。 另請參閱 統一鑑別的環境變數和欄位, 以及 鑑別方法優先順序

針對 帳戶層級作業,請在 .databrickscfg 檔案中設定下列值。 在此情況下,Azure Databricks 帳戶主控台網址為 https://accounts.azuredatabricks.net

[<some-unique-configuration-profile-name>]
host       = <account-console-url>
account_id = <account-id>

針對 工作區層級作業,請在 .databrickscfg 檔案中設定下列值。 在此情況下,主機是 Azure Databricks 個別工作區網址,例如 https://adb-1234567890123456.7.azuredatabricks.net

[<some-unique-configuration-profile-name>]
host = <workspace-url>

CLI

針對 Databricks CLI,請執行下列其中一項:

  • 設定環境變數,如「 環境」 標籤上所指定。
  • 設定檔案中的 .databrickscfg 值,如 設定檔 標籤上指定的值。

環境變數一律優先於 .databrickscfg 檔案中的值。

另請參閱 Azure CLI 驗證

連線

備註

下列 Databricks Connect 版本支援 Azure CLI 驗證:

  • 對於 Python,適用於 Databricks Runtime 13.1 及以上版本的 Databricks Connect。
  • 針對 Scala,適用於 Databricks Runtime 13.3 LTS 和更新版本的 Databricks Connect。

針對 Databricks Connect,您可以:

  • 使用組態配置檔:如 [.databrickscfg] 索引標籤中所述,設定檔案中的工作區層級值。也請將 設定cluster_id為工作區實例 URL。
  • 使用環境變數: 設定與 [ 環境] 索引標籤上所示相同的值。也請將 設定 DATABRICKS_CLUSTER_ID 為工作區實例 URL。

的值 .databrickscfg 優先於環境變數。

若要使用這些設定初始化 Databricks Connect,請參閱 Databricks Connect 的計算組態

VS Code

針對適用於 Visual Studio Code 的 Databricks 延伸項目,請執行下列動作:

  1. 配置 窗格中,點擊 設定 Databricks
  2. 在 [命令面板] 中,針對 [Databricks 主機],輸入您的工作區專用網址,例如 https://adb-1234567890123456.7.azuredatabricks.net,然後按 Enter
  3. 選取 Azure CLI

如需詳細資料,請參閱設定 Azure CLI 驗證

Terraform(星體改造技術)

針對帳戶層級作業以及預設驗證

provider "databricks" {
  alias = "accounts"
}

針對直接設定(將 retrieve 佔位符號替換為您自己的實作,以從主控台或其他一些設定存放區中取得值,例如 HashiCorp Vault。另請參閱 Vault Provider)。 在此情況下,Azure Databricks 帳戶主控台網址為 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 個別工作區網址,例如 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 帳戶主控台網址為 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 個別工作區網址,例如 https://adb-1234567890123456.7.azuredatabricks.net

from databricks.sdk import WorkspaceClient

w = WorkspaceClient(host = retrieve_workspace_url())
# ...

如需有關使用 Python 並實作 Databricks 統一驗證的 Databricks 工具及 SDK 進行驗證的詳細資訊,請參閱:

JAVA

針對帳戶層級作業以及預設驗證

import com.databricks.sdk.AccountClient;
// ...
AccountClient a = new AccountClient();
// ...

直接配置時(將 retrieve 佔位符替換成您自己的實作,以從控制台或其他一些組態存放區中擷取值,例如 Azure KeyVault)。 在此情況下,Azure Databricks 帳戶主控台網址為 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 個別工作區網址,例如 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 統一驗證的工具和 SDK 以進行驗證的詳細資訊,請參閱:

Go

針對帳戶層級作業以及預設驗證

import (
  "github.com/databricks/databricks-sdk-go"
)
// ...
a := databricks.Must(databricks.NewAccountClient())
// ...

直接配置時(將 retrieve 佔位符替換成您自己的實作,以從控制台或其他一些組態存放區中擷取值,例如 Azure KeyVault)。 在此情況下,Azure Databricks 帳戶主控台網址為 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 個別工作區網址,例如 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 帳戶或工作區驗證適用於 Go 的 Databricks SDK