Condividi tramite


Accesso a PowerShell con un'entità servizio Microsoft Entra ID

Seguire questa procedura per usare PowerShell per accedere ad Azure Databricks con un'entità 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. 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.

  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 all'entità servizio di Azure usando PowerShell per eseguire le righe di codice seguenti, una riga alla volta, concludendo con la chiamata al cmdlet Connessione-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. Verificare di aver eseguito l'accesso alla sottoscrizione corretta per l'entità servizio connesso. Per ottenere il nome e l'ID della sottoscrizione con accesso, nonché l'ID tenant correlato della sottoscrizione, eseguire il cmdlet seguente:

    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 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 è 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 spostamento 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 Set-AzContext cmdllet usando il parametro o -Subscription per specificare il nome o l'ID -Name della sottoscrizione corretti.

    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>