Azure Databricks 個人存取權杖驗證
Azure Databricks 個人存取權杖 (PAT) 可用於驗證對 Azure Databricks 工作區層級資源和 API 的存取權。 許多認證和相關資訊的儲存體機制 (例如環境變數和 Azure Databricks 組態設定檔) 都提供 Azure Databricks 個人存取權杖的支援。 雖然使用者可以在 Azure Databricks 工作區中有多個個人存取權杖,但每個個人存取權杖僅適用於單一 Azure Databricks 工作區。 每位使用者的個人存取權杖數目限制為每個工作區 600 個。
重要
由於 OAuth 的安全性得到提高,Databricks 建議使用 OAuth 而不是 PAT 進行使用者帳戶用戶端驗證和授權。 若要了解如何使用 OAuth 透過 Databricks 使用者帳戶執行用戶端驗證,請參閱使用 OAuth (OAuth M2M) 透過使用者帳戶對 Azure Databricks 的存取進行驗證 (對於使用者帳戶驗證)。
使用 Azure Databricks 使用者名稱和密碼進行的基本 (非權杖型) 驗證生命週期已於 2024 年 7 月 10 日結束。
若要自動化 Azure Databricks 帳戶層級功能,您無法使用 Azure Databricks 個人存取權杖。 相反的,您必須使用 Azure Databricks 帳戶系統管理員的 Microsoft Entra ID 權杖。 Azure Databricks 帳戶管理員可以是使用者或服務主體。 如需詳細資訊,請參閱
適用於工作區使用者的 Azure Databricks 個人存取權杖
若要建立適用於 Azure Databricks 工作區使用者的 Azure Databricks 個人存取權杖,請執行以下操作:
- 在 Azure Databricks 工作區中,按一下頂端列中的 Azure Databricks 使用者名稱,然後從下拉式清單中選取 [設定]。
- 按一下 [開發人員]。
- 在 [存取權杖] 旁,按一下 [管理]。
- 按一下 產生新權杖。
- (選擇性) 輸入可協助您之後識別此權杖的註解,並變更權杖的預設存留期 90 天。 若要建立沒有存留期的權杖 (不建議),請將 [存留期 (天)] 方塊留空 (空白)。
- 按一下 產生。
- 將顯示的權杖複製到安全位置,然後選取 [完成]。
注意
請務必將複製的權杖儲存在安全位置。 請勿與其他人共用複製的權杖。 如果您遺失複製的權杖,就無法重新產生完全相同的權杖。 相反地,您必須重複此程序來建立新的權杖。 如果您遺失複製的權杖,或您認為權杖已遭入侵,Databricks 強烈建議您按一下 [存取權杖] 頁面上權杖旁邊的垃圾桶 (撤銷) 圖示,立即從工作區中刪除該權杖。
注意:如果您無法在工作區中建立或使用 PAT,這可能是因為您的工作區系統管理員已停用權杖,或未授與您建立或使用權杖的權限。 請諮詢您的工作區系統管理員或參閱下列主題:
適用於服務主體的 Azure Databricks 個人存取權杖
服務主體可以自行建立 Databricks 個人存取權杖,如下所示:
注意
您無法使用 Azure Databricks 使用者介面來產生服務主體的 Azure Databricks 個人存取權杖。 此程序會使用 Databricks CLI 0.205 版或更新版本來產生服務主體的存取權杖。 如果您尚未安裝 Databricks CLI,請參閱安裝或更新 Databricks CLI。
此程序假設您使用 OAuth 機器對機器 (M2M) 驗證或 Microsoft Entra ID 服務主體驗證來設定 Databricks CLI 以驗證服務主體,從而自行產生 Azure Databricks 個人存取權杖。 請參閱 OAuth 機器對機器 (M2M) 驗證或 Microsoft Entra ID 服務主體驗證。
使用 Databricks CLI 執行下列命令,這會為服務主體產生另一個存取權杖。
執行以下命令:
databricks tokens create --comment <comment> --lifetime-seconds <lifetime-seconds> -p <profile-name>
--comment
:將<comment>
取代為有關存取權杖用途的有意義註解。 如果未指定--comment
選項,則不會產生任何註解。--lifetime-seconds
:將<lifetime-seconds>
取代為存取權杖的有效秒數。 例如,1 天為 86400 秒。 如果未指定--lifetime-seconds
選項,存取權杖會設定為永不過期 (不建議)。--profile-name
:將<profile-name>
取代為 Azure Databricks 組態設定檔的名稱,其中包含服務主體和目標工作區的驗證資訊。 如果未指定-p
選項,Databricks CLI 會嘗試尋找並使用名為DEFAULT
的組態設定檔。
在回應中,複製的
token_value
值,這是服務主體的存取權杖。請務必將複製的權杖儲存在安全位置。 請勿與其他人共用複製的權杖。 如果您遺失複製的權杖,就無法重新產生完全相同的權杖。 相反地,您必須重複此程序來建立新的權杖。
注意:如果您無法在工作區中建立或使用 PAT,這可能是因為您的工作區系統管理員已停用權杖,或未授與您建立或使用權杖的權限。 請參閱您的工作區系統管理員或下列內容:
執行 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 將下列內容整合到您的程式碼中:
Environment
若要透過工具或 SDK 將環境變數用於特定 Azure Databricks 驗證類型,請參閱對 Azure Databricks 資源的存取進行驗證或者參閱工具或 SDK 的文件。 另請參閱用戶端統一驗證的環境變數和欄位和用戶端統一驗證的預設方法。
設定下列環境變數:
DATABRICKS_HOST
,設定為 Azure Databricks 個別工作區網址,例如https://adb-1234567890123456.7.azuredatabricks.net
。DATABRICKS_TOKEN
設定檔
使用 .databrickscfg
檔案中的下列欄位,建立或識別 Azure Databricks 組態設定檔。 如果您建立設定檔,請將預留位置取代為適當的值。 若要透過工具或 SDK 使用設定檔,請參閱對 Azure Databricks 資源的存取進行驗證或者參閱工具或 SDK 的文件。 另請參閱用戶端統一驗證的環境變數和欄位和用戶端統一驗證的預設方法。
在 .databrickscfg
檔案中設定下列值。 在此情況下,主機是 Azure Databricks 個別工作區網址,例如 https://adb-1234567890123456.7.azuredatabricks.net
:
[<some-unique-configuration-profile-name>]
host = <workspace-url>
token = <token>
您可以使用 Databricks CLI 來設定上述值,而不是在 .databrickscfg
檔案中手動設定這些值,如下所示:
注意
下列程序使用 Databricks CLI 建立名為 DEFAULT
的 Azure Databricks 組態設定檔。 如果已具有 DEFAULT
組態設定檔,此程序將覆寫現有的 DEFAULT
組態設定檔。
若要檢查是否已具有 DEFAULT
組態設定檔,並檢視此設定檔的設置 (如果存在),請使用 Databricks CLI 來執行命令 databricks auth env --profile DEFAULT
。
若要使用除 DEFAULT
以外的名稱建立組態設定檔,請將下列 DEFAULT
命令中 --profile DEFAULT
的 databricks configure
部分取代為其他組態設定檔名稱。
使用 Databricks CLI 建立名為
DEFAULT
的 Azure Databricks 組態設定檔,此設定檔使用 Azure Databricks 個人存取權杖驗證。 若要這樣做,請執行下列命令:databricks configure --profile DEFAULT
對於提示 Databricks 主機,輸入 Azure Databricks 個別工作區 URL,例如
https://adb-1234567890123456.7.azuredatabricks.net
。對於提示個人存取權杖,輸入工作區的 Azure Databricks 個人存取權杖。
CLI
對於 Databricks CLI,執行 databricks configure
命令。 在提示字元中,輸入下列設定:
- Azure Databricks 主機,指定為目標 Azure Databricks 個別工作區 URL,例如
https://adb-1234567890123456.7.azuredatabricks.net
。 - Azure Databricks 使用者帳戶的 Azure Databricks 個人存取權杖。
如需詳細資料,請參閱 Azure Databricks 個人存取權杖驗證。
連線
注意
下列 Databricks Connect 版本支援 Azure Databricks 個人存取權杖驗證:
- 對於 Python,為 Databricks Connect for Databricks Runtime 13.3 LTS 和更新版本。
- 針對 Scala,即為適用於 Databricks Runtime 13.3 LTS 和更新版本的 Databricks Connect。
對於 Databricks Connect,您可以使用 Databricks CLI 按照本文的「設定檔」一節所述為 Azure Databricks 工作區層級作業設定 .databrickscfg
檔案中的值,如下所示:
注意
下列程序使用 Databricks CLI 建立名為 DEFAULT
的 Azure Databricks 組態設定檔。 如果已具有 DEFAULT
組態設定檔,此程序將覆寫現有的 DEFAULT
組態設定檔。
若要檢查是否已具有 DEFAULT
組態設定檔,並檢視此設定檔的設置 (如果存在),請使用 Databricks CLI 來執行命令 databricks auth env --profile DEFAULT
。
若要使用除 DEFAULT
以外的名稱建立組態設定檔,請將 DEFAULT
命令中 --profile DEFAULT
的 databricks configure
部分取代為組態設定檔的不同名稱,如下列步驟所示。
使用 Databricks CLI 建立名為
DEFAULT
的 Azure Databricks 組態設定檔,此設定檔使用 Azure Databricks 個人存取權杖驗證。 若要這樣做,請執行下列命令:databricks configure --configure-cluster --profile DEFAULT
對於提示 Databricks 主機,輸入 Azure Databricks 個別工作區 URL,例如
https://adb-1234567890123456.7.azuredatabricks.net
。對於提示個人存取權杖,輸入工作區的 Azure Databricks 個人存取權杖。
在顯示的可用叢集清單中,使用向上鍵和向下鍵選取工作區中的目標 Azure Databricks 叢集,然後按
Enter
。 您也可以鍵入叢集顯示名稱的任何部分,以篩選可用叢集的清單。
Databricks Connect 的其他支援方法包括:
- 按照本文的「設定檔」一節所述為 Azure Databricks 工作區層級作業手動設定
.databrickscfg
檔案中的值。 此外,將設定檔中的cluster_id
環境變數設定為個別工作區網址,例如https://adb-1234567890123456.7.azuredatabricks.net
。 - 按照本文的「環境」一節所述,為 Azure Databricks 工作區層級作業設定環境變數。 此外,將
DATABRICKS_CLUSTER_ID
環境變數設定為個別工作區網址,例如https://adb-1234567890123456.7.azuredatabricks.net
。
.databrickscfg
檔案中的值始終優先於環境變數。
若要使用 .databrickscfg
檔案中的這些環境變數或值來初始化 Databricks Connect 用戶端,請參閱下列其中一項:
- 針對 Python,請參閱設定 Python 的連線屬性。
- 針對 Scala,請參閱 設定 Scala 的連線屬性。
VS Code
針對適用於 Visual Studio Code 的 Databricks 延伸項目,請執行下列動作:
- 按照本文的「設定檔」一節所述,為 Azure Databricks 工作區層級作業設定
.databrickscfg
檔案中的值。 - 在適用於 Visual Studio Code 的 Databricks 延伸項目的 [設定] 窗格中,按下 [設定 Databricks]。
- 在 [命令選擇區] 中,針對 [Databricks 主機],輸入個別工作區網址,例如
https://adb-1234567890123456.7.azuredatabricks.net
,然後按Enter
。 - 在 [命令選擇區] 中,在您的網址清單中選取目標設定檔名稱。
如需詳細資料,請參閱適用於 Visual Studio Code 的 Databricks 延伸項目的驗證設定。
Terraform
對於預設驗證:
provider "databricks" {
alias = "workspace"
}
針對直接組態 (將 retrieve
預留位置取代為您自己的實作,以從主控台或某些其他設定存放區 (例如 HashiCorp Vault) 擷取值。另請參閱 Vault 提供者)。 在此情況下,主機是 Azure Databricks 個別工作區網址,例如 https://adb-1234567890123456.7.azuredatabricks.net
:
provider "databricks" {
alias = "workspace"
host = <retrieve-workspace-url>
token = <retrieve-token>
}
如需有關使用 Databricks Terraform 提供者進行驗證的詳細資訊,請參閱驗證。
Python
對於預設驗證:
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(),
token = retrieve_token()
)
# ...
如需有關透過使用 Python 並實作 Databricks 用戶端統一驗證的 Databricks 工具和 SDK 進行驗證的詳細資訊,請參閱:
- 設定適用於 Python 的 Databricks Connect 用戶端
- 適用於 Visual Studio Code 的 Databricks 延伸項目的驗證設定
- 使用 Azure Databricks 帳戶或工作區來驗證適用於 Python 的 Databricks SDK
Java
對於預設驗證:
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())
.setToken(retrieveToken());
WorkspaceClient w = new WorkspaceClient(cfg);
// ...
如需有關透過使用 Java 並實作 Databricks 用戶端統一驗證的 Databricks 工具和 SDK 進行驗證的詳細資訊,請參閱:
- 設定適用於 Scala 的 Databricks Connect 用戶端 (適用於 Scala 的 Databricks Connect 用戶端會使用內含的適用於 JAVA 的 Databricks SDK 進行驗證)
- 使用 Azure Databricks 帳戶或工作區來驗證適用於 JAVA 的 Databricks SDK
Go
對於預設驗證:
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(),
Token: retrieveToken(),
}))
// ...
如需使用 Go 和實作 Databricks 用戶端統一驗證的 Databricks 工具和 SDK 進行驗證的詳細資訊,請參閱使用 Azure Databricks 帳戶或工作區驗證適用於 Go 的 Databricks SDK。