共用方式為


Databricks 用戶端統一驗證

Databricks 用戶端統一驗證可集中設定和自動化對 Azure Databricks 的驗證。 可讓您只需設定 Databricks 驗證一次,然後即可在多個 Databricks 工具和 SDK 中使用該組態,而無需進一步變更驗證組態。

參與的工具和 SDK

參與的 Databricks 工具和 SDK 包括:

所有參與的工具和 SDK 都接受使用特殊環境變數和 Azure Databricks 組態設定檔進行驗證。 Databricks Terraform 提供者以及適用於 Python、Java 和 Go 的 Databricks SDK 也接受在程式碼內直接組態驗證設定。 如需詳細資訊,請參閱工具或 SDK 檔 開發人員工具

用戶端統一驗證的預設方法

每當工具或 SDK 必須向 Azure Databricks 進行驗證時,它會預設按下列順序嘗試下列類型的驗證。 當工具或 SDK 嘗試的驗證類型成功時,它會停止嘗試使用其餘的驗證類型進行驗證。 若要強制 SDK 使用特定的驗證類型進行驗證,請設定 Config API 的 Databricks 驗證類型欄位。

  1. Azure Databricks 個人存取權杖驗證
  2. 使用 OAuth (OAuth M2M) 透過服務主體對 Azure Databricks 的存取進行驗證
  3. 使用 OAuth (OAuth M2M) 透過使用者帳戶對 Azure Databricks 的存取進行驗證
  4. Azure 受控識別驗證
  5. MS Entra 服務主體驗證
  6. Azure CLI 驗證

對於參與工具或 SDK 嘗試的每種驗證類型,該工具或 SDK 將嘗試按下列順序在下列位置尋找驗證認證。 該工具或 SDK 成功找到可以使用的驗證認證時,將停止嘗試在其餘位置尋找驗證認證。

  1. 認證相關的 Config API 欄位 (適用於 SDK)。 若要設定 Config 欄位,請參閱 SDK 的參考文件。
  2. 認證相關的環境變數。
  3. DEFAULT 檔案內 .databrickscfg 組態檔案中的認證相關欄位。 若要設定組態設定檔欄位,請參閱 (/dev-tools/auth/config-profiles.md)。
  4. Azure CLI 快取的任何相關驗證認證。 請參閱 Azure CLI 驗證

為了實現程式碼的最大可攜性,Databricks 建議在 .databrickscfg 檔案內建立自訂組態設定檔,將目標 Databricks 驗證類型的以下必填欄位新增至自訂組態設定檔,然後將 DATABRICKS_CONFIG_PROFILE 環境變數設定為自訂組態設定檔的名稱。

用戶端統一驗證的環境變數和欄位

下列資料表列出了 Databricks 用戶端統一驗證支援的環境變數和欄位的名稱和描述。 在下列資料表中:

  • 環境變數是環境變數的名稱 (如果適用)。
  • .databrickscfg 欄位是 Azure Databricks 組態設定檔檔案或 Databricks Terraform 組態內的欄位名稱 (如果適用)。 若要設定 .databrickscfg 欄位,請參閱 Azure Databricks 組態設定檔
  • Terraform 欄位是 Databricks Terraform 組態內的欄位名稱 (如果適用)。 若要設定 Databricks Terraform 欄位,請參閱 Databricks Terraform 提供者文件中的驗證
  • Config 欄位是所指定 SDK 的 Config API 內的欄位名稱。

一般主機、權杖及帳戶識別碼環境變數和欄位

一般名稱 描述 環境變數 .databrickscfg 欄位、Terraform 欄位 Config 欄位
Azure Databricks 主機 (字串) Azure Databricks 工作區端點或 Azure Databricks 帳戶端點的 Azure Databricks 主機 URL。 DATABRICKS_HOST host host (Python)、
setHost (Java)、
Host (Go)
Azure Databricks 權杖 (字串) Azure Databricks 個人存取權杖或 Microsoft Entra ID 權杖。 DATABRICKS_TOKEN token token (Python)、
setToken (Java)、
Token (Go)
Azure Databricks 帳戶識別碼 (字串) Azure Databricks 帳戶端點的 Azure Databricks 帳戶識別碼。 僅當 Azure Databricks 主機也設定為以下值時才有效:
https://accounts.azuredatabricks.net.
DATABRICKS_ACCOUNT_ID account_id account_id (Python)、
setAccountID (Java)、
AccountID (Go)

Azure 特定的環境變數和欄位

一般名稱 描述 環境變數 .databrickscfg 欄位、Terraform 欄位 Config 欄位
Azure 用戶端識別碼 (字串) Microsoft Entra ID 服務主體的應用程式識別碼。 與 Azure 受控識別驗證和 Microsoft Entra ID 服務主體驗證搭配使用。 ARM_CLIENT_ID azure_client_id azure_client_id (Python)、
setAzureClientID (Java)、
AzureClientID (Go)
Azure 用戶端密碼 (字串) Microsoft Entra ID 服務主體的用戶端密碼。 與 Microsoft Entra ID 服務主體驗證搭配使用。 ARM_CLIENT_SECRET azure_client_secret azure_client_secret (Python)、
setAzureClientSecret (Java)、
AzureClientSecret (Go)
Client ID (字串) Azure Databricks 受控服務主體或 Microsoft Entra ID 受控服務主體的用戶端識別碼。 與 OAuth M2M 驗證搭配使用。 DATABRICKS_CLIENT_ID client_id client_id (Python)、
setClientId (Java)、
ClientId (Go)
用戶端密碼 (字串) Azure Databricks 受控服務主體或 Microsoft Entra ID 受控服務主體的用戶端密碼。 與 OAuth M2M 驗證搭配使用。 DATABRICKS_CLIENT_SECRET client_secret client_secret (Python)、
setClientSecret (Java)、
ClientSecret (Go)
Azure 環境 (字串) Azure 環境類型。 預設為 PUBLIC ARM_ENVIRONMENT azure_environment azure_environment (Python)、
setAzureEnvironment (Java)、
AzureEnvironment (Go)
Azure 租用戶 ID (字串) Microsoft Entra ID 服務主體的租用戶識別碼。 ARM_TENANT_ID azure_tenant_id azure_tenant_id (Python)、
setAzureTenantID (Java)、
AzureTenantID (Go)
Azure 使用 MSI (布林值) True 表示對服務主體使用 Azure 受控服務識別無密碼驗證流程。 還需要設定 Azure 資源識別碼。 ARM_USE_MSI azure_use_msi AzureUseMSI (Go)
Azure 資源識別碼 (字串) Azure Databricks 工作區的 Azure Resource Manager 識別碼。 DATABRICKS_AZURE_RESOURCE_ID azure_workspace_resource_id azure_workspace_resource_id (Python)、
setAzureResourceID (Java)、
AzureResourceID (Go)

.databrickscfg 特定環境變數和欄位

使用這些環境變數或欄位為 .databrickscfg 指定非預設設定。 另請參閱 Azure Databricks 組態設定檔

一般名稱 描述 環境變數 Terraform 欄位 Config 欄位
.databrickscfg 檔案路徑 (字串) 非預設路徑
.databrickscfg 檔案。
DATABRICKS_CONFIG_FILE config_file config_file (Python)、
setConfigFile (Java)、
ConfigFile (Go)
.databrickscfg 預設設定檔 (字串) 要使用的預設具名設定檔,而非 DEFAULT DATABRICKS_CONFIG_PROFILE profile profile (Python)、
setProfile (Java)、
Profile (Go)

驗證類型欄位

使用此環境變數或欄位來強制 SDK 使用特定類型的 Databricks 驗證。

一般名稱 描述 Terraform 欄位 Config 欄位
Databricks 驗證類型 (字串) 當環境中有多個驗證屬性可用時,將使用此引數指定的驗證類型。 auth_type auth_type (Python)、
setAuthType (Java)、
AuthType (Go)

支援的 Databricks 驗證類型欄位值包括:

  • oauth-m2m:如果您使用 Databricks 服務主體進行使用 OAuth 2.0 進行 M2M 驗證,請設定此值。 如需詳細資訊,請參閱 使用 OAuth(OAuth M2M) 向服務主體驗證 Azure Databricks 的存取權。

  • pat:如果您使用 Databricks 個人存取令牌,請設定此值。 如需詳細資料,請參閱 Azure Databricks 個人存取權杖驗證

  • databricks-cli:如果您使用 Databricks CLI 搭配 OAuth 2.0,請設定此值。 如需詳細資訊,請參閱 使用 OAuth(OAuth U2M) 以使用者帳戶驗證 Azure Databricks 的存取權。

  • azure-msi:如果您使用 Azure 受控服務識別(MSI),請設定此值。 如需詳細資訊,請參閱 Azure 受控識別驗證

  • azure-client-secret:如果您使用 Azure 服務主體搭配用戶端密碼,請設定此值。 如需詳細資訊,請參閱 MS Entra 服務主體驗證