Share via


Ottenere i token di Microsoft Entra ID (in precedenza Azure Active Directory) per le entità servizio Microsoft Entra ID usando l'interfaccia della riga di comando di Azure

Importante

Questo articolo descrive come creare manualmente i token di Microsoft Entra ID (in precedenza Azure Active Directory) per le entità servizio Microsoft Entra ID usando l'interfaccia della riga di comando di Azure.

Le entità servizio gestite di Azure Databricks vengono gestite direttamente in Azure Databricks. Le entità servizio gestite da Microsoft Entra ID vengono gestite in Microsoft Entra ID, che richiede autorizzazioni aggiuntive. Databricks consiglia di usare le entità servizio gestite di Azure Databricks per la maggior parte dei casi d'uso. Tuttavia, Databricks consiglia di usare le entità servizio gestite con ID Microsoft Entra nei casi in cui è necessario eseguire l'autenticazione con Azure Databricks e altre risorse di Azure contemporaneamente.

Per creare un'entità servizio gestita di Azure Databricks anziché un'entità servizio gestita con ID Microsoft Entra, vedere Gestire le entità servizio.

Databricks non consiglia di creare manualmente i token microsoft Entra ID (in precedenza Azure Active Directory) per le entità servizio Microsoft Entra ID. Ciò è dovuto al fatto che ogni token ID di Microsoft Entra è di breve durata, in genere scaduto entro un'ora. Dopo questa volta, è necessario generare manualmente un token ID Microsoft Entra sostitutivo. Usare invece uno degli strumenti o degli SDK partecipanti che implementano lo standard di autenticazione unificata del client Databricks. Questi strumenti e SDK generano e sostituiscono automaticamente i token ID Microsoft Entra scaduti, sfruttando i tipi di autenticazione di Databricks seguenti:

È possibile usare l'interfaccia della riga di comando di Azure per ottenere i token di accesso di Microsoft Entra ID per le entità servizio Microsoft Entra ID.

  1. Raccogliere le seguenti informazioni:

    Parametro Descrizione
    Tenant ID Oggetto Directory (tenant) ID per l'applicazione correlata registrata in Microsoft Entra ID.
    Client ID Oggetto Application (client) ID per l'applicazione correlata registrata in Microsoft Entra ID.
    Client secret Oggetto Value del segreto client per l'applicazione correlata registrata in Microsoft Entra ID.
  2. Ottenere l'ID sottoscrizione di Azure corretto per l'entità servizio Microsoft Entra ID, se non si conosce già questo ID, eseguendo una delle operazioni seguenti:

    • Nella barra di spostamento superiore dell'area di lavoro di Azure Databricks fare clic sul nome utente e quindi su Portale di Azure. Nella pagina della risorsa dell'area di lavoro di Azure Databricks visualizzata fare clic su Panoramica nella barra laterale. Cercare quindi il campo ID sottoscrizione, che contiene l'ID sottoscrizione.

    • Usare l'interfaccia della riga di comando di Azure per eseguire il comando az databricks workspace list usando le --query opzioni e -o e --output per limitare i risultati. Sostituire adb-0000000000000000.0.azuredatabricks.net con il nome dell'istanza dell'area di lavoro, non incluso .https:// In questo esempio, il 00000000-0000-0000-0000-000000000000 valore after /subscriptions/ nell'output è l'ID sottoscrizione.

      az databricks workspace list --query "[?workspaceUrl==\`adb-0000000000000000.0.azuredatabricks.net\`].{id:id}" -o tsv
      
      # /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Databricks/workspaces/my-ws
      

      Se viene visualizzato il messaggio seguente, si è connessi al tenant errato: The subscription of '<subscription-id>' doesn't exist in cloud 'AzureCloud'. per accedere al tenant corretto, è necessario eseguire di nuovo il az login comando usando l'opzione -t o --tenant per specificare l'ID tenant corretto.

      È possibile ottenere l'ID tenant per un'area di lavoro di Azure Databricks eseguendo il comando curl -v <per-workspace-URL>/aad/auth e cercando nell'output < location: https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000, dove 00000000-0000-0000-0000-000000000000 è l'ID tenant. Vedere anche Ottenere gli ID sottoscrizione e tenant nel portale di Azure.

      az login -t <tenant-id>
      
  3. Dopo aver ottenuto l'ID tenant di Azure corretto, l'ID client, il segreto client e l'ID sottoscrizione per l'entità servizio Microsoft Entra ID, accedere ad Azure usando l'interfaccia della riga di comando di Azure per eseguire il comando az login . Usare l'opzione --service-principal insieme alla specifica dei valori per i parametri di Tenant ID (Directory (tenant) ID), Client ID (Application (client) ID) e Client secret (Value) per l'applicazione correlata registrata in Microsoft Entra ID (in precedenza Azure Active Directory).

    az login \
    --service-principal \
    -t <Tenant-ID> \
    -u <Client-ID> \
    -p <Client-secret>
    
  4. Verificare di aver eseguito l'accesso alla sottoscrizione corretta per l'entità servizio Microsoft Entra ID connesso. A tale scopo, eseguire il comando az account set usando l'opzione -s o --subscription per specificare l'ID sottoscrizione corretto.

    az account set -s <subscription-id>
    
  5. Generare il token di accesso Microsoft Entra ID per l'entità servizio Microsoft Entra ID connesso eseguendo il comando az account get-access-token . Usare l'opzione --resource per specificare l'ID risorsa univoco per il servizio Azure Databricks, ovvero 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d. È possibile visualizzare solo il valore del token Microsoft Entra ID (in precedenza Azure Active Directory) nell'output del comando usando le --query opzioni e o --output-o .

    az account get-access-token \
    --resource 2ff814a6-3304-4ab8-85cb-cd0e6f879c1d \
    --query "accessToken" \
    -o tsv
    

Nota

L'interfaccia della riga di comando di Azure basata su MSAL usa Microsoft Authentication Library (MSAL) come libreria di autenticazione sottostante. Se non è possibile usare correttamente il token di accesso microsoft Entra ID generato dall'interfaccia della riga di comando di Azure, in alternativa è possibile provare a usare DIRETTAMENTE MSAL per ottenere un token di accesso microsoft Entra ID per un'entità servizio Microsoft Entra ID. Vedere Ottenere i token di Microsoft Entra ID (in precedenza Azure Active Directory) per le entità servizio.