Autenticazione per l'interfaccia della riga di comando di Databricks
Nota
Queste informazioni si applicano alle versioni dell'interfaccia della riga di comando di Databricks 0.205 e successive, disponibili in anteprima pubblica. Per trovare la versione dell'interfaccia della riga di comando di Databricks, eseguire databricks -v
.
Questo articolo descrive come configurare l'autenticazione tra l'interfaccia della riga di comando di Databricks e gli account e le aree di lavoro di Azure Databricks. Vedere Che cos'è l'interfaccia della riga di comando di Databricks?.
Questo articolo presuppone che sia già stata installata l'interfaccia della riga di comando di Databricks. Vedere Installare o aggiornare l'interfaccia della riga di comando di Databricks.
Prima di poter eseguire i comandi dell'interfaccia della riga di comando di Databricks, è necessario configurare l'autenticazione tra l'interfaccia della riga di comando di Databricks e gli account, le aree di lavoro di Azure Databricks o una combinazione di questi, a seconda dei tipi di comandi dell'interfaccia della riga di comando da eseguire.
È necessario autenticare l'interfaccia della riga di comando di Databricks 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 un elenco dei gruppi di comandi dell'interfaccia della riga di comando a livello di area di lavoro e dell'interfaccia della riga di comando a livello di account, eseguire il comando databricks -h
. Per un elenco 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, vedere Eseguire l'autenticazione con Azure DevOps in Databricks.
Le sezioni seguenti forniscono informazioni su come configurare 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
- Autenticazione con interfaccia della riga di comando di Azure
- Ordine di autenticazione della valutazione
Autenticazione del token di accesso personale di Azure Databricks
L'autenticazione del 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. Vedere Autenticazione del 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, eseguire le operazioni seguenti:
- Nell'area di lavoro di Azure Databricks fare clic sul nome utente di Azure Databricks nella barra superiore e quindi selezionare Impostazioni nell'elenco a discesa.
- Fare clic su Sviluppatore.
- Accanto a Token di accesso fare clic su Gestisci.
- Fare clic su Generare nuovi token.
- (Facoltativo) Immettere un commento che consente di identificare questo token in futuro e modificare la durata predefinita del token di 90 giorni. Per creare un token senza durata (scelta non consigliata), lasciare vuota la casella Durata (giorni) (vuota).
- Fare clic su Genera.
- Copiare il token visualizzato in un percorso sicuro e quindi fare clic su Fine.
Nota
Assicurarsi di salvare il token copiato in un percorso sicuro. Non condividere il token copiato con altri utenti. Se si perde il token copiato, non è possibile rigenerare lo stesso token esatto. È invece necessario ripetere questa procedura per creare un nuovo token. Se si perde il token copiato o si ritiene che il token sia stato compromesso, Databricks consiglia vivamente di eliminare immediatamente il token dall'area di lavoro facendo clic sull'icona del cestino (Revoca) accanto al token nella pagina Token di accesso.
Se non è possibile creare o usare token nell'area di lavoro, questo potrebbe essere dovuto al fatto che l'amministratore dell'area di lavoro ha disabilitato i token o non ha concesso l'autorizzazione per creare o usare token. Vedere l'amministratore dell'area di lavoro o quanto segue:
Per configurare e usare l'autenticazione del token di accesso personale di Azure Databricks, seguire questa procedura:
Nota
La procedura seguente crea un profilo di configurazione di Azure Databricks con il nome DEFAULT
. Se si ha già un DEFAULT
profilo di configurazione che si vuole usare, ignorare questa procedura. In caso contrario, questa procedura sovrascrive il profilo di configurazione esistente DEFAULT
. 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
, sostituendo <configuration-profile-name>
con il nome del nuovo profilo di configurazione.
Usare l'interfaccia della riga di comando di Databricks per eseguire il comando seguente:
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 file viene aggiunto
.databrickscfg
un profilo di configurazione corrispondente. Se l'interfaccia della riga di comando di Databricks non riesce a trovare questo file nel percorso predefinito, crea prima questo file e quindi aggiunge questo profilo di configurazione al nuovo file. Il percorso predefinito per questo file si trova nella cartella (home page dell'utente) in~
Unix, Linux o macOS o nella%USERPROFILE%
cartella (home page dell'utente) in Windows.È ora possibile usare l'opzione o
-p
l'interfaccia della riga di comando di--profile
Databricks seguita dal nome del profilo di configurazione, come parte della chiamata al comando dell'interfaccia della riga di comando di Databricks, ad esempiodatabricks clusters list -p <configuration-profile-name>
.
Autenticazione da computer a computer OAuth (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 offre token con tempi di scadenza più rapidi rispetto ai token di accesso personale di Azure Databricks e offre una migliore invalidazione e ambito della sessione sul lato server. Poiché i token di accesso OAuth scadono in meno di un'ora, questo riduce il rischio associato al controllo accidentale dei token nel controllo del codice sorgente. Vedere anche Usare un'entità servizio per l'autenticazione con Azure Databricks (OAuth M2M).
Per configurare e usare l'autenticazione OAuth M2M, seguire questa procedura:
Completare le istruzioni di configurazione dell'autenticazione M2M OAuth. Vedere Usare un'entità servizio per l'autenticazione con Azure Databricks (OAuth M2M)
Creare o identificare un profilo di configurazione di Azure Databricks con i campi seguenti nel
.databrickscfg
file. Se si crea il profilo, sostituire i segnaposto con i valori appropriati.Per i comandi a livello di account, impostare i valori seguenti nel
.databrickscfg
file:[<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 i comandi a livello di area di lavoro, impostare i valori seguenti nel
.databrickscfg
file:[<some-unique-configuration-profile-name>] host = <workspace-url> client_id = <service-principal-client-id> client_secret = <service-principal-oauth-secret>
Nota
Il percorso predefinito per il
.databrickscfg
file si trova nella home directory dell'utente. Questo vale~
per Linux e macOS e%USERPROFILE%
per Windows.Usare l'opzione o
-p
l'interfaccia della riga di comando di--profile
Databricks seguita dal nome del profilo di configurazione come parte della chiamata al comando dell'interfaccia della riga di comando di Databricks,databricks account groups list -p <configuration-profile-name>
ad esempio odatabricks clusters list -p <configuration-profile-name>
.Suggerimento
Premere
Tab
dopo--profile
o-p
per visualizzare un elenco 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 offre token con tempi di scadenza più rapidi rispetto ai token di accesso personale di Azure Databricks e offre una migliore invalidazione e ambito della sessione sul lato server. Poiché i token di accesso OAuth scadono in meno di un'ora, questo riduce il rischio associato al controllo accidentale dei token nel controllo del codice sorgente. Vedere anche Autenticazione da utente a computer (U2M) OAuth.
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 comando seguente. 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 al passaggio 5.
Nel comando seguente sostituire i segnaposto seguenti:
- Sostituire
<account-console-url>
con Azure Databricks https://accounts.azuredatabricks.net. - Sostituire
<account-id>
con l'ID dell'account Azure Databricks. Vedere Individuare l'ID account.
databricks auth login --host <account-console-url> --account-id <account-id>
- Sostituire
L'interfaccia della riga di comando di Databricks 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 ottenere un elenco di tutti i profili esistenti, eseguire il comando
databricks auth profiles
in un terminale o un prompt dei comandi separato. 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 comando seguente. Questo comando deve essere eseguito separatamente per ogni area di lavoro in cui si desidera eseguire comandi.
Nel comando seguente sostituire
<workspace-url>
con l'URL di Azure Databricks per area di lavoro, ad esempiohttps://adb-1234567890123456.7.azuredatabricks.net
.databricks auth login --host <workspace-url>
L'interfaccia della riga di comando di Databricks 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 ottenere un elenco di tutti i profili esistenti, eseguire il comando
databricks auth profiles
in un terminale o un prompt dei comandi separato. 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 o
-p
l'interfaccia della riga di comando di--profile
Databricks seguita dal nome del profilo di configurazione, come parte della chiamata al comando dell'interfaccia della riga di comando di 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 elenco 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 identità del servizio gestite)) per l'autenticazione. Vedere Informazioni sulle identità gestite per le risorse di Azure. Vedere anche Autenticazione delle identità gestite di Azure.
Per creare un'identità gestita assegnata dall'utente di Azure, eseguire le operazioni seguenti:
Creare o identificare una macchina virtuale di Azure e installare l'interfaccia della riga di comando di Databricks in essa, quindi assegnare l'identità gestita alla macchina virtuale di Azure e gli account di Azure Databricks di destinazione, le aree di lavoro o entrambi. Vedere Configurare e usare l'autenticazione delle identità gestite di Azure per l'automazione di Azure Databricks.
Nella macchina virtuale di Azure creare o identificare un profilo di configurazione di Azure Databricks con i campi seguenti nel
.databrickscfg
file. Se si crea il profilo, sostituire i segnaposto con i valori appropriati.Per i comandi a livello di account, impostare i valori seguenti nel
.databrickscfg
file:[<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 i comandi a livello di area di lavoro, impostare i valori seguenti nel
.databrickscfg
file:[<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é all'URL dell'area dihost
lavoro. In questo caso, l'identità di destinazione deve avere almeno le autorizzazioni Collaboratore o Proprietario per la risorsa di Azure.Nota
Il percorso predefinito per il
.databrickscfg
file si trova nella home directory dell'utente. Questo vale~
per Linux e macOS e%USERPROFILE%
per Windows.Nella macchina virtuale di Azure usare l'opzione o
-p
l'interfaccia della riga di comando di--profile
Databricks seguita dal nome del profilo di configurazione per impostare il profilo per Databricks da usare, 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 elenco di profili di configurazione disponibili esistenti tra cui scegliere, anziché immettere manualmente il nome del profilo di configurazione.
Autenticazione dell'entità servizio Microsoft Entra ID
L'autenticazione dell'entità servizio Microsoft Entra ID usa le credenziali di un'entità servizio Microsoft Entra ID per l'autenticazione. Per creare e gestire entità servizio per Azure Databricks, vedere Gestire le entità servizio. Vedere anche Autenticazione dell'entità servizio MS Entra.
Per configurare e usare l'autenticazione dell'entità servizio Microsoft Entra ID, è necessario che l'autenticazione dell'interfaccia della riga di comando di Azure sia installata in locale. È anche necessario eseguire le operazioni seguenti:
Creare o identificare un profilo di configurazione di Azure Databricks con i campi seguenti nel
.databrickscfg
file. Se si crea il profilo, sostituire i segnaposto con i valori appropriati.Per i comandi a livello di account, impostare i valori seguenti nel
.databrickscfg
file:[<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, impostare i valori seguenti nel
.databrickscfg
file:[<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é all'URL dell'area dihost
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
Il percorso predefinito per il
.databrickscfg
file si trova nella home directory dell'utente. Questo vale~
per Linux e macOS e%USERPROFILE%
per Windows.Usare l'opzione o
-p
l'interfaccia della riga di comando di--profile
Databricks seguita dal nome del profilo di configurazione, come parte della chiamata al comando dell'interfaccia della riga di comando di 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 elenco di profili di configurazione disponibili esistenti tra cui scegliere, anziché immettere manualmente il nome del profilo di configurazione.
Autenticazione dell'interfaccia della riga di comando di Azure
L'autenticazione dell'interfaccia della riga di comando di Azure usa l'interfaccia della riga di comando di Azure per autenticare l'entità con accesso. Vedere anche Autenticazione dell'interfaccia della riga di comando di Azure.
Per configurare l'autenticazione dell'interfaccia della riga di comando di Azure, è necessario eseguire le operazioni seguenti:
Installare l'interfaccia della riga di comando di Azure in locale.
Usare l'interfaccia della riga di comando di Azure per accedere ad Azure Databricks eseguendo il
az login
comando . Vedere Accesso dell'interfaccia della riga di comando di Azure con un account utente di Azure Databricks.Creare o identificare un profilo di configurazione di Azure Databricks con i campi seguenti nel
.databrickscfg
file. Se si crea il profilo, sostituire i segnaposto con i valori appropriati.Per i comandi a livello di account, impostare i valori seguenti nel
.databrickscfg
file:[<some-unique-configuration-profile-name>] host = <account-console-url> account_id = <account-id>
Per i comandi a livello di area di lavoro, impostare i valori seguenti nel
.databrickscfg
file:[<some-unique-configuration-profile-name>] host = <workspace-url>
Nota
Il percorso predefinito per il
.databrickscfg
file si trova nella home directory dell'utente. Questo vale~
per Linux e macOS e%USERPROFILE%
per Windows.Usare l'opzione o
-p
l'interfaccia della riga di comando di--profile
Databricks seguita dal nome del profilo di configurazione, come parte della chiamata al comando dell'interfaccia della riga di comando di 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 elenco di profili di configurazione disponibili esistenti tra cui scegliere, anziché immettere manualmente il nome del profilo di configurazione.
Ordine di autenticazione della valutazione
Ogni volta che l'interfaccia della riga di comando di Databricks 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 (la radice del bundle e qualsiasi percorso annidato), i valori dei campi all'interno dei file di impostazione bundle di un progetto. I file di impostazione bundle non supportano l'inclusione diretta dei valori delle credenziali di accesso.
- I valori delle variabili di ambiente, come indicato in questo articolo e in Variabili di ambiente e campi per l'autenticazione unificata client.
- Valori dei campi del profilo di configurazione all'interno del
.databrickscfg
file, come indicato in precedenza in questo articolo.
Ogni volta che l'interfaccia della riga di comando di Databricks trova le impostazioni necessarie, interrompe la ricerca in altre posizioni. Ad esempio:
- L'interfaccia della riga di comando di Databricks richiede il valore di un token di accesso personale di Azure Databricks. Viene impostata una
DATABRICKS_TOKEN
variabile di ambiente e il.databrickscfg
file contiene anche più token di accesso personale. In questo esempio l'interfaccia della riga di comando di Databricks usa il valore della variabile diDATABRICKS_TOKEN
ambiente e non esegue ricerche nel.databrickscfg
file. - Il
databricks bundle deploy -t dev
comando richiede il valore di un token di accesso personale di Azure Databricks. UnaDATABRICKS_TOKEN
variabile di ambiente non è impostata e il.databrickscfg
file contiene più token di accesso personale. Il file di impostazioni bundle del progetto contiene unadev
dichiarazione di ambiente che fa riferimento tramite il relativoprofile
campo un profilo di configurazione denominatoDEV
. In questo esempio l'interfaccia della riga di comando di Databricks cerca un.databrickscfg
profilo denominatoDEV
e usa il valore del campo deltoken
profilo. - Il
databricks bundle run -t dev hello-job
comando richiede il valore di un token di accesso personale di Azure Databricks. UnaDATABRICKS_TOKEN
variabile di ambiente non è impostata e il.databrickscfg
file contiene più token di accesso personale. Il file di impostazioni bundle del progetto contiene unadev
dichiarazione di ambiente che fa riferimento tramite il relativohost
campo un URL specifico dell'area di lavoro di Azure Databricks. In questo esempio l'interfaccia della riga di comando di Databricks cerca nei profili di configurazione all'interno del.databrickscfg
file un profilo che contiene unhost
campo con un URL dell'area di lavoro corrispondente. L'interfaccia della riga di comando di Databricks trova un campo corrispondentehost
e quindi usa il valore del campo deltoken
profilo.