Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Durante lo sviluppo locale, le applicazioni devono eseguire l'autenticazione in Azure per accedere a vari servizi di Azure. Due approcci comuni per l'autenticazione locale sono l'utilizzo di un principale del servizio o l'utilizzo di un account sviluppatore. Questo articolo illustra come usare un account per sviluppatore. 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 per sviluppatori per le autorizzazioni di ambito
- Come accedere agli strumenti di sviluppo locali supportati
- Come eseguire l'autenticazione usando un account sviluppatore dal codice dell'app
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
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.
Vai alla pagina di panoramica ID Entra di Microsoft nel portale di Azure.
Selezionare Tutti i gruppi dal menu a sinistra.
Nella pagina Gruppi , selezionare Nuovo gruppo .
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.
Seleziona il link Nessun membro selezionato nella sezione Membri per aggiungere membri al gruppo.
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.
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.
Nel portale di Azure passare alla pagina Panoramica del gruppo di risorse che contiene l'app.
Selezionare Access control (IAM) dal menu di navigazione a sinistra.
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.
Nella scheda Ruolo, usare la casella di ricerca per individuare il ruolo da assegnare. Selezionare il ruolo e quindi scegliere Avanti.
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.
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.
In Visual Studio passare a Opzioni strumenti> per aprire la finestra di dialogo opzioni.
Nella casella Opzioni di ricerca nella parte superiore digitare Azure per filtrare le opzioni disponibili.
In Autenticazione del servizio di Azure scegliere Selezione account.
Selezionare il menu a discesa in Scegliere un account e scegliere di aggiungere un account Microsoft.
Nella finestra visualizzata immettere le credenziali per l'account Azure desiderato e quindi confermare gli input.
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 varie credenziali , ossia implementazioni di TokenCredential
adattate al supporto di diversi scenari e flussi di autenticazione di Microsoft Entra. I passaggi successivi illustrano come usare DefaultAzureCredential quando si lavora con gli account utente in locale.
Implementare il codice
DefaultAzureCredential è una sequenza ordinata e predeterminata di meccanismi per l'autenticazione in Microsoft Entra ID. Ogni meccanismo di autenticazione è una classe derivata dalla classe TokenCredential DefaultAzureCredential
tenta di eseguire l'autenticazione usando la prima credenziale. Se tale credenziale non riesce ad acquisire un token di accesso, viene tentata la credenziale successiva nella sequenza e così via finché non viene ottenuto correttamente un token di accesso. In questo modo, l'app può usare credenziali diverse in ambienti diversi senza scrivere codice specifico dell'ambiente.
Per usare DefaultAzureCredential
, aggiungere il Azure.Identity e facoltativamente i pacchetti Microsoft.Extensions.Azure all'applicazione:
In un terminale di propria scelta passare alla directory del progetto dell'applicazione ed eseguire i comandi seguenti:
dotnet add package Azure.Identity
dotnet add package Microsoft.Extensions.Azure
È possibile accedere ai servizi di Azure usando classi client specializzate dalle varie librerie client di Azure SDK. Queste classi e i tuoi servizi personalizzati devono essere registrati affinché possano essere accessibili tramite dependency injection in tutta l'app. In Program.cs
completare i passaggi seguenti per registrare una classe client e DefaultAzureCredential
:
- Includere i namespace
Azure.Identity
eMicrosoft.Extensions.Azure
tramite direttiveusing
. - Registrare il client del servizio di Azure utilizzando il corrispondente metodo di estensione con prefisso
Add
. - Passa un'istanza di
DefaultAzureCredential
al metodoUseCredential
.
builder.Services.AddAzureClients(clientBuilder =>
{
clientBuilder.AddBlobServiceClient(
new Uri("https://<account-name>.blob.core.windows.net"));
clientBuilder.UseCredential(new DefaultAzureCredential());
});
Un'alternativa al metodo UseCredential
consiste nel fornire direttamente le credenziali al client del servizio:
builder.Services.AddSingleton<BlobServiceClient>(_ =>
new BlobServiceClient(
new Uri("https://<account-name>.blob.core.windows.net"),
new DefaultAzureCredential()));