Autenticazione per il Databricks CLI
Nota
Queste informazioni si applicano all'interfaccia della riga di comando di Databricks versione 0.205 e successive. L'interfaccia della riga di comando di Databricks è disponibile in anteprima pubblica.
L'uso dell'interfaccia della riga di comando di Databricks è soggetto all'Informativa sulla privacy di Databricks e databricks, incluse eventuali disposizioni sui dati di utilizzo.
Questo articolo descrive come set l'autenticazione tra l'interfaccia della riga di comando di Databricks e gli account e le aree di lavoro di Azure Databricks. Si presuppone che sia già stata installata la CLI di Databricks. Vedere Installare o update l'interfaccia della riga di comando di Databricks.
Prima di poter eseguire i comandi dell'interfaccia della riga di comando di Databricks, è necessario setautenticazione tra l'interfaccia della riga di comando di Databricks e gli account di Azure Databricks, le aree di lavoro o una combinazione di questi, a seconda del tipo di comandi che si desidera eseguire.
È necessario autenticare il Databricks CLI alle risorse pertinenti in fase di esecuzione per eseguire i comandi di automazione di Azure Databricks all'interno di un account o di un'area di lavoro di Azure Databricks. A seconda che si voglia chiamare i comandi a livello di area di lavoro di Azure Databricks, i comandi a livello di account di Azure Databricks o entrambi, è necessario eseguire l'autenticazione nell'area di lavoro di Azure Databricks, nell'account o in entrambi. Per eseguire un comando list dei gruppi di comandi CLI a livello di area di lavoro e a livello di account di Azure Databricks, esegui il comando databricks -h
. Per una list delle operazioni API REST a livello di area di lavoro e di account di Azure Databricks illustrate dai comandi dell'interfaccia della riga di comando di Databricks, vedere l'API REST di Databricks.
Per informazioni sull'autenticazione di Microsoft Entra in Databricks con Azure DevOps in particolare, consultare Eseguire l'autenticazione con Azure DevOps in Databricks.
Le sezioni seguenti forniscono informazioni su come set l'autenticazione tra l'interfaccia della riga di comando di Databricks e Azure Databricks:
- Autenticazione con token di accesso personale di Azure Databricks
- Autenticazione OAuth da computer a computer (M2M)
- Autenticazione da utente a computer (U2M) OAuth
- Autenticazione delle identità gestite di Azure
- Autenticazione entità servizio di Microsoft Entra ID
- Autenticazione con interfaccia della riga di comando di Azure
- Ordine di valutazione dell’autenticazione
Autenticazione con token di accesso personale di Azure Databricks
L'autenticazione tramite token di accesso personale di Azure Databricks usa un token di accesso personale di Azure Databricks per autenticare l'entità di Azure Databricks di destinazione, ad esempio un account utente di Azure Databricks. Consultare Autenticazione con token di accesso personale di Azure Databricks.
Nota
Non è possibile usare l'autenticazione del token di accesso personale di Azure Databricks per l'autenticazione con un account Azure Databricks, perché i comandi a livello di account di Azure Databricks non usano token di accesso personali di Azure Databricks per l'autenticazione. Per eseguire l'autenticazione con un account Azure Databricks, prendere in considerazione l'uso di uno dei tipi di autenticazione seguenti:
Per creare un token di accesso personale, seguire la procedura descritta in Token di accesso personali di Azure Databricks per gli utenti dell'area di lavoro.
Nota
La procedura seguente crea un profilo di configurazione di Azure Databricks con il nome DEFAULT
. Se si ha già un profilo di configurazione DEFAULT
che si vuole usare, ignorare questa procedura. In caso contrario, questa procedura sovrascrive il profilo di DEFAULT
configurazione esistente. Per visualizzare i nomi e gli host di qualsiasi profilo di configurazione esistente, eseguire il comando databricks auth profiles
.
Per creare un profilo di configurazione con un nome diverso da DEFAULT
, aggiungere --profile <configuration-profile-name>
o -p <configuration-profile-name>
alla fine del comando seguente databricks configure
, sostituendolo <configuration-profile-name>
con il nome del nuovo profilo di configurazione.
Per configurare e usare l'autenticazione del token di accesso personale di Azure Databricks, seguire questa procedura:
Usare il Databricks CLI eseguire il seguente comando:
databricks configure
Per il prompt dell'host Databricks immettere l'URL di Azure Databricks per area di lavoro, ad esempio
https://adb-1234567890123456.7.azuredatabricks.net
.Per il prompt del token di accesso personale immettere il token di accesso personale di Azure Databricks per l'area di lavoro.
Dopo aver immesso il token di accesso personale di Azure Databricks, al
.databrickscfg
file viene aggiunto un profilo di configurazione corrispondente. Se il Databricks CLI non riesce a trovare questo file nel percorso predefinito, crea prima il file e poi aggiunge questo profilo di configurazione al nuovo file. La posizione predefinita per questo file si trova nella cartella~
(home page dell'utente) su Unix, Linux o macOS o nella cartella%USERPROFILE%
(home page dell'utente) su Windows.È ora possibile usare l'opzione
--profile
o-p
del Databricks CLI seguita dal nome del profilo di configurazione, come parte della chiamata al comando del Databricks CLI, ad esempiodatabricks clusters list -p <configuration-profile-name>
.
Autenticazione OAuth da computer a computer (M2M)
Anziché eseguire l'autenticazione con Azure Databricks usando l'autenticazione del token di accesso personale di Azure Databricks, è possibile usare l'autenticazione OAuth. OAuth fornisce token con tempi di scadenza più rapidi rispetto ai token di accesso personale di Azure Databricks e offre una migliore invalidazione della sessione lato server e una gestione più precisa dell’ ambito. Poiché i token di accesso OAuth scadono in meno di un'ora, questo riduce il rischio associato all'inserimento accidentale dei token nel controllo del codice sorgente. Consultare anche Autenticare l'accesso ad Azure Databricks con un'entità servizio usando OAuth (OAuth M2M).
Per configurare e usare l'autenticazione OAuth M2M, seguire questa procedura:
Completare le istruzioni di configurazione dell'autenticazione M2M OAuth. Consultare Autenticare l'accesso ad Azure Databricks con un'entità servizio usando OAuth (OAuth M2M)
Creare o identificare un profilo di configurazione di Azure Databricks con i seguenti campi nel
.databrickscfg
file. Se si crea il profilo, sostituire i segnaposto con il valuesappropriato.Per comandi di a livello di account, set i values seguenti nel file
.databrickscfg
:[<some-unique-configuration-profile-name>] host = <account-console-url> account_id = <account-id> client_id = <service-principal-client-id> client_secret = <service-principal-oauth-secret>
Per comandi di a livello di area di lavoro, set i values seguenti nel file
.databrickscfg
:[<some-unique-configuration-profile-name>] host = <workspace-url> client_id = <service-principal-client-id> client_secret = <service-principal-oauth-secret>
Nota
La posizione predefinita per il file
.databrickscfg
è nella home directory dell'utente. Questo vuol dire~
per Linux e macOS e%USERPROFILE%
per Windows.Usare l'opzione
--profile
o-p
del Databricks CLI seguita dal nome del profilo di configurazione come parte della chiamata al comando del Databricks CLI, per esempiodatabricks account groups list -p <configuration-profile-name>
odatabricks clusters list -p <configuration-profile-name>
.Suggerimento
Premere
Tab
dopo--profile
o-p
per visualizzare un list di profili di configurazione disponibili esistenti tra cui scegliere, anziché immettere manualmente il nome del profilo di configurazione.
Autenticazione da utente a computer (U2M) OAuth
Anziché eseguire l'autenticazione con Azure Databricks usando l'autenticazione basata su token, è possibile usare l'autenticazione OAuth. OAuth fornisce token con tempi di scadenza più rapidi rispetto ai token di accesso personale di Azure Databricks e offre una migliore invalidazione della sessione lato server e una gestione più precisa dell’ ambito. Poiché i token di accesso OAuth scadono in meno di un'ora, questo riduce il rischio associato all'inserimento accidentale dei token nel controllo del codice sorgente. Consultare anche Autenticare l'accesso ad Azure Databricks con un account utente usando OAuth (OAuth U2M).
Per configurare e usare l'autenticazione U2M OAuth, eseguire le operazioni seguenti:
Prima di chiamare i comandi a livello di account di Azure Databricks, è necessario avviare la gestione dei token OAuth in locale eseguendo il seguente comando. Questo comando deve essere eseguito separatamente per ogni account su cui si desidera eseguire i comandi. Se non si desidera chiamare operazioni a livello di account, passare allo Step 5.
Nel seguente comando, sostituire i seguenti segnaposto nel seguente comando:
- Sostituire
<account-console-url>
con Azure Databricks https://accounts.azuredatabricks.net. - Sostituire
<account-id>
con l'ID dell'account Azure Databricks. Consultare Individuare l'ID account.
databricks auth login --host <account-console-url> --account-id <account-id>
- Sostituire
Il Databricks CLI richiede di salvare l'URL e l'ID account della console dell'account in locale come profilo di configurazione di Azure Databricks. Premere
Enter
per accettare il nome del profilo suggerito oppure immettere il nome di un profilo nuovo o esistente. Qualsiasi profilo esistente con lo stesso nome viene sovrascritto con l'URL e l'ID account della console dell'account.Per get un list di un qualsiasi profilo esistente, in un terminale o un prompt dei comandi separato, eseguire il comando
databricks auth profiles
. Per visualizzare le impostazioni esistenti di un profilo specifico, eseguire il comandodatabricks auth env --profile <profile-name>
.Nel Web browser completare le istruzioni visualizzate per accedere all'account Azure Databricks.
Per visualizzare il valore corrente del token OAuth e il timestamp di scadenza imminente, eseguire il comando
databricks auth token --host <account-console-url> --account-id <account-id>
.Prima di chiamare i comandi a livello di area di lavoro di Azure Databricks, è necessario avviare la gestione dei token OAuth in locale eseguendo il seguente comando. Questo comando deve essere eseguito separatamente per ogni area di lavoro in cui si desidera eseguire comandi.
Nel seguente comando, sostituire
<workspace-url>
con l’URL per l'area di lavoro di Azure Databricks, per esempiohttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
Il Databricks CLI richiede di salvare l'URL dell'area di lavoro in locale come profilo di configurazione di Azure Databricks. Premere
Enter
per accettare il nome del profilo suggerito oppure immettere il nome di un profilo nuovo o esistente. Qualsiasi profilo esistente con lo stesso nome viene sovrascritto con questo URL dell'area di lavoro.Per get un list di eventuali profili esistenti, in un terminale o un prompt dei comandi separato, eseguire il comando
databricks auth profiles
. Per visualizzare le impostazioni esistenti di un profilo specifico, eseguire il comandodatabricks auth env --profile <profile-name>
.Nel Web browser completare le istruzioni visualizzate per accedere all'area di lavoro di Azure Databricks.
Per visualizzare il valore corrente del token OAuth e il timestamp di scadenza imminente, eseguire il comando
databricks auth token --host <workspace-url>
.Usare l'opzione
--profile
o-p
del Databricks CLI seguita dal nome del profilo di configurazione, come parte della chiamata al comando del Databricks CLI, ad esempiodatabricks account groups list -p <configuration-profile-name>
odatabricks clusters list -p <configuration-profile-name>
.Suggerimento
È possibile premere
Tab
dopo--profile
o-p
per visualizzare un list di profili di configurazione disponibili esistenti tra cui scegliere, anziché immettere manualmente il nome del profilo di configurazione.
Autenticazione delle identità gestite di Azure
L'autenticazione delle identità gestite di Azure usa le identità gestite per le risorse di Azure (in precedenza definite Managed Service Identities, (MSI)) per l'autenticazione. Consultare Informazioni sulle identità gestite per le risorse di Azure. Consultare anche Autenticazione delle identità gestite di Azure.
Per creare un'identità gestita assegnata dall'utente, fare come segue:
Creare o identificare una VM di Azure e installare il Databricks CLI in essa, quindi assegnare l'identità gestita alla VM di Azure e gli account di Azure Databricks di destinazione, le aree di lavoro o entrambi. Consulta Set e usa l'autenticazione delle identità gestite di Azure per l'automazione in Azure Databricks.
Nella VM di Azure, creare o identificare un profilo di configurazione di Azure Databricks con i seguenti campi nel
.databrickscfg
file. Se si crea il profilo, sostituire i segnaposto con il valuesappropriato.Per comandi di a livello di account, set i values seguenti nel file
.databrickscfg
:[<some-unique-configuration-profile-name>] host = <account-console-url> account_id = <account-id> azure_client_id = <azure-managed-identity-application-id> azure_use_msi = true
Per comandi di a livello di area di lavoro, set i values seguenti nel file
.databrickscfg
:[<some-unique-configuration-profile-name>] host = <workspace-url> azure_client_id = <azure-managed-identity-application-id> azure_use_msi = true
Per i comandi a livello di area di lavoro, se l'identità di destinazione non è già stata aggiunta all'area di lavoro, specificare
azure_workspace_resource_id
insieme all'ID risorsa di Azure, anzichéhost
insieme all'URL dell'area di lavoro. In questo caso, l'identità di destinazione deve avere almeno le autorizzazioni Collaboratore o Proprietario per la risorsa di Azure.Nota
La posizione predefinita per il file
.databrickscfg
è nella home directory dell'utente. Questo vuol dire~
per Linux e macOS e%USERPROFILE%
per Windows.Nella macchina virtuale di Azure usare l'opzione
--profile
o-p
dell'interfaccia della riga di comando di Databricks seguita dal nome del profilo di configurazione per set il profilo da usare per Databricks, ad esempiodatabricks account groups list -p <configuration-profile-name>
odatabricks clusters list -p <configuration-profile-name>
.Suggerimento
È possibile premere
Tab
dopo--profile
o-p
per visualizzare un list di profili di configurazione disponibili esistenti tra cui scegliere, anziché immettere manualmente il nome del profilo di configurazione.
Autenticazione entità servizio di Microsoft Entra ID
Il principale del servizio Microsoft Entra ID usa l'autenticazione mediante il principale del servizio Microsoft Entra ID credentials per l'autenticazione. Per creare e gestire entità servizio per Azure Databricks, consultare Gestire le entità servizio. Consultare anche autenticazione entità servizio MS Entra.
Per configurare e usare l'autenticazione dell'entità servizio Microsoft Entra ID, è necessario che l'autenticazione Azure CLI sia installata in locale. Eseguire le seguenti operazioni:
Creare o identificare un profilo di configurazione di Azure Databricks con i seguenti campi nel
.databrickscfg
file. Se si crea il profilo, sostituire i segnaposto con il valuesappropriato.Per comandi di a livello di account, set i values seguenti nel file
.databrickscfg
:[<some-unique-configuration-profile-name>] host = <account-console-url> account_id = <account-id> azure_tenant_id = <azure-service-principal-tenant-id> azure_client_id = <azure-service-principal-application-id> azure_client_secret = <azure-service-principal-client-secret>
Per i comandi a livello di area di lavoro, fai set i values seguenti nel file
.databrickscfg
:[<some-unique-configuration-profile-name>] host = <workspace-url> azure_tenant_id = <azure-service-principal-tenant-id> azure_client_id = <azure-service-principal-application-id> azure_client_secret = <azure-service-principal-client-secret>
Per i comandi a livello di area di lavoro, se l'entità servizio Microsoft Entra ID di destinazione non è già stata aggiunta all'area di lavoro, specificare
azure_workspace_resource_id
insieme all'ID risorsa di Azure, anzichéhost
insieme all'URL dell'area di lavoro. In questo caso, l'entità servizio Microsoft Entra ID di destinazione deve avere almeno le autorizzazioni Collaboratore o Proprietario per la risorsa di Azure.Nota
La posizione predefinita per il file
.databrickscfg
è nella home directory dell'utente. Questo vuol dire~
per Linux e macOS e%USERPROFILE%
per Windows.Usare l'opzione
--profile
o-p
del Databricks CLI seguita dal nome del profilo di configurazione, come parte della chiamata al comando del Databricks CLI, ad esempiodatabricks account groups list -p <configuration-profile-name>
odatabricks clusters list -p <configuration-profile-name>
.Suggerimento
È possibile premere
Tab
dopo--profile
o-p
per visualizzare un list di profili di configurazione disponibili esistenti tra cui scegliere, anziché immettere manualmente il nome del profilo di configurazione.
Autenticazione dell’Azure CLI
L’autenticazione dell’Azure CLI usa l’Azure CLI per autenticare l'entità con accesso. Consultare anche Autenticazione con interfaccia della riga di comando di Azure.
Per configurare l’Azure CLI, è necessario eseguire le operazioni seguenti:
Avere l’Azure CLI installato in locale.
Usare l'interfaccia della riga di comando di Azure per accedere ad Azure Databricks eseguendo il comando
az login
. Consultare Accesso all'Azure CLI con un account utente di Azure Databricks.Creare o identificare un profilo di configurazione di Azure Databricks con i seguenti campi nel
.databrickscfg
file. Se si crea il profilo, sostituire i segnaposto con il valuesappropriato.Per i comandi di a livello account, setvalues seguenti nel file
.databrickscfg
:[<some-unique-configuration-profile-name>] host = <account-console-url> account_id = <account-id>
Per comandi di a livello di area di lavoro, set i values seguenti nel file
.databrickscfg
:[<some-unique-configuration-profile-name>] host = <workspace-url>
Nota
La posizione predefinita per il file
.databrickscfg
è nella home directory dell'utente. Questo vuol dire~
per Linux e macOS e%USERPROFILE%
per Windows.Usare l'opzione
--profile
o-p
del Databricks CLI seguita dal nome del profilo di configurazione, come parte della chiamata al comando del Databricks CLI, ad esempiodatabricks account groups list -p <configuration-profile-name>
odatabricks clusters list -p <configuration-profile-name>
.Suggerimento
È possibile premere
Tab
dopo--profile
o-p
per visualizzare un list di profili di configurazione disponibili esistenti tra cui scegliere, anziché immettere manualmente il nome del profilo di configurazione.
Ordine di valutazione dell'autenticazione
Ogni volta che il Databricks CLI deve raccogliere le impostazioni necessarie per tentare l'autenticazione con un'area di lavoro o un account di Azure Databricks, cerca queste impostazioni nei percorsi seguenti, nell'ordine seguente.
- Per qualsiasi comando eseguito dalla directory di lavoro del bundle (che include la radice del bundle e qualsiasi percorso annidato), il valore values dei campi all'interno dei file delle impostazioni del bundle di un progetto. I file di impostazione del bundle non supportano l'inclusione diretta delle credenziali di accesso values.)
- Il values delle variabili di ambiente, come elencato in questo articolo e nelle variabili di ambiente e campi per l'autenticazione unificata del client.
- Il campo profilo di configurazione values all'interno del file
.databrickscfg
, come indicato in precedenza in questo articolo.
Ogni volta che il Databricks CLI trova le impostazioni necessarie, interrompe la ricerca in altre posizioni. Ad esempio:
- Il Databricks CLI richiede il valore di un token di accesso personale di Azure Databricks. Una variabile di ambiente
DATABRICKS_TOKEN
è sete il file di.databrickscfg
contiene anche più token di accesso personale. In questo esempio il Databricks CLI usa il valore della variabile d’ambienteDATABRICKS_TOKEN
e non esegue ricerche nel file.databrickscfg
. - Il comando
databricks bundle deploy -t dev
richiede il valore di un token di accesso personale di Azure Databricks. Una variabile di ambienteDATABRICKS_TOKEN
non è sete il file di.databrickscfg
contiene più token di accesso personali. Il file delle impostazioni del bundle del progetto contiene una dichiarazione dell'ambientedev
che fa riferimento, tramite il suo campoprofile
, a un profilo di configurazione chiamatoDEV
. In questo esempio il Databricks CLI cerca nel file.databrickscfg
un profilo denominatoDEV
e usa il valore del campotoken
del profilo. - Il comando
databricks bundle run -t dev hello-job
richiede il valore di un token di accesso personale di Azure Databricks. Una variabile di ambienteDATABRICKS_TOKEN
non è sete il file di.databrickscfg
contiene più token di accesso personali. Il file delle impostazioni del bundle del progetto contiene una dichiarazione dell'ambientedev
che fa riferimento, tramite il suo campohost
, a un URL specifico del workspace di Azure Databricks. In questo esempio, il Databricks CLI cerca tra i profili di configurazione all'interno del.databrickscfg
file un profilo che contenga unhost
campo con un URL del workspace corrispondente. Il Databricks CLI trova un campo corrispondentehost
e quindi usa il valore del campo del profilotoken
.