共用方式為


Databricks CLI 的驗證

備註

此資訊適用於 Databricks CLI 版本 0.205 及以上。 Databricks CLI 處於 公開預覽狀態

Databricks CLI 的使用須遵循 Databricks 許可證Databricks 隱私通知,包括任何使用資料條款。

本文說明如何在 Azure Databricks CLI 與 Azure Databricks 帳戶和工作區之間設定驗證。 它假設您已安裝 Azure Databricks CLI。 請參閱 以安裝或更新 Databricks CLI

執行 Azure Databricks CLI 命令之前,您必須針對您計劃使用的帳戶或工作區設定 驗證 。 所需的設定取決於您要執行 工作區層級 命令、 帳戶層級 命令或兩者。

若要檢視可用的 CLI 命令群組,請執行 databricks -h。 如需對應 REST API 作業的清單,請參閱 Databricks REST API

如需專門使用 Azure DevOps 向 Databricks 進行 Microsoft Entra 驗證的相關資訊,請參閱在 Azure Databricks 上使用 Azure DevOps 進行驗證

OAuth 機器對機器 (M2M) 身份驗證

使用 OAuth 的機器對機器 (M2M) 驗證可讓服務、腳本或應用程式存取 Databricks 資源,而不需要互動式使用者登入。 M2M 驗證不依賴個人存取權杖 (PAT) 或使用者認證,而是使用服務主體和 OAuth 用戶端認證流程來要求和管理權杖。

若要設定和使用 OAuth M2M 驗證:

  1. 完成 OAuth M2M 驗證設定步驟。 請參閱 使用 OAuth 授權服務主體存取 Azure Databricks

  2. 在檔案中使用下列欄位建立 Azure Databricks .databrickscfg

    對於帳戶層級命令

    [<some-unique-configuration-profile-name>]
    host          = <account-console-url>
    account_id    = <account-id>
    client_id     = <service-principal-client-id>
    client_secret = <service-principal-oauth-secret>
    

    對於工作區層級命令

    [<some-unique-configuration-profile-name>]
    host          = <workspace-url>
    client_id     = <service-principal-client-id>
    client_secret = <service-principal-oauth-secret>
    

要使用配置檔案,請在CLI命令中使用或--profile標誌傳遞-p它。 例如:

databricks account groups list -p <profile-name>

在 或 之後--profile-p Tab 鍵,以顯示可用設定檔的清單。

OAuth 使用者對電腦 (U2M) 驗證

使用 OAuth 使用者對機器 (U2M) 驗證,您可以以互動方式登入,CLI 會代表您管理短期權杖。 OAuth 代幣會在一小時內過期,這降低了代幣意外暴露的風險。 請參閱 使用 OAuth 授權使用者存取 Azure Databricks

若要登入:

對於帳戶層級命令

databricks auth login --host <account-console-url> --account-id <account-id>

對於工作區層級命令

databricks auth login --host <workspace-url>

CLI 會引導您完成瀏覽器型登入流程。 完成後,CLI 會將認證儲存為 組態配置檔。 您可以接受建議的設定檔名稱或輸入您自己的設定檔名稱。

要使用配置檔案,請在CLI命令中使用或--profile標誌傳遞-p它。 例如:

databricks clusters list -p <profile-name>

在 或 之後--profile-p Tab 鍵,以顯示可用設定檔的清單。

Azure 受控識別驗證

Azure 受控身分驗證使用 Azure 資源的受控身分(前稱為 Managed Service Identities (MSI))進行驗證。 請參閱 Azure 資源的受管身分是什麼?。 另請參閱 使用 Azure 受控識別進行驗證

若要建立 Azure 使用者指派的受控識別,請執行下列動作:

  1. 建立或識別 Azure VM,並在其上安裝 Databricks CLI,然後將受控識別指派給 Azure VM 和目標 Azure Databricks 帳戶、工作區或兩者。 請參閱 將 Azure 受控識別與 Azure Databricks 搭配使用

  2. 在 Azure VM 上,使用檔案中的下列欄位建立或識別 Azure Databricks .databrickscfg。 如果您建立設定檔,請將占位符替換成適當的值。

    對於帳戶層級命令,在您的.databrickscfg文件中設置以下值:

    [<some-unique-configuration-profile-name>]
    host            = <account-console-url>
    account_id      = <account-id>
    azure_client_id = <azure-managed-identity-application-id>
    azure_use_msi   = true
    

    要針對工作區層級指令,在您的.databrickscfg文件中設定以下數值:

    [<some-unique-configuration-profile-name>]
    host            = <workspace-url>
    azure_client_id = <azure-managed-identity-application-id>
    azure_use_msi   = true
    

    Databricks 建議使用 host 並明確指派該工作區的身份。 或者,也可以使用 Azure 資源 ID azure_workspace_resource_id。 此方法需要對 Azure 資源擁有貢獻者或擁有者權限,或是擁有特定 Azure Databricks 權限的自訂角色。

  3. 在 Azure VM 上,使用 Databricks CLI 的 --profile-p 選項,後面接著組態設定檔的名稱來設定 Databricks 要使用的設定檔,例如 databricks account groups list -p <configuration-profile-name>databricks clusters list -p <configuration-profile-name>

    小提示

    您可以在 Tab--profile 之後按 -p,以顯示現有可用組態配置檔的清單,以便從中選擇,而不是手動輸入組態配置檔名稱。

Microsoft Entra ID 服務主體驗證

Microsoft Entra ID 服務主體 認證使用 Microsoft Entra ID 服務主體的憑證進行身份驗證。 若要建立及管理服務 Azure Databricks 的服務主體,請參閱 服務主體。 另見 Microsoft Entra 服務主體認證。

若要設定和使用 Microsoft Entra ID 服務主體驗證,您必須在本機安裝 Azure CLI 以進行驗證。 您也必須執行下列動作:

  1. 創建或識別 Azure Databricks 設定檔案,在您的.databrickscfg檔案中包含以下欄位。 如果您建立設定檔,請將占位符替換成適當的值。

    對於帳戶層級命令,在您的.databrickscfg文件中設置以下值:

    [<some-unique-configuration-profile-name>]
    host                = <account-console-url>
    account_id          = <account-id>
    azure_tenant_id     = <azure-service-principal-tenant-id>
    azure_client_id     = <azure-service-principal-application-id>
    azure_client_secret = <azure-service-principal-client-secret>
    

    要針對工作區層級指令,在您的.databrickscfg文件中設定以下數值:

    [<some-unique-configuration-profile-name>]
    host                = <workspace-url>
    azure_tenant_id     = <azure-service-principal-tenant-id>
    azure_client_id     = <azure-service-principal-application-id>
    azure_client_secret = <azure-service-principal-client-secret>
    

    Databricks 建議使用 host 並明確指派 Microsoft Entra ID 服務主體給工作空間。 或者,也可以使用 Azure 資源 ID azure_workspace_resource_id。 此方法需要對 Azure 資源擁有貢獻者或擁有者權限,或是擁有特定 Azure Databricks 權限的自訂角色。

  2. 使用 Databricks CLI 的 --profile-p 選項,後面接著組態設定檔的名稱,作為 Databricks CLI 命令呼叫的一部分,例如 databricks account groups list -p <configuration-profile-name>databricks clusters list -p <configuration-profile-name>

    小提示

    您可以在 Tab--profile 之後按 -p,以顯示現有可用組態配置檔的清單,以便從中選擇,而不是手動輸入組態配置檔名稱。

Azure CLI 認證

Azure CLI 驗證使用 Azure CLI 來驗證已登入的實體。 另請參閱 使用 Azure CLI 進行驗證

若要設定 Azure CLI 驗證,您必須執行下列動作:

  1. 請在本地安裝Azure CLI

  2. 使用 Azure CLI 執行 az login 命令以登入 Azure Databricks。 請參閱使用 Azure CLI 登入。

  3. 創建或識別 Azure Databricks 設定檔案,在您的.databrickscfg檔案中包含以下欄位。 如果您建立設定檔,請將占位符替換成適當的值。

    對於帳戶層級命令,在您的.databrickscfg文件中設置以下值:

    [<some-unique-configuration-profile-name>]
    host       = <account-console-url>
    account_id = <account-id>
    

    要針對工作區層級指令,在您的.databrickscfg文件中設定以下數值:

    [<some-unique-configuration-profile-name>]
    host = <workspace-url>
    
  4. 使用 Databricks CLI 的 --profile-p 選項,後面接著組態設定檔的名稱,作為 Databricks CLI 命令呼叫的一部分,例如 databricks account groups list -p <configuration-profile-name>databricks clusters list -p <configuration-profile-name>

    小提示

    您可以在 Tab--profile 之後按 -p,以顯示現有可用組態配置檔的清單,以便從中選擇,而不是手動輸入組態配置檔名稱。

身份驗證評估順序

每當 Databricks CLI 向 Azure Databricks 工作區或帳戶進行驗證時,它都會依下列順序尋找必要的設定:

  1. 服務包設定檔案,適用於從服務包工作目錄執行的命令。 套件組合設定檔案不能直接包含認證值。
  2. 環境變數,如本文和 統一驗證的環境變數和欄位中所列。
  3. 檔案中的.databrickscfg

一旦CLI找到所需的設定,它就會停止搜尋其他位置。

範例:

  • 如果設定了環境變數,則 DATABRICKS_TOKEN CLI 會使用它,即使 中存在 .databrickscfg多個記號。
  • 如果設定了no DATABRICKS_TOKEN ,並且捆綁包環境參照配置檔案名稱(例如 dev →配置檔案 DEV),則CLI會使用該配置檔案 .databrickscfg中的認證。
  • 如果未設定 no DATABRICKS_TOKEN ,且套件組合環境指定值 host ,則 CLI 會搜尋具有 .databrickscfg 相符項的 host 設定檔,並使用其 token

個人存取權杖驗證 (已淘汰)

這很重要

使用 Azure Databricks 使用者名稱和密碼的基本驗證已於 2024 年 7 月 10 日終止生命週期。 若要使用 Azure Databricks 帳戶進行驗證,請改用下列其中一種驗證方法:

Azure Databricks 個人存取權杖驗證會使用 Azure Databricks 個人存取權杖來驗證目標 Azure Databricks 實體,例如 Azure Databricks 使用者帳戶。 請參閱 使用 Azure Databricks 個人存取權杖 (舊版) 進行驗證

若要建立個人存取權杖,請遵循為 工作區使用者建立個人存取權杖中的步驟。