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 進行設定,您必須執行下列動作:
- 已在本機安裝 Azure CLI 驗證。
- 執行
az login
命令,使用 Azure CLI 來登入 Azure Databricks。 請參閱: - 設定下列關聯的環境變數、
.databrickscfg
欄位、Terraform 欄位或Config
欄位:
若要使用 Azure Databricks 執行 Azure CLI 驗證,請根據參與工具或 SDK 將下列內容整合到您的程式碼中:
Environment
若要搭配工具或 SDK 針對特定 Azure Databricks 驗證類型使用環境變數,請參閱 授權存取 Azure Databricks 資源 或工具或 SDK 的檔。 另請參閱用戶端統一驗證的環境變數和欄位和用戶端統一驗證的預設方法。
針對 帳戶層級作業,請設定下列環境變數:
-
DATABRICKS_HOST
設定為 Azure Databricks 帳戶主控台 URL 的值,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 Connect for Databricks Runtime 13.1 和更新版本的。
- 針對 Scala,即為適用於 Databricks Runtime 13.3 LTS 和更新版本的 Databricks Connect。
針對 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 用戶端,請參閱 databricks Connect的計算組態。
VS Code
針對適用於 Visual Studio Code 的 Databricks 延伸項目,請執行下列動作:
- 在 [組態 ] 窗格中,按下 [設定 Databricks]。
- 在 [命令選擇區] 中,針對 [Databricks 主機],輸入個別工作區網址,例如
https://adb-1234567890123456.7.azuredatabricks.net
,然後按Enter
。 - 選取 Azure CLI。
如需詳細資料,請參閱設定 Azure CLI 驗證。
Terraform
provider "databricks" {
alias = "accounts"
}
針對直接設定(用您自己的實作替換 retrieve
佔位元,以便從主控台或其他設定存放區中擷取值,例如 HashiCorp Vault。另請參閱 Vault 供應商)。 在此情況下,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 供應商)。 在此情況下,主機是 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 進行驗證的詳細資訊,請參閱:
- 設定適用於 Python 的 Databricks Connect 用戶端
- 為 Visual Studio Code 的 Databricks 擴充功能設定授權
- 使用 Azure Databricks 帳戶或工作區來驗證適用於 Python 的 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 用戶端統一驗證的 Databricks 工具和 SDK 進行驗證的詳細資訊,請參閱:
- 設定適用於 Scala 的 Databricks Connect 用戶端(此用戶端使用包括在內的 Databricks SDK for Java 進行驗證)
- 使用 Azure Databricks 帳戶或工作區來驗證適用於 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。