Azure Databricks 個人存取權杖 (PAT) 可讓您在工作區層級向資源和 API 進行驗證。 您可以將它們儲存在環境變數或 Azure Databricks 組態配置檔中。 每個 PAT 僅對一個工作區有效,而且使用者最多可以為每個工作區建立 600 個 PAT。 Azure Databricks 會自動撤銷 90 天內未使用的 PAT。
這很重要
使用者名稱和密碼驗證(不含憑證)已在 2024 年 7 月 10 日終止支援。 Databricks 強烈建議使用 OAuth 而不是 PAT 進行使用者帳戶驗證,因為 OAuth 提供更強的安全性。 若要瞭解如何使用 OAuth 向 Databricks 使用者帳戶進行驗證,請參閱 使用 OAuth 授權使用者存取 Azure Databricks。
您無法使用個人存取權杖來自動化 Azure Databricks 帳戶層級 功能。 請改用 Azure Databricks 帳戶系統管理員的 Microsoft Entra ID Token。 Azure Databricks 帳戶管理員可以是用戶或服務主體。 如需詳細資訊,請參閱:
為工作區使用者建立個人存取權杖
若要為 Azure Databricks 工作區使用者建立個人存取權杖,請執行下列動作:
在您的 Azure Databricks 工作區中,按一下頂端列中的使用者名稱,然後選取 [設定]。
按一下 開發人員。
在 [存取權杖] 旁,按一下 [管理]。
點選 產生新的權杖。
輸入可協助您在未來識別此令牌的批注。
以天為單位設定令牌的存留期。 請參閱 設定新個人存取權杖的最大壽命。
點選 「」 生成 「」。
將顯示的權杖複製到安全位置,然後按一下「完成」。 安全地保存令牌,不要共享它。 如果您遺失了它,則必須建立一個新的令牌。
如果您無法建立或使用權杖,您的工作區系統管理員可能已停用權杖或未授與您權限。 請參閱您的工作區管理員或以下內容:
建立服務主體的個人存取權杖
服務主體可以為自己建立個人存取權杖。
執行下列命令以產生存取權杖:
databricks tokens create --lifetime-seconds <lifetime-seconds> -p <profile-name>取代下列值:
-
<lifetime-seconds>:代幣存留期(以秒為單位),例如 86400 為 1 天。 預設為工作區上限 (通常為 730 天)。 -
<profile-name>:具有身份驗證資訊的配置設定檔。 預設為DEFAULT。
-
請從回應中複製
token_value,這是您的服務主體的存取權杖。 安全地保存令牌,不要共享它。 如果您遺失了它,則必須建立一個新的令牌。
如果您無法建立或使用權杖,您的工作區系統管理員可能已停用權杖或未授與您權限。 請參閱您的工作區管理員或以下內容:
執行個人存取權杖驗證
若要設定 Azure Databricks 個人存取權杖驗證,請設定下列相關聯的環境變數、 .databrickscfg 欄位、Terraform 欄位或 Config 欄位:
- Azure Databricks 主機,指定為目標 Azure Databricks 個別工作區 URL,例如
https://adb-1234567890123456.7.azuredatabricks.net。 - Azure Databricks 用戶帳戶的 Azure Databricks 個人存取令牌。
若要執行 Azure Databricks 個人存取令牌驗證,請根據您的參與工具或 SDK,在您的程式代碼中整合下列專案:
環境
若要搭配工具或 SDK 使用特定 Azure Databricks 驗證類型的環境變數,請參閱 授權存取 Azure Databricks 資源 或工具或 SDK 的檔。 另請參閱 統一鑑別的環境變數和欄位, 以及 鑑別方法優先順序。
設定下列環境變數:
-
DATABRICKS_HOST,將其設定為 Azure Databricks 每工作區 URL,例如https://adb-1234567890123456.7.azuredatabricks.net。 - 將
DATABRICKS_TOKEN設定為令牌字串。
個人檔案
在您的 檔案中,建立或識別含有下列欄位的 Azure Databricks .databrickscfg。 如果您建立設定檔,請將占位符替換成適當的值。 若要搭配工具或 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 來設定這些值,而不是手動設定值:
備註
下列程序使用 Databricks CLI 來創建一個名為 的 Azure Databricks 設定檔案。 如果已具有 DEFAULT 組態設定檔,此程序將覆寫現有的 DEFAULT 組態設定檔。
若要檢查您是否已經有組 DEFAULT 態設定檔,以及若要檢視此設定檔的設定是否存在,請使用 Databricks CLI 來執行命令 databricks auth env --profile DEFAULT。
若要使用除 DEFAULT 以外的名稱建立組態設定檔,請將下列 DEFAULT 命令中 --profile DEFAULT 的 databricks configure 部分取代為其他組態設定檔名稱。
使用 Databricks CLI 建立名為 的 Azure Databricks
DEFAULT,該配置檔會使用 Azure Databricks 個人存取令牌驗證。 若要這樣做,請執行下列命令:databricks configure --profile DEFAULT如需提示 Databricks Host,請輸入您的 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 個人存取令牌。
如需詳細資訊,請參閱 個人存取權杖驗證 (已淘汰)。
連線
備註
下列 Databricks Connect 版本支援 Azure Databricks 個人存取令牌驗證:
- 使用 Python 時,適用於 Databricks Runtime 13.3 LTS 及更高版本的 Databricks Connect。
- 針對 Scala,適用於 Databricks Runtime 13.3 LTS 和更新版本的 Databricks Connect。
針對 Databricks Connect,請使用 Databricks CLI 來設定檔案中的.databrickscfg值,以執行 Azure Databricks 設定檔區段中指定的工作區層級的操作。
下列程式會建立名為 DEFAULT的 Azure Databricks 組態配置檔,以覆寫任何現有 DEFAULT 的配置檔。 若要檢查是否存在 DEFAULT 設定檔,請執行 databricks auth env --profile DEFAULT。 如果存在,請使用不同的設定檔名稱。
執行下列命令,以建立名為
DEFAULT使用個人存取權杖驗證的 Azure Databricks 組態配置檔。databricks configure --configure-cluster --profile DEFAULT如需提示 Databricks Host,請輸入您的 Azure Databricks 個別工作區 URL,例如
https://adb-1234567890123456.7.azuredatabricks.net。針對提示的 個人存取權杖,請輸入您的工作區個人存取權杖。
在可用叢集清單中,選取工作區中的目標 Azure Databricks 叢集。 您可以輸入叢集顯示名稱的任何部分,以篩選可用叢集的清單。
使用 Azure Databricks REST API 來發出個人存取令牌
Azure Databricks 提供 REST 端點 /api/2.0/token/create 來發出 PAT。 如需 API 詳細 數據,請參閱建立使用者令牌 。
在下列範例中,設定這些值:
-
<databricks-instance>:您的 Databricks 工作區網址。 例如:dbc-abcd1234-5678.cloud.databricks.com。 -
<your-existing-access-token>:現有的有效 PAT (字串),具有建立新權杖的許可權。 -
<lifetime-seconds>:令牌的存留期以秒為單位。
curl -X POST https://<databricks-instance>/api/2.0/token/create \
-H "Authorization: Bearer <your-existing-access-token>" \
-H "Content-Type: application/json" \
-d '{
"lifetime_seconds": <lifetime-seconds>
}'
如果成功,這將產生類似於以下的回應數據:
{
"access_token": "<your-newly-issued-pat>",
"token_type": "Bearer",
"expires_in": <the-duration-of-the-new-pat>
}
在後續對 Databricks REST APIs 的請求中,將回應中的新令牌提供於授權標頭。 例如:
# This example uses a simple GET. For POST or other REST verbs, you may need to provide additional parameters.
curl -X GET "https://<databricks-instance>/api/2.0/<path-to-endpoint>" \
-H "Authorization: Bearer <your-new-pat>"
import requests
headers = {
'Authorization': 'Bearer <your-new-pat>'
}
# This example is for an HTTP GET operation.
response = requests.get('https://<databricks-instance>/api/2.0/<path-to-endpoint>', headers=headers)