Condividi tramite


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 del CLI di Databricks è soggetto alla Licenza Databricks e all'Informativa sulla Privacy di Databricks, incluse eventuali disposizioni sui Dati di Utilizzo.

Questo articolo descrive le opzioni disponibili per configurare 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 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 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 un elenco dei gruppi di comandi dell'interfaccia della riga di comando a livello di area di lavoro e account, esegui 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 Azure 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

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, 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 configurazione DEFAULT 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 , sostituendo <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:

  1. Usare il Databricks CLI eseguire il seguente comando:

    databricks configure
    
  2. Per il prompt Host Databricks, immettere l'URL di Azure Databricks per-workspace, ad esempio https://adb-1234567890123456.7.azuredatabricks.net.

  3. Al prompt del token di accesso personale, inserisci il personal access token di Azure Databricks per il tuo spazio 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.

  4. È ora possibile utilizzare l'opzione --profile o -p, seguita dal nome del profilo di configurazione, come parte della chiamata al comando della CLI di Databricks, ad esempio databricks 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 dello scoping. 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. Consulta anche Autorizzare l'accesso non supervisionato alle risorse di Azure Databricks con un principal del servizio usando OAuth.

Per configurare e usare l'autenticazione OAuth M2M, seguire questa procedura:

  1. Completare le istruzioni di configurazione dell'autenticazione M2M OAuth. Vedere Autorizzare l'accesso non presidiato alle risorse di Azure Databricks con un'entità servizio usando OAuth

  2. 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 seguenti valori 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 i comandi a livello di area di lavoro , impostare i seguenti valori nel 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 vuol dire ~ per Linux e macOS e %USERPROFILE% per Windows.

  3. Usare l'opzione del Databricks CLI --profile o -p seguita dal nome del profilo di configurazione come parte della chiamata al comando del Databricks CLI, ad esempio databricks account groups list -p <configuration-profile-name> o databricks 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 utente-macchina (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 dello scoping. 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. Vedere anche Autorizzare l'accesso interattivo alle risorse di Azure Databricks con un account utente usando OAuth.

Per configurare e usare l'autenticazione U2M OAuth, eseguire le operazioni seguenti:

  1. 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 vuoi eseguire operazioni a livello di account, passa al passaggio 5.

    Nel seguente comando, sostituire i seguenti segnaposto:

    databricks auth login --host <account-console-url> --account-id <account-id>
    
  2. 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 della console dell'account e l'ID dell'account.

    Per ottenere un elenco di tutti i 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 comando databricks auth env --profile <profile-name>.

  3. Nel Web browser completare le istruzioni visualizzate per accedere all'account Azure Databricks.

  4. 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>.

  5. 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 esempio https://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  6. 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 verrà sovrascritto da questo URL dell'area di lavoro.

    Per ottenere un elenco di tutti i 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 comando databricks auth env --profile <profile-name>.

  7. Nel Web browser completare le istruzioni visualizzate per accedere all'area di lavoro di Azure Databricks.

  8. Per visualizzare il valore corrente del token OAuth e il timestamp di scadenza imminente, eseguire il comando databricks auth token --host <workspace-url>.

  9. Usare l'opzione --profile o -p seguita dal nome del profilo di configurazione, come parte della chiamata al comando dell'interfaccia della riga di comando di Databricks, ad esempio databricks account groups list -p <configuration-profile-name> o databricks 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 Che cosa sono le identità gestite per le risorse di Azure? Vedere anche Autenticazione delle identità gestite di Azure.

Per creare un'identità gestita assegnata all'utente di Azure, fare come segue:

  1. 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. Vedere Configurare e usare l'autenticazione delle identità gestite di Azure per l'automazione di Azure Databricks.

  2. 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 seguenti valori 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 i comandi a livello di area di lavoro , impostare i seguenti valori nel 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é 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

    Il percorso predefinito per il .databrickscfg file si trova nella home directory dell'utente. Questo vuol dire ~ per Linux e macOS e %USERPROFILE% per Windows.

  3. Nella macchina virtuale di Azure, utilizzare l'interfaccia della riga di comando di Databricks con l'opzione --profile o -p seguita dal nome del profilo di configurazione per impostare il profilo che Databricks deve utilizzare, ad esempio databricks account groups list -p <configuration-profile-name> o databricks 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 del principale del servizio di Microsoft Entra ID

L'autenticazione tramite un'entità servizio di Microsoft Entra ID utilizza le credenziali di un'entità servizio di Microsoft Entra ID per l'autenticazione. Per creare e gestire entità servizio per Azure Databricks, vedere Entità servizio. Consultare anche l'autenticazione del principal del servizio MS Entra.

Per configurare e usare l'autenticazione dell'entità servizio Microsoft Entra ID, è necessario che l'Azure CLI sia installato in locale. Devi anche eseguire le seguenti operazioni:

  1. 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 seguenti valori 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 , impostare i seguenti valori nel 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 area di lavoro, se l'entità servizio Microsoft Entra ID di destinazione non è già stata aggiunta all'area di lavoro, si deve specificare insieme all'ID risorsa di Azure, anziché azure_workspace_resource_id insieme all'URL dell'area di lavoro. In questo caso, l'entità servizio principale Microsoft Entra ID di destinazione deve avere almeno le autorizzazioni di Collaboratore o Proprietario per la risorsa Azure.

    Nota

    Il percorso predefinito per il .databrickscfg file si trova nella home directory dell'utente. Questo vuol dire ~ per Linux e macOS e %USERPROFILE% per Windows.

  2. Usare l'opzione --profile o -p seguita dal nome del profilo di configurazione, come parte della chiamata al comando dell'interfaccia della riga di comando di Databricks, ad esempio databricks account groups list -p <configuration-profile-name> o databricks 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’Azure CLI

L'autenticazione di Azure CLI usa Azure CLI per autenticare l'entità autenticata. Vedere anche Autenticazione dell'interfaccia della riga di comando di Azure.

Per configurare l'autenticazione di Azure CLI, è necessario eseguire le seguenti operazioni:

  1. Assicurarsi che l'interfaccia della riga di comando di Azure sia installata a livello locale.

  2. Usare l'interfaccia della riga di comando di Azure per accedere ad Azure Databricks eseguendo il comando az login. Vedere Accesso dell'interfaccia della riga di comando di Azure con un account utente di Azure Databricks.

  3. 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 seguenti valori nel file .databrickscfg.

    [<some-unique-configuration-profile-name>]
    host       = <account-console-url>
    account_id = <account-id>
    

    Per i comandi a livello di area di lavoro , impostare i seguenti valori nel 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 vuol dire ~ per Linux e macOS e %USERPROFILE% per Windows.

  4. Usare l'opzione --profile o -p seguita dal nome del profilo di configurazione, come parte della chiamata al comando dell'interfaccia della riga di comando di Databricks, ad esempio databricks account groups list -p <configuration-profile-name> o databricks 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 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.

  1. Per qualsiasi comando eseguito dalla directory di lavoro del bundle (la radice del bundle e qualsiasi percorso annidato), i valori dei campi contenuti all'interno dei file delle impostazioni del bundle di un progetto. I file di impostazione bundle non supportano l'inclusione diretta dei valori delle credenziali di accesso.
  2. I valori delle variabili di ambiente, come indicato in questo articolo e in Variabili di ambiente e campi per l'autenticazione client unificata.
  3. Valori dei campi del profilo di configurazione 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. Viene impostata una variabile di ambiente DATABRICKS_TOKEN e il file .databrickscfg contiene anche più token di accesso personale. In questo esempio il Databricks CLI usa il valore della variabile d’ambiente DATABRICKS_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 ambiente DATABRICKS_TOKEN non è impostata e il file di .databrickscfg contiene più token di accesso personale. Il file di impostazioni bundle del progetto contiene una dev dichiarazione di ambiente che fa riferimento tramite il relativo profile campo un profilo di configurazione denominato DEV. In questo esempio, l'interfaccia della riga di comando di Databricks cerca nel file .databrickscfg un profilo il cui nome è DEV e utilizza il valore del campo token di quel 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 ambiente DATABRICKS_TOKEN non è impostata e il file di .databrickscfg contiene più token di accesso personale. Il file di impostazioni bundle del progetto contiene una dev dichiarazione di ambiente che fa riferimento tramite il relativo host campo un URL specifico dell'area di lavoro di Azure Databricks. In questo esempio, il Databricks CLI cerca tra i profili di configurazione all'interno del .databrickscfg file un profilo che contenga un host campo con un URL del workspace corrispondente. La CLI di Databricks trova un campo corrispondente host e quindi utilizza il valore del campo del profilo token.