Condividi tramite


Accesso a PowerShell con un principale del servizio Microsoft Entra ID

Seguire questi passaggi per usare PowerShell per accedere ad Azure Databricks con un principale del servizio Microsoft Entra ID. Per informazioni sulle entità servizio di Azure Databricks, vedere Gestire le entità servizio.

Importante

Le entità servizio gestite di Azure Databricks vengono gestite direttamente in Azure Databricks. I principali del servizio gestiti di Microsoft Entra ID vengono gestiti 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 i principali di servizio gestiti da Microsoft Entra ID nei casi in cui è necessario eseguire l'autenticazione con Azure Databricks e altre risorse di Azure contemporaneamente.

Per creare un'entità di servizio gestita di Azure Databricks anziché un'entità di servizio gestita di Microsoft Entra ID, vedere Gestione delle entità di servizio.

  1. Raccogliere le seguenti informazioni:

    Parametro Descrizione
    Tenant ID L'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 Il Value del segreto del client per l'applicazione collegata registrata in Microsoft Entra ID.
  2. Accedi al principale del servizio ad Azure utilizzando PowerShell per eseguire le seguenti righe di codice, una alla volta, e concludi chiamando il cmdlet Connect-AzAccount.

    $SecurePassword = ConvertTo-SecureString -String "<Client-secret>" -AsPlainText -Force
    $TenantId = "<Tenant-ID>"
    $ApplicationId = "<Client-ID>"
    $Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $ApplicationId, $SecurePassword
    Connect-AzAccount -ServicePrincipal -TenantId $TenantId -Credential $Credential
    

    Nota

    Se un messaggio di errore indica che il Connect-AzAccount cmdlet non è riconosciuto, installarlo eseguendo il cmdlet seguente:

    Install-Module -Name Az -Repository PSGallery -Force
    
  3. Verifica di esserti connesso alla sottoscrizione corretta per il tuo principale di accesso al servizio. Per ottenere il nome e l'ID della sottoscrizione a cui hai effettuato l'accesso, nonché l'ID tenant correlato della sottoscrizione, eseguire il seguente cmdlet:

    Get-AzContext | Select-Object -ExpandProperty Subscription
    

    Se non si è certi della sottoscrizione corretta, ad esempio è 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 visualizzata della risorsa dell'area di lavoro di Azure Databricks, fare clic su Panoramica nella barra laterale. Quindi cercare il campo ID sottoscrizione, il quale contiene l'ID sottoscrizione.

    Se non è possibile accedere al portale di Azure, ma si ha accesso alla console dell'account Azure Databricks, è possibile ottenere la sottoscrizione corretta per un'area di lavoro di Azure Databricks come indicato di seguito:

    1. Prendere nota del nome programmatico dell'area di lavoro, che si trova accanto al nome utente nella barra di spostamento dell'area di lavoro.
    2. Fare clic sul nome utente >Gestisci Account nella barra di navigazione dell'area di lavoro.
    3. Nella barra laterale, fare clic su Aree di lavoro.
    4. Nella casella Filtra aree di lavoro immettere il nome programmatico dell'area di lavoro e premere Enter.
    5. Fare clic sul nome programmatico dell'area di lavoro nell'elenco dei risultati.
    6. Prendere nota del campo Sottoscrizione , che contiene l'ID sottoscrizione.

    Se è necessario passare a una sottoscrizione diversa, eseguire il cmdlet Set-AzContext usando il parametro -Name o -Subscription per specificare il nome o l'ID della sottoscrizione corretta.

    Set-AzContext -Name "<subscription-name>"
    
    # Or ...
    
    Set-AzContext -Subscription <subscription-id>
    

    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 Connect-AzAccount cmdlet, 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.

    Connect-AzAccount -Tenant <tenant-id>