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, impostare il campo 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 che tenta lo strumento o l'SDK partecipante, lo strumento o l'SDK tenta di trovare le credenziali di autenticazione nei percorsi seguenti, nell'ordine seguente. Quando lo strumento o l'SDK riesce a trovare le credenziali di autenticazione che è possibile usare, lo strumento o l'SDK smette di cercare le credenziali di autenticazione nelle posizioni rimanenti.
- Campi API correlati alle credenziali
Config
(per SDK). Per impostare i campiConfig
, 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 impostare i campi del profilo di configurazione, consultare (/dev-tools/auth/config-profiles.md). - Tutte le credenziali di autenticazione correlate memorizzate nella cache dall'interfaccia della riga di comando di Azure. Vedere Autenticazione con interfaccia della riga di comando di Azure.
Per garantire la massima portabilità per il codice, Databricks consiglia di creare un profilo di configurazione personalizzato all'interno del file .databrickscfg
, aggiungere i campi seguenti per il tipo di autenticazione di Databricks di destinazione al profilo di configurazione personalizzato e quindi impostare la variabile di ambiente DATABRICKS_CONFIG_PROFILE
sul nome del profilo di configurazione personalizzato.
Variabili di ambiente e campi per l'autenticazione unificata client
Le tabelle seguenti elencano i nomi e le descrizioni delle variabili di ambiente e dei campi supportati per l'autenticazione unificata del client Databricks. Nelle tabelle seguenti:
- La variabile di ambiente, se applicabile, è il nome della variabile di ambiente.
.databrickscfg
campo, se applicabile, è il nome del campo all'interno di un file di profili di configurazione di Azure Databricks o configurazione di Databricks Terraform. Per impostare i campi.databrickscfg
, consultare Profili di configurazione di Azure Databricks.- Il campo Terraform, se applicabile, è il nome del campo all'interno di una configurazione di Databricks Terraform. Per impostare i campi Databricks Terraform, consultare Autenticazione 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 l'host di Azure Databricks è impostato suhttps://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. Richiede che sia impostato anche l'ID risorsa di Azure. | 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 valori dei campi del tipo di autenticazione di Databricks supportati includono:
oauth-m2m
: impostare questo valore se si usa un'entità 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
: impostare questo valore se si usano token di accesso personali di Databricks. Per ulteriori dettagli, consultare Autenticazione del token di accesso personale di Azure Databricks.databricks-cli
: impostare questo valore se si usa l'interfaccia della riga di comando 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
: impostare questo valore se si usa un'identità del servizio gestita di Azure. Per altri dettagli, vedere Autenticazione delle identità gestite di Azure.azure-client-secret
: impostare questo valore se si usa un'entità servizio di Azure con segreti client. Per altri dettagli, vedere Autenticazione dell'entità servizio MS Entra.