共用方式為


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 成功尋找可使用的驗證認證時,工具或 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 服務主體驗證