Autenticazione unificata del client Databricks
L'autenticazione unificata del client Databricks centralizza la configurazione e l'automazione dell'autenticazione in Azure Databricks. Consente di configurare l'autenticazione di Databricks una sola volta e quindi di usarla tra più strumenti e SDK di Databricks senza ulteriori modifiche alla configurazione dell'autenticazione.
Strumenti e SDK partecipanti
I partecipanti agli strumenti e agli SDK di Databricks includono:
- L'interfaccia della riga di comando di Databricks
- Il Provider Databricks Terraform
- Databricks Connect
- L’estensione Databricks per Visual Studio Code
- Databricks SDK per Python
- Databricks SDK per Java
- Databricks SDK per Go
Tutti gli strumenti e gli SDK partecipanti accettano variabili di ambiente speciali e profili di configurazione di Azure Databricks per l'autenticazione. Il provider Databricks Terraform e gli SDK di Databricks per Python, Java e Go accettano anche la configurazione diretta delle impostazioni di autenticazione all'interno del codice. Per informazioni dettagliate, vedere Strumenti di sviluppo per la documentazione dello strumento o dell'SDK.
Metodi predefiniti per l'autenticazione unificata client
Ogni volta che uno strumento o un SDK deve eseguire l'autenticazione in Azure Databricks, prova i tipi di autenticazione seguenti nell'ordine seguente per impostazione predefinita. Quando lo strumento o l'SDK ha esito positivo con il tipo di autenticazione che prova, interrompe il tentativo di autenticazione con i tipi di autenticazione rimanenti. Per forzare l'autenticazione di un SDK con un tipo di autenticazione specifico, set campo del tipo di autenticazione databricks dell'API Config
.
- Autenticazione con token di accesso personale di Azure Databricks
- Autenticare l'accesso ad Azure Databricks con un'entità servizio usando OAuth (OAuth M2M)
- Autenticare l'accesso ad Azure Databricks con un account utente usando OAuth (OAuth U2M)
- Autenticazione delle identità gestite di Azure
- Autenticazione dell’entità servizio di MS Entra
- Autenticazione con interfaccia della riga di comando di Azure
Per ogni tipo di autenticazione provato dallo strumento o dall'SDK partecipante, lo strumento o l'SDK tenta di trovare l'autenticazione credentials nei percorsi seguenti, nell'ordine seguente. Quando lo strumento o l'SDK riesce a trovare l'autenticazione credentials che può essere usata, lo strumento o l'SDK smette di cercare l'autenticazione credentials nelle restanti posizioni.
- Campi API correlati alle credenziali
Config
(per SDK). Per i campi seteConfig
, consultare la documentazione di riferimento dell'SDK. - Variabili di ambiente per le credenziali.
- Campi correlati alle credenziali nel profilo di configurazione
DEFAULT
all'interno del file.databrickscfg
. Per vedere i campi del profilo di configurazione set, consultare (/dev-tools/auth/config-profiles.md). - Eventuali autenticazioni correlate credentials memorizzate nella cache dall'interfaccia a riga di comando di Azure. Vedere Autenticazione con interfaccia della riga di comando di Azure.
Per garantire la massima portabilità del codice, Databricks consiglia di creare un profilo di configurazione personalizzato all'interno del file di .databrickscfg
, aggiungere i campi richiesti a seguire per il tipo di autenticazione Databricks desiderato al profilo di configurazione personalizzato e quindi set la variabile di ambiente DATABRICKS_CONFIG_PROFILE
al nome del profilo di configurazione personalizzato.
Variabili di ambiente e campi per l'autenticazione unificata client
Di seguito tableslist i nomi e le descrizioni delle variabili di ambiente e dei campi supportati per l'autenticazione unificata del client Databricks. Nell'tablesseguente:
- Variabile di ambiente, where applicabile, è il nome della variabile di ambiente.
-
.databrickscfg
campo, where applicabile, è il nome del campo all'interno di un file di profili di configurazione di Azure Databricks o di configurazione Terraform di Databricks. Per set.databrickscfg
campi, vedere profili di configurazione di Azure Databricks. - campo Terraform, where applicabile, è il nome del campo all'interno di una configurazione di Databricks Terraform. Per set campi Databricks Terraform, vedere Authentication nella documentazione del provider Databricks Terraform.
-
Config
field è il nome del campo all'interno dell'API per l'SDKConfig
specificato.
Campi e variabili di ambiente host generale, token e ID account
Nome comune | Descrizione | Variabile di ambiente |
.databrickscfg campo, campo Terraform |
Campo diConfig |
---|---|---|---|---|
Host Azure Databricks | (Stringa) URL host di Azure Databricks per l'endpoint dell'area di lavoro di Azure Databricks o l'endpoint degli account Azure Databricks. | DATABRICKS_HOST |
host |
host (Python),setHost (Java),Host (Go) |
Token Azure Databricks | (Stringa) Token di accesso personale di Azure Databricks o token ID Microsoft Entra. | DATABRICKS_TOKEN |
token |
token (Python),setToken (Java),Token (Go) |
Azure Databricks account ID | (String) ID dell'account Azure Databricks per l'endpoint dell'account Azure Databricks. Ha effetto solo quando anche l'host di Azure Databricks è sethttps://accounts.azuredatabricks.net . |
DATABRICKS_ACCOUNT_ID |
account_id |
account_id (Python),setAccountID (Java),AccountID (Go) |
Campi e variabili di ambiente specifici di Azure
Nome comune | Descrizione | Variabile di ambiente |
.databrickscfg campo, campo Terraform |
Campo diConfig |
---|---|---|---|---|
ID client di Azure | (Stringa) Entità servizio o applicazione ID in Microsoft Entra ID. Usare con l'autenticazione delle identità gestite di Azure e l'autenticazione dell'entità servizio Microsoft Entra ID. | ARM_CLIENT_ID |
azure_client_id |
azure_client_id (Python),setAzureClientID (Java),AzureClientID (Go) |
Segreto client di Azure | (Stringa) Segreto client dell'entità servizio Microsoft Entra ID. Usare con un’autenticazione entità servizio di Microsoft Entra ID. | ARM_CLIENT_SECRET |
azure_client_secret |
azure_client_secret (Python),setAzureClientSecret (Java),AzureClientSecret (Go) |
ID client | (Stringa) L’ID cliente delle entità servizio gestite di Azure Databricks o entità servizio gestite di Microsoft Entra ID. Usare con l'autenticazione M2M OAuth. | DATABRICKS_CLIENT_ID |
client_id |
client_id (Python),setClientId (Java),ClientId (Go) |
Segreto client | (Stringa) Il segreto cliente delle entità servizio gestite di Azure Databricks o entità servizio gestite di Microsoft Entra ID. Usare con l'autenticazione M2M OAuth. | DATABRICKS_CLIENT_SECRET |
client_secret |
client_secret (Python),setClientSecret (Java),ClientSecret (Go) |
Ambiente di Azure | (Stringa) Tipo di ambiente Azure. Il valore predefinito è PUBLIC . |
ARM_ENVIRONMENT |
azure_environment |
azure_environment (Python),setAzureEnvironment (Java),AzureEnvironment (Go) |
ID tenant di Azure | (Stringa) Entità servizio o tenant ID in Microsoft Entra ID. | ARM_TENANT_ID |
azure_tenant_id |
azure_tenant_id (Python),setAzureTenantID (Java),AzureTenantID (Go) |
Usare l’identità del servizio gestita di Azure | (Boolean) True per usare il flusso di autenticazione senza password dell'identità del servizio gestito di Azure per le entità servizio. È richiesto che anche l'ID risorsa di Azure sia set. | ARM_USE_MSI |
azure_use_msi |
AzureUseMSI (Go) |
ID risorsa di Azure | (Stringa) ID di Azure Resource Manager per l'area di lavoro di Azure Databricks. | DATABRICKS_AZURE_RESOURCE_ID |
azure_workspace_resource_id |
azure_workspace_resource_id (Python),setAzureResourceID (Java),AzureResourceID (Go) |
campi e variabili di ambiente specifici di .databrickscfg
Usare queste variabili di ambiente o i campi per specificare le impostazioni non predefinite per .databrickscfg
. Consultare anche Profili di configurazione di Azure Databricks.
Nome comune | Descrizione | Variabile di ambiente | Campo Terraform | Campo diConfig |
---|---|---|---|---|
Percorso file .databrickscfg |
(String) Percorso non predefinito del File .databrickscfg . |
DATABRICKS_CONFIG_FILE |
config_file |
config_file (Python),setConfigFile (Java),ConfigFile (Go) |
Profilo predefinito .databrickscfg |
(Stringa) Il profilo denominato predefinito da usare, diverso da DEFAULT . |
DATABRICKS_CONFIG_PROFILE |
profile |
profile (Python),setProfile (Java),Profile (Go) |
Campo Tipo di autenticazione
Usare questa variabile o campo di ambiente per forzare un SDK a usare un tipo specifico di autenticazione di Databricks.
Nome comune | Descrizione | Campo Terraform | Campo diConfig |
---|---|---|---|
Tipo di autenticazione di Databricks | (Stringa) Quando nell'ambiente sono disponibili più attributi di autenticazione, usare il tipo di autenticazione specificato da questo argomento. | auth_type |
auth_type (Python),setAuthType (Java),AuthType (Go) |
I tipi di autenticazione supportati nel campo di Databricks values includono:
oauth-m2m
: Set questo valore se si usa un principal di servizio Databricks per l'autenticazione M2M con OAuth 2.0. Per altre informazioni, vedere Autenticare l'accesso ad Azure Databricks con un'entità servizio usando OAuth (OAuth M2M).pat
: Set questo valore se si utilizzano token di accesso personali di Databricks. Per ulteriori dettagli, consultare Autenticazione del token di accesso personale di Azure Databricks.databricks-cli
: Set, questo valore se si usa la CLI di Databricks con OAuth 2.0. Per altre informazioni, vedere Autenticare l'accesso ad Azure Databricks con un account utente usando OAuth (OAuth U2M).azure-msi
: Set questo valore se si usa un'identità gestita del servizio di Azure. Per altri dettagli, vedere Autenticazione delle identità gestite di Azure.azure-client-secret
: Set questo valore se si usa un principale del servizio di Azure con segreti del client. Per altri dettagli, vedere Autenticazione dell'entità servizio MS Entra.