共用方式為


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 以特定驗證類型進行驗證,setConfig 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 會依下列順序嘗試尋找下列位置中的驗證 credentials。 當工具或 SDK 成功尋找可使用的驗證 credentials 時,工具或 SDK 會停止嘗試在其餘位置尋找驗證 credentials。

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

為了為您的程式代碼提供最大的可移植性,Databricks 建議您在 .databrickscfg 檔案內建立自定義 組態配置檔,將下列必要欄位新增至自定義組態配置檔的目標 Databricks 驗證類型,然後將 DATABRICKS_CONFIG_PROFILE 環境變數 set 自定義組態配置檔的名稱。

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

下列 tableslist Databricks 用戶端統一驗證所支援環境變數和欄位的名稱和描述。 請參閱以下 tables:

  • 環境變數,where 適用,是環境變數的名稱。
  • .databrickscfg 欄位,where 適用,是 Azure Databricks 組態檔或 Databricks Terraform 組態中的欄位名稱。 若要查看 set.databrickscfg 欄位,請參閱 Azure Databricks 組態配置檔
  • Terraform 欄位,where 適用,是在 Databricks Terraform 配置中的欄位名稱。 若要查看 set 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 主機符合 set 條件時才會生效
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 資源識別碼也必須 set。 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 驗證類型欄位 values 包括:

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

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

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

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

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