Condividi tramite


Profili di configurazione di Azure Databricks

Un profilo di configurazione di Azure Databricks archivia le impostazioni di autenticazione nel .databrickscfg file. I profili di configurazione semplificano il passaggio tra aree di lavoro, ambienti o metodi di autenticazione diversi senza modificare il codice.

Strumenti, SDK, script e app possono fare riferimento ai profili di configurazione per l'autenticazione con Azure Databricks. Tutti gli strumenti e gli SDK che implementano l'autenticazione unificata supportano i profili di configurazione.

Che cos'è un profilo di configurazione?

Un profilo di configurazione è una sezione denominata nel .databrickscfg file che contiene quanto segue:

  • Credenziali di autenticazione, ad esempio token o credenziali del principale del servizio
  • URL dell'area di lavoro o dell'account di Azure Databricks
  • Impostazioni facoltative specifiche del metodo di autenticazione

Creare più profili in un singolo .databrickscfg file per gestire le connessioni a aree di lavoro o ambienti diversi, ad esempio sviluppo, gestione temporanea e produzione.

Creare un profilo di configurazione

Creare un profilo di configurazione usando l'interfaccia della riga di comando di Databricks o modificando manualmente il .databrickscfg file.

Creare un profilo con il CLI

Il modo più semplice per creare un profilo di configurazione per l'autenticazione utente interattiva consiste nell'interfaccia della riga di comando di Databricks:

databricks auth login --host <workspace-url>

La CLI apre il browser web per completare il flusso di autenticazione. Dopo l'accesso, l'interfaccia della riga di comando salva le credenziali come profilo di configurazione.

Creare un profilo manualmente

Per creare manualmente un profilo di configurazione:

  1. Creare un file denominato .databrickscfg nella home directory:

    • Unix, Linux, macOS:~/.databrickscfg
    • Windows:%USERPROFILE%\.databrickscfg
  2. Aggiungere un profilo con il formato seguente:

    [<profile-name>]
    <field-name> = <field-value>
    

    Sostituire i segnaposto:

    • <profile-name>: nome univoco, ad esempio DEFAULT, DEVELOPMENTo PRODUCTION
    • <field-name> e <field-value>: campi di autenticazione per il metodo di autenticazione

Ad esempio, per l'autenticazione da computer a computer OAuth (M2M), il .databrickscfg file sarà simile al seguente:

[DEFAULT]
host          = https://<workspace-url>
client_id     = <client-id>
client_secret = <client-secret>

Creare più profili

Definire più profili nello stesso .databrickscfg file per gestire aree di lavoro o ambienti diversi. Ogni profilo deve avere un nome univoco.

[DEFAULT]
host          = https://production-workspace-url
client_id     = <production-client-id>
client_secret = <production-client-secret>

[DEVELOPMENT]
host          = https://dev-workspace-url
client_id     = <dev-client-id>
client_secret = <dev-client-secret>

[STAGING]
host          = https://staging-workspace-url
client_id     = <staging-client-id>
client_secret = <staging-client-secret>

Combinare i tipi di autenticazione

Definire più metodi di autenticazione in profili separati all'interno del file di configurazione. Ciò è utile quando si vogliono usare credenziali diverse per flussi di lavoro o strumenti diversi. Ad esempio, è possibile usare l'autenticazione nativa del cloud per l'uso interattivo e le credenziali OAuth per l'automazione:

[DEFAULT]
host = https://<workspace-url>

[SERVICE_PRINCIPAL]
azure_workspace_resource_id = /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Databricks/workspaces/<workspace-name>
azure_tenant_id             = <tenant-id>
azure_client_id             = <client-id>
azure_client_secret         = <client-secret>

Per altre informazioni sui tipi di autenticazione e sui relativi campi obbligatori, vedere Autenticazione unificata di Databricks.

Usare un profilo di configurazione

Dopo aver creato un profilo di configurazione, riferisciti ad esso negli strumenti e nel codice. Se non si specifica un nome di profilo, gli strumenti e gli SDK di Azure Databricks usano automaticamente il DEFAULT profilo.

Per usare un profilo diverso da DEFAULT, specificare il nome del profilo:

Con il Databricks CLI:

databricks workspace list --profile DEVELOPMENT

Con la variabile di ambiente:

export DATABRICKS_CONFIG_PROFILE=DEVELOPMENT
databricks workspace list

Con Python SDK:

from databricks.sdk import WorkspaceClient

# Specify profile in code
w = WorkspaceClient(profile="DEVELOPMENT")

# Or use environment variable DATABRICKS_CONFIG_PROFILE

Procedure consigliate

  • Usare il profilo PREDEFINITO per l'area di lavoro più comune per ridurre al minimo la necessità di specificare i nomi dei profili.
  • Usare nomi di profilo descrittivi come PRODUCTION, DEVELOPMENTo STAGING anziché nomi generici.
  • Proteggere il .databrickscfg file impostando autorizzazioni per i file con restrizioni (leggibili solo dall'utente).
  • Non eseguire il commit .databrickscfg nel controllo di versione. Aggiungerlo al .gitignore file.
  • Usare le entità servizio per i carichi di lavoro di produzione anziché i token di accesso personale.
  • Cambiare le credenziali periodicamente e aggiornare i profili di conseguenza.

Risoluzione dei problemi

Se il profilo non è stato trovato, verificare quanto segue:

  • Il .databrickscfg file si trova nella home directory.
  • Tu usi il nome esatto del profilo.
  • Il file non è denominato .databrickscfg.txt o simile.

Se l'autenticazione non riesce, verificare quanto segue:

  • Le credenziali sono correnti e non sono scadute.
  • L'URL host è corretto.
  • Si dispone delle autorizzazioni necessarie per le operazioni che si sta tentando di eseguire.

Testare i profili di configurazione usando l'interfaccia della riga di comando di Databricks:

# Inspect a specific profile
databricks auth env --profile DEVELOPMENT

# List all profiles
databricks auth profiles

Per altre informazioni, vedere Testare i profili di configurazione.

Ulteriori informazioni