Condividi tramite


Autenticare le app .NET nei servizi di Azure durante lo sviluppo locale usando gli account per sviluppatori

Durante lo sviluppo locale, le applicazioni devono eseguire l'autenticazione in Azure per usare servizi di Azure diversi. Eseguire l'autenticazione in locale usando uno di questi approcci:

Questo articolo illustra come eseguire l'autenticazione usando un account per sviluppatore con gli strumenti supportati dalla libreria di identità di Azure. Nelle sezioni seguenti si apprenderà:

  • Come usare i gruppi di Microsoft Entra per gestire in modo efficiente le autorizzazioni per più account per sviluppatori.
  • Come assegnare ruoli agli account sviluppatore per limitare le autorizzazioni.
  • Come accedere agli strumenti di sviluppo locali supportati.
  • Come eseguire l'autenticazione usando un account sviluppatore dal codice dell'app.

Strumenti di sviluppo supportati per l'autenticazione

Affinché un'app esegua l'autenticazione in Azure durante lo sviluppo locale usando le credenziali di Azure dello sviluppatore, lo sviluppatore deve accedere ad Azure da uno degli strumenti di sviluppo seguenti:

  • Interfaccia CLI di Azure
  • CLI per sviluppatori di Azure
  • Azure PowerShell
  • Visual Studio
  • Visual Studio Code

La libreria di identità di Azure può rilevare che lo sviluppatore ha eseguito l'accesso da uno di questi strumenti. La libreria può quindi ottenere il token di accesso di Microsoft Entra tramite lo strumento per autenticare l'app in Azure come utente connesso.

Questo approccio sfrutta gli account Azure esistenti dello sviluppatore per semplificare il processo di autenticazione. Tuttavia, l'account di uno sviluppatore ha probabilmente più autorizzazioni rispetto a quelle richieste dall'app, quindi supera le autorizzazioni eseguite dall'app nell'ambiente di produzione. In alternativa, è possibile creare principali del servizio dell'applicazione da usare durante lo sviluppo locale, che possono essere configurati per avere solo l'accesso necessario all'app.

Creare un gruppo Microsoft Entra per lo sviluppo locale

Per lo sviluppo locale, creare un gruppo Microsoft Entra per racchiudere i ruoli (autorizzazioni) necessari all'applicazione, invece di assegnare i ruoli ai singoli oggetti principale di servizio. Questo approccio offre i vantaggi seguenti:

  • Ogni sviluppatore ha gli stessi ruoli assegnati a livello di gruppo.
  • Se è necessario un nuovo ruolo per l'app, deve essere aggiunto solo al gruppo dell'app.
  • Se un nuovo sviluppatore si aggiunge al team, viene creata una nuova entità servizio dell'applicazione per lo sviluppatore e aggiunta al gruppo, assicurando che lo sviluppatore disponga delle autorizzazioni appropriate per lavorare sull'app.
  1. Vai alla pagina di panoramica ID Entra di Microsoft nel portale di Azure.

  2. Selezionare Tutti i gruppi dal menu a sinistra.

  3. Nella pagina Gruppi , selezionare Nuovo gruppo .

  4. Nella pagina Nuovo gruppo, compila i seguenti campi del modulo:

    • Tipo di gruppo: selezionare Security.
    • Nome gruppo: immettere un nome per il gruppo che include un riferimento al nome dell'app o dell'ambiente.
    • Descrizione gruppo: immettere una descrizione che spiega lo scopo del gruppo.

    Screenshot che mostra come creare un gruppo nel portale di Azure.

  5. Seleziona il link Nessun membro selezionato nella sezione Membri per aggiungere membri al gruppo.

  6. Nel pannello a comparsa che si apre, cercare l'entità servizio creata in precedenza e selezionarla dai risultati filtrati. Scegliere il pulsante Seleziona nella parte inferiore del pannello per confermare la selezione.

  7. Selezionare Crea nella parte inferiore della pagina Nuovo gruppo per creare il gruppo e tornare alla pagina Tutti i gruppi. Se il nuovo gruppo non è elencato, attendere un attimo e aggiornare la pagina.

Assegnare ruoli al gruppo

Successivamente, determinare i ruoli (autorizzazioni) necessari per l'app in base alle risorse e assegnare tali ruoli al gruppo Microsoft Entra creato. Ai gruppi può essere assegnato un ruolo nell'ambito della risorsa, del gruppo di risorse o della sottoscrizione. Questo esempio illustra come assegnare ruoli nell'ambito del gruppo di risorse, poiché la maggior parte delle app raggruppa tutte le risorse di Azure in un singolo gruppo di risorse.

  1. Nel portale di Azure passare alla pagina Panoramica del gruppo di risorse che contiene l'app.

  2. Selezionare Access control (IAM) dal menu di navigazione a sinistra.

  3. Nella pagina Controllo di accesso (IAM), selezionare + Aggiungi e quindi scegliere Assegna ruolo dal menu a discesa. Nella pagina Aggiungi assegnazione di ruolo sono disponibili diverse schede per configurare e assegnare ruoli.

  4. Nella scheda Ruolo, usare la casella di ricerca per individuare il ruolo da assegnare. Selezionare il ruolo e quindi scegliere Avanti.

  5. Nella scheda membri :

    • Per assegnare l'accesso al valore di , selezionare utente, gruppo o principale di servizio.
    • Per il valore membri , scegliere + Seleziona membri per aprire il riquadro a comparsa Seleziona membri.
    • Cercare il gruppo Microsoft Entra creato in precedenza e selezionarlo nei risultati filtrati. Scegliere Selezionare per selezionare il gruppo e chiudere il pannello a comparsa.
    • Selezionare Rivedi e assegna nella parte inferiore della scheda Membri.

    Screenshot che mostra come assegnare un ruolo al gruppo Microsoft Entra.

  6. Nella scheda Rivedi e assegna, seleziona Rivedi e assegna, nella parte inferiore della pagina.

Accedere ad Azure con gli strumenti per sviluppatori

Accedere quindi ad Azure usando uno dei diversi strumenti di sviluppo che possono essere usati per eseguire l'autenticazione nell'ambiente di sviluppo. L'account autenticato deve esistere anche nel gruppo Microsoft Entra creato e configurato in precedenza.

Gli sviluppatori che usano Visual Studio 2017 o versione successiva possono eseguire l'autenticazione usando il proprio account sviluppatore tramite l'IDE. Le app che usano DefaultAzureCredential o VisualStudioCredential possono individuare e usare questo account per autenticare le richieste di app durante l'esecuzione in locale. Questo account viene usato anche quando si pubblicano app direttamente da Visual Studio in Azure.

Importante

È necessario installare il carico di lavoro Sviluppo di Azure per abilitare gli strumenti di Visual Studio per l'autenticazione, lo sviluppo e la distribuzione di Azure.

  1. In Visual Studio passare a Opzioni strumenti> per aprire la finestra di dialogo opzioni.

  2. Nella casella Opzioni di ricerca nella parte superiore digitare Azure per filtrare le opzioni disponibili.

  3. In Autenticazione del servizio di Azure scegliere Selezione account.

  4. Selezionare il menu a discesa in Scegliere un account e scegliere di aggiungere un account Microsoft.

  5. Nella finestra visualizzata immettere le credenziali per l'account Azure desiderato e quindi confermare gli input.

    Screenshot che mostra come accedere ad Azure con Visual Studio.

  6. Selezionare OK per chiudere la finestra di dialogo delle opzioni.

Eseguire l'autenticazione ai servizi di Azure dall'app

La libreria di identità di Azure fornisce implementazioni di TokenCredential che supportano vari scenari e flussi di autenticazione di Microsoft Entra. I passaggi successivi illustrano come usare DefaultAzureCredential o una credenziale specifica dello strumento di sviluppo quando si usano gli account utente in locale.

Implementare il codice

Completa i passaggi seguenti:

  1. Aggiungere riferimenti ai pacchetti Azure.Identity e Microsoft.Extensions.Azure nel progetto:

    dotnet add package Azure.Identity
    dotnet add package Microsoft.Extensions.Azure
    
  2. In Program.cs aggiungere using direttive per gli spazi dei nomi di Azure.Identity e Microsoft.Extensions.Azure.

  3. Registrare il client del servizio di Azure utilizzando il corrispondente metodo di estensione con prefisso Add.

    È possibile accedere ai servizi di Azure usando classi client specializzate dalle librerie client di Azure SDK. Registrare questi tipi di client in modo che sia possibile accedervi tramite l'iniezione delle dipendenze nell'app.

  4. Passare un'istanza TokenCredential al metodo UseCredential. Esempi comuni TokenCredential includono:

    • DefaultAzureCredential Istanza ottimizzata per lo sviluppo locale. In questo esempio la variabile di ambiente viene impostata AZURE_TOKEN_CREDENTIALS su dev. Per altre informazioni, vedere Escludere una categoria di tipi di credenziali.

      builder.Services.AddAzureClients(clientBuilder =>
      {
          clientBuilder.AddBlobServiceClient(
              new Uri("https://<account-name>.blob.core.windows.net"));
      
          DefaultAzureCredential credential = new(
              DefaultAzureCredential.DefaultEnvironmentVariableName);
          clientBuilder.UseCredential(credential);
      });
      
    • Istanza di una credenziale corrispondente a uno strumento di sviluppo specifico, ad esempio VisualStudioCredential.

      builder.Services.AddAzureClients(clientBuilder =>
      {
          clientBuilder.AddBlobServiceClient(
              new Uri("https://<account-name>.blob.core.windows.net"));
      
          VisualStudioCredential credential = new();
          clientBuilder.UseCredential(credential);
      });
      

    Suggerimento

    Quando il team usa più strumenti di sviluppo per l'autenticazione con Azure, preferisce un'istanza di sviluppo locale ottimizzata per lo sviluppo rispetto alle credenziali specifiche degli DefaultAzureCredential strumenti.