分享方式:


Azure CLI 驗證

Azure CLI 驗證會使用 Azure CLI 來驗證已登入的使用者或Microsoft Entra ID(先前稱為 Azure Active Directory) 服務主體。

注意

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

若要搭配 Azure Databricks 受控服務主體使用 OAuth M2M 驗證,而不是使用 azure CLI 驗證搭配 Microsoft Entra ID 服務主體,請略過本文,並參閱 使用服務主體向 Azure Databricks 進行驗證。

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

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

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

Environment

若要搭配工具或 SDK 使用特定 Azure Databricks 驗證類型的環境變數,請參閱 Azure Databricks 工具或 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 使用設定檔,請參閱 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>

CLI

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

  • 如本文的「環境」一節中所指定,設定環境變數。
  • 如本文的「配置檔」一節所指定,設定檔案 .databrickscfg 中的值。

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

請參閱 Azure CLI 驗證

連線

注意

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

  • 針對 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 用戶端,請參閱下列其中一項:

VS Code

針對 Visual Studio Code 的 Databricks 擴充功能,請執行下列動作:

  1. 在 [ 設定 ] 窗格中,按兩下 [ 設定 Databricks]。
  2. 在 [命令選擇區] 的 Databricks Host 中,輸入每個工作區的 URL,例如 https://adb-1234567890123456.7.azuredatabricks.net,然後按 Enter
  3. 選取 [Azure CLI]。

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

Terraform

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

provider "databricks" {
  alias = "accounts"
}

針對直接設定(將 retrieve 佔位元取代為您自己的實作,以從控制台或其他一些組態存放區擷取值,例如 HashiCorp Vault。另 請參閱保存庫提供者)。 在此情況下,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。另 請參閱保存庫提供者)。 在此情況下,主機是 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 進行驗證的詳細資訊,請參閱:

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 進行驗證的詳細資訊,請參閱:

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。