Databricks 用戶端統一驗證
Databricks 用戶端統一驗證可集中設定和自動化對 Azure Databricks 的驗證。 可讓您只需設定 Databricks 驗證一次,然後即可在多個 Databricks 工具和 SDK 中使用該組態,而無需進一步變更驗證組態。
參與的工具和 SDK
參與的 Databricks 工具和 SDK 包括:
- Databricks CLI
- Databricks Terraform 供應商
- Databricks Connect
- 適用於 Visual Studio Code 的 Databricks 延伸項目
- 適用於 Python 的 Databricks SDK
- 適用於 Java 的 Databricks SDK
- Databricks SDK for Go
所有參與的工具和 SDK 都接受使用特殊環境變數和 Azure Databricks 組態設定檔進行驗證。 Databricks Terraform 提供者以及適用於 Python、Java 和 Go 的 Databricks SDK 也接受在程式碼內直接組態驗證設定。 如需詳細資訊,請參閱工具或 SDK 檔 開發人員工具。
用戶端統一驗證的預設方法
每當工具或 SDK 必須向 Azure Databricks 進行驗證時,它會預設按下列順序嘗試下列類型的驗證。 當工具或 SDK 嘗試的驗證類型成功時,它會停止嘗試使用其餘的驗證類型進行驗證。 若要強制 SDK 使用特定的驗證類型進行驗證,請設定 Config
API 的 Databricks 驗證類型欄位。
- Azure Databricks 個人存取權杖驗證
- 使用 OAuth (OAuth M2M) 透過服務主體對 Azure Databricks 的存取進行驗證
- 使用 OAuth (OAuth M2M) 透過使用者帳戶對 Azure Databricks 的存取進行驗證
- Azure 受控識別驗證
- MS Entra 服務主體驗證
- Azure CLI 驗證
對於參與工具或 SDK 嘗試的每種驗證類型,該工具或 SDK 將嘗試按下列順序在下列位置尋找驗證認證。 該工具或 SDK 成功找到可以使用的驗證認證時,將停止嘗試在其餘位置尋找驗證認證。
- 認證相關的
Config
API 欄位 (適用於 SDK)。 若要設定Config
欄位,請參閱 SDK 的參考文件。 - 認證相關的環境變數。
DEFAULT
檔案內.databrickscfg
組態檔案中的認證相關欄位。 若要設定組態設定檔欄位,請參閱 (/dev-tools/auth/config-profiles.md)。- 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 服務主體驗證。