Accesso all'interfaccia della riga di comando di Azure con un'entità servizio di Azure

Seguire questa procedura per usare l'interfaccia della riga di comando di Azure per accedere ad Azure Databricks con un'entità servizio di Azure. Per informazioni sulle entità servizio di Azure Databricks, vedere Effettuare il provisioning di un'entità servizio per l'automazione di Azure Databricks - Interfaccia utente di Azure Databricks e Gestire le entità servizio.

  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. 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. Usare l'opzione --output per visualizzare l'output del comando in un formato diverso (in questo caso, una tabella anziché JSON) per migliorare la leggibilità.

    az login \
    --service-principal \
    --tenant <Tenant-ID> \
    --username <Client-ID> \
    --password <Client-secret> \
    --output table
    
  3. Verificare di aver eseguito l'accesso alla sottoscrizione corretta per l'entità servizio Microsoft Entra ID connesso. A tale scopo, nell'output del az login comando cercare la riga della tabella in cui IsDefault è impostato su True. La sottoscrizione Name indica la sottoscrizione corrente.

    Se non si è certi della sottoscrizione corretta, vedere Ottenere gli ID sottoscrizione e tenant nel portale di Azure. In alternativa, provare a eseguire il az databricks workspace list comando più avanti in questo passaggio.

    Se è necessario passare a una sottoscrizione diversa, eseguire il comando az account set usando l'opzione o --subscription per specificare il nome o l'ID --name della sottoscrizione corretti.

    az account set --name "<subscription-name>"
    
    # Or ...
    
    az account set --subscription <subscription-id>
    

    È possibile ottenere l'ID sottoscrizione per un'area di lavoro di Azure Databricks facendo clic sul nome utente >portale di Azure nella barra di spostamento dell'area di lavoro. 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.

    Se non si ha accesso al portale di Azure, è possibile ottenere l'ID sottoscrizione per un'area di lavoro di Azure Databricks eseguendo il comando az databricks workspace list usando le --query opzioni e --output per restringere 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}" --output 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 --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 --tenant <tenant-id> --output table