Condividi tramite


Autenticazione con token di accesso personale di Azure Databricks

I token di accesso personale (PAT) di Azure Databricks vengono usati per autenticare l'accesso alle risorse e alle API a livello di area di lavoro di Azure Databricks. Molti meccanismi di archiviazione per le credenziali e le informazioni correlate, ad esempio le variabili di ambiente e i profili di configurazione di Azure Databricks, forniscono il supporto per i token di accesso personale di Azure Databricks. Anche se gli utenti possono avere più token di accesso personale in un'area di lavoro di Azure Databricks, ogni token di accesso personale funziona per una sola area di lavoro di Azure Databricks. Il numero di token di accesso personale per utente è limitato a 600 per area di lavoro.

Databricks revoca automaticamente i token di accesso personali che non sono stati usati in 90 o più giorni.

Importante

Databricks consiglia vivamente l'uso di OAuth invece delle connessioni PAT per l'autenticazione e l'autorizzazione client dell'account utente a causa della maggiore sicurezza di OAuth. Per informazioni su come usare OAuth per eseguire l'autenticazione client con un account utente di Databricks, vedere Autorizzare l'accesso interattivo alle risorse di Azure Databricks con un account utente usando OAuth.

L'autenticazione di base (non basata su token) con un nome utente e una password di Azure Databricks ha raggiunto la fine del ciclo di vita il 10 luglio 2024.

Per automatizzare le funzionalità a livello di account di Azure Databricks, non è possibile usare i token di accesso personali di Azure Databricks. È invece necessario usare i token Microsoft Entra ID degli amministratori dell'account Azure Databricks. Gli amministratori dell'account Azure Databricks possono essere utenti o entità servizio. Per altre informazioni, vedi:

Token di accesso personale di Azure Databricks per gli utenti dell’area di lavoro

Per creare un token di accesso personale Azure Databricks, eseguire le attività seguenti:

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

  2. Fare clic su Sviluppatore.

  3. Accanto a Token di accesso fare clic su Gestisci.

  4. Fare clic su Genera nuovo token.

  5. Immettere un commento che consente di identificare questo token in futuro.

  6. Impostare la durata del token in giorni.

    Se si lascia vuota la casella Durata (giorni), la durata del token viene impostata sulla durata massima per l'area di lavoro. Per impostazione predefinita, la durata massima del token per un'area di lavoro è di 730 giorni. Vedere Impostare la durata massima dei nuovi token di accesso personale.

  7. Fare clic su Genera.

  8. Copiare il token visualizzato in un percorso sicuro e quindi fare clic su Fine.

Nota

Assicurarsi di salvare il token copiato in una posizione sicura. Non condividere il token copiato con altri utenti. Se si perde il token copiato, non è possibile rigenerare lo stesso esatto token. È 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 un token di accesso personale 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. Consultare l'amministratore dell'area di lavoro o i seguenti argomenti:

Token di accesso personale di Azure Databricks per le entità servizio

Un principale del servizio può creare token di accesso personali Databricks per sé, come segue:

Questa procedura presuppone che si usi l'autenticazione OAuth macchina a macchina (M2M) o l'autenticazione del principale servizio Microsoft Entra ID per configurare il CLI di Databricks e autenticare il principale servizio per generare i token di accesso personali di Azure Databricks. Vedere Autenticazione macchina-a-macchina (M2M) OAuth o autenticazione del principale di servizio Microsoft Entra ID.

  1. Usare la CLI di Databricks per eseguire il seguente comando, che genera un altro token di accesso per il principale del servizio.

    Esegui questo comando:

    databricks tokens create --comment <comment> --lifetime-seconds <lifetime-seconds> -p <profile-name>
    
    • --comment: sostituire <comment> con un commento significativo sullo scopo del token di accesso. Se l'opzione --comment non è specificata, non viene generato alcun commento.
    • --lifetime-seconds: sostituire <lifetime-seconds> con il numero di secondi in cui il token di accesso è valido. Ad esempio, 1 giorno equivale a 86.400 secondi. Se l'opzione --lifetime-seconds non è specificata, il token di accesso viene impostato sulla durata massima per l'area di lavoro. Per impostazione predefinita, la durata massima del token per un'area di lavoro è di 730 giorni.
    • --profile-name: sostituire <profile-name> con il nome di un profilo di configurazione di Azure Databricks che contiene informazioni di autenticazione per l'entità servizio e l'area di lavoro di destinazione. Se l'opzione -p non è specificata, la CLI di Databricks tenterà di trovare e usare un profilo di configurazione denominato DEFAULT.
  2. Nella risposta, copia il valore di token_value, che è il token di accesso per il principale del servizio.

    Assicurarsi di salvare il token copiato in una posizione sicura. Non condividere il token copiato con altri utenti. Se si perde il token copiato, non è possibile rigenerare lo stesso esatto token. È invece necessario ripetere questa procedura per creare un nuovo token.

    Se non è possibile creare o usare un token di accesso personale 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. Consultare l'amministratore dell'area di lavoro o quanto riportato di seguito:

Eseguire l'autenticazione con token di accesso personale di Azure Databricks

Per configurare l'autenticazione con token di accesso personale di Azure Databricks, dovete definire le seguenti variabili d'ambiente associate, .databrickscfg campi, campi Terraform o campi Config:

  • L'host di Azure Databricks, specificato come URL di Azure Databricks per area di lavoro di destinazione, ad esempio https://adb-1234567890123456.7.azuredatabricks.net.
  • Il token di accesso personale di Azure Databricks per l'account utente di Azure Databricks.

Per eseguire l'autenticazione del token di accesso personale di Azure Databricks, integrare quanto segue all'interno del codice, in base allo strumento o all'SDK partecipante:

Ambiente

Per usare le variabili di ambiente per un tipo di autenticazione di Azure Databricks specifico con uno strumento o un SDK, vedere Autorizzazione dell'accesso alle risorse di Azure Databricks o alla documentazione dello strumento o dell'SDK. Vedere anche Variabili di ambiente e campi per l'autenticazione client unificata e i metodi predefiniti per l'autenticazione unificata client.

Impostare le seguenti variabili di ambiente:

  • DATABRICKS_HOST, imposta l'URL di Azure Databricks per area di lavoro, ad esempio .
  • DATABRICKS_TOKEN, impostato sulla stringa del token.

Profilo

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 usare il profilo con uno strumento o un SDK, vedere Autorizzazione dell'accesso alle risorse di Azure Databricks o alla documentazione dello strumento o dell'SDK. Vedere anche Variabili di ambiente e campi per l'autenticazione client unificata e i metodi predefiniti per l'autenticazione unificata client.

Aggiungere i valori seguenti nel file .databrickscfg. In questo caso, l'host è l'URL di Azure Databricks per area di lavoro, ad esempio https://adb-1234567890123456.7.azuredatabricks.net:

[<some-unique-configuration-profile-name>]
host  = <workspace-url>
token = <token>

Anziché impostare manualmente i valori precedenti nel file .databrickscfg, è possibile usare l'interfaccia della riga di comando di Databricks per impostare questi valori, come indicato di seguito:

Nota

La procedura seguente usa l'interfaccia della riga di comando di Databricks per creare un profilo di configurazione di Azure Databricks con il nome DEFAULT. Se si dispone già di un DEFAULT profilo di configurazione, questa procedura sovrascrive il profilo di configurazione DEFAULT esistente.

Per verificare se si dispone già di un DEFAULT profilo di configurazione e per visualizzare le impostazioni di questo profilo, usare l'interfaccia della riga di comando di Databricks per eseguire il comando databricks auth env --profile DEFAULT.

Per creare un profilo di configurazione con un nome diverso da DEFAULT, sostituire la parte DEFAULT di --profile DEFAULT nel comando seguente databricks configure, come illustrato nel passaggio seguente, con un nome diverso per il profilo di configurazione.

  1. Usare l'interfaccia della riga di comando di Databricks per creare un profilo di configurazione di Azure Databricks denominato DEFAULT che usa l'autenticazione del token di accesso personale di Azure Databricks. A tale scopo, usare il comando seguente:

    databricks configure --profile DEFAULT
    
  2. Per il prompt dell'host Databricks immettere l'URL di Azure Databricks per area di lavoro, ad esempio https://adb-1234567890123456.7.azuredatabricks.net.

  3. Per il prompt Token di accesso personale, inserisci il token di accesso personale di Azure Databricks per il tuo spazio di lavoro.

Interfaccia a riga di comando (CLI)

Per la CLI di Databricks, eseguire il comando databricks configure. Immettere i valori seguenti al prompt:

  • L'host di Azure Databricks, specificato come URL di Azure Databricks per area di lavoro di destinazione, ad esempio https://adb-1234567890123456.7.azuredatabricks.net.
  • Il token di accesso personale di Azure Databricks per l'account utente di Azure Databricks.

Per altre informazioni, vedere Autenticazione del token di accesso personale di Azure Databricks.

Connessione

Nota

L'autenticazione del token di accesso personale di Azure Databricks è supportata nelle versioni seguenti di Databricks Connect:

  • Per il linguaggio Python, Databricks Connect per Databricks Runtime 13.3 LTS e versioni successive.
  • Per Scala, è disponibile Databricks Connect per Databricks Runtime 13.3 LTS e versioni successive.

Per Databricks Connect, è possibile usare l'interfaccia della riga di comando di Databricks per impostare i valori nel .databrickscfg file, per le operazioni a livello di area di lavoro di Azure Databricks come specificato nella sezione "Profilo" di questo articolo, come indicato di seguito:

Nota

La procedura seguente usa l'interfaccia della riga di comando di Databricks per creare un profilo di configurazione di Azure Databricks con il nome DEFAULT. Se si dispone già di un DEFAULT profilo di configurazione, questa procedura sovrascrive il profilo di configurazione DEFAULT esistente.

Per verificare se si dispone già di un DEFAULT profilo di configurazione e per visualizzare le impostazioni di questo profilo, usare l'interfaccia della riga di comando di Databricks per eseguire il comando databricks auth env --profile DEFAULT.

Per creare un profilo di configurazione con un nome diverso da DEFAULT, sostituire la DEFAULT parte di --profile DEFAULT nel databricks configure comando come illustrato nel passaggio seguente con un nome diverso per il profilo di configurazione.

  1. Usare l'interfaccia della riga di comando di Databricks per creare un profilo di configurazione di Azure Databricks denominato DEFAULT che usa l'autenticazione del token di accesso personale di Azure Databricks. A tale scopo, usare il comando seguente:

    databricks configure --configure-cluster --profile DEFAULT
    
  2. Per il prompt dell'host Databricks immettere l'URL di Azure Databricks per area di lavoro, ad esempio https://adb-1234567890123456.7.azuredatabricks.net.

  3. Per il prompt Token di accesso personale, inserisci il token di accesso personale di Azure Databricks per il tuo spazio di lavoro.

  4. Nell'elenco dei cluster disponibili visualizzati, usare i tasti freccia su e freccia giù per selezionare il cluster di Azure Databricks di destinazione nell'area di lavoro e quindi premere Enter. È anche possibile digitare qualsiasi parte del nome visualizzato del cluster per filtrare l'elenco dei cluster disponibili.

Usare l'API REST di Azure Databricks per rilasciare token di accesso personali

Azure Databricks fornisce un endpoint /api/2.0/token/create REST per rilasciare Token di Accesso Personali. Per informazioni dettagliate sull'API, vedere Creare un token utente .

È necessario specificare valori specifici per l'API REST. Nell'esempio seguente impostare questi valori:

  • Sostituire <databricks-instance> con l'URL dell'area di lavoro di Databricks. Ad esempio: dbc-abcd1234-5678.cloud.databricks.com.
  • Sostituire <your-existing-access-token> con una stringa (PAT) valida esistente che dispone delle autorizzazioni per creare nuovi token.

Specificare i valori per questi parametri:

  • comment: una descrizione per il nuovo token.
  • lifetime_seconds: durata del token in secondi.
curl -X POST https://<databricks-instance>/api/2.0/token/create \
-H "Authorization: Bearer <your-existing-access-token>" \
-H "Content-Type: application/json" \
-d '{
  "comment": "New PAT using DB API",
  "lifetime_seconds": <lifetime-of-pat-in-seconds>
}'

Il -d flag fornisce il payload JSON per la richiesta.

In caso di esito positivo, viene restituito un payload di risposta simile al seguente:

{
  "access_token": "<your-newly-issued-pat>",
  "token_type": "Bearer",
  "expires_in": <the-duration-of-the-new-pat>
}

Specificare il nuovo token dalla risposta nell'intestazione Autorizzazione delle chiamate successive alle API REST di Databricks. Ad esempio:

# This example uses a simple GET. For POST or other REST verbs, you may need to provide additional parameters.
curl -X GET "https://<databricks-instance>/api/2.0/<path-to-endpoint>" \
     -H "Authorization: Bearer <your-new-pat>"
import requests

headers = {
    'Authorization': 'Bearer <your-new-pat>'
}
# This example is for an HTTP GET operation.
response = requests.get('https://<databricks-instance>/api/2.0/<path-to-endpoint>', headers=headers)