共用方式為


使用 Azure Databricks 個人存取權杖進行驗證 (舊版)

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 工作區使用者建立個人存取權杖,請執行下列動作:

  1. 在您的 Azure Databricks 工作區中,按一下頂端列中的使用者名稱,然後選取 [設定]。

  2. 按一下 開發人員

  3. 在 [存取權杖] 旁,按一下 [管理]

  4. 點選 產生新的權杖

  5. 輸入可協助您在未來識別此令牌的批注。

  6. 以天為單位設定令牌的存留期。 請參閱 設定新個人存取權杖的最大壽命

  7. 點選 「」 生成 「」。

  8. 將顯示的權杖複製到安全位置,然後按一下「完成」。 安全地保存令牌,不要共享它。 如果您遺失了它,則必須建立一個新的令牌。

如果您無法建立或使用權杖,您的工作區系統管理員可能已停用權杖或未授與您權限。 請參閱您的工作區管理員或以下內容:

建立服務主體的個人存取權杖

服務主體可以為自己建立個人存取權杖。

  1. 執行下列命令以產生存取權杖:

    databricks tokens create --lifetime-seconds <lifetime-seconds> -p <profile-name>
    

    取代下列值:

    • <lifetime-seconds>:代幣存留期(以秒為單位),例如 86400 為 1 天。 預設為工作區上限 (通常為 730 天)。
    • <profile-name>:具有身份驗證資訊的配置設定檔。 預設為 DEFAULT
  2. 請從回應中複製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 DEFAULTdatabricks configure 部分取代為其他組態設定檔名稱。

  1. 使用 Databricks CLI 建立名為 的 Azure Databricks DEFAULT,該配置檔會使用 Azure Databricks 個人存取令牌驗證。 若要這樣做,請執行下列命令:

    databricks configure --profile DEFAULT
    
  2. 如需提示 Databricks Host,請輸入您的 Azure Databricks 個別工作區 URL,例如 https://adb-1234567890123456.7.azuredatabricks.net

  3. 在提示中輸入您工作區的 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。 如果存在,請使用不同的設定檔名稱。

  1. 執行下列命令,以建立名為 DEFAULT 使用個人存取權杖驗證的 Azure Databricks 組態配置檔。

    databricks configure --configure-cluster --profile DEFAULT
    
  2. 如需提示 Databricks Host,請輸入您的 Azure Databricks 個別工作區 URL,例如 https://adb-1234567890123456.7.azuredatabricks.net

  3. 針對提示的 個人存取權杖,請輸入您的工作區個人存取權杖。

  4. 在可用叢集清單中,選取工作區中的目標 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)