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.
Le app possono usare la libreria di identità di Azure per eseguire l'autenticazione con Microsoft Entra ID, che consente alle app di accedere a servizi e risorse di Azure. Questo requisito di autenticazione si applica se l'app viene distribuita in Azure, ospitata in locale o in esecuzione in locale in una workstation per sviluppatori. Le sezioni precedenti descrivono gli approcci consigliati per autenticare un'app nell'ID Microsoft Entra in ambienti diversi quando si usano le librerie client di Azure SDK.
Approccio consigliato per l'autenticazione delle app
L'autenticazione basata su token tramite Microsoft Entra ID è l'approccio consigliato per l'autenticazione delle app in Azure, invece di usare stringhe di connessione o opzioni basate su chiavi. La libreria di identità di Azure fornisce classi che supportano l'autenticazione basata su token e consentono alle app di eseguire l'autenticazione alle risorse di Azure, indipendentemente dal fatto che l'app venga eseguita in locale, in Azure o in un server locale.
Vantaggi dell'autenticazione basata su token
L'autenticazione basata su token offre i vantaggi seguenti rispetto alle stringhe di connessione:
- L'autenticazione basata su token garantisce che solo le app specifiche destinate ad accedere alla risorsa di Azure possano farlo, mentre chiunque o qualsiasi app con una stringa di connessione può connettersi a una risorsa di Azure.
- L'autenticazione basata su token consente di limitare ulteriormente l'accesso alle risorse di Azure solo alle autorizzazioni specifiche necessarie per l'app. Questo segue il principio dei privilegi minimi. Al contrario, una stringa di connessione concede diritti completi alla risorsa di Azure.
- Quando si usa un'identità gestita per l'autenticazione basata su token, Azure gestisce automaticamente le funzioni amministrative, pertanto non è necessario preoccuparsi di attività come la protezione o la rotazione dei segreti. In questo modo l'app è più sicura perché non esiste una stringa di connessione o un segreto dell'applicazione che può essere compromesso.
- La libreria di identità di Azure acquisisce e gestisce automaticamente i token Microsoft Entra.
L'uso delle stringhe di connessione deve essere limitato agli scenari in cui l'autenticazione basata su token non è un'opzione, app di verifica iniziali o prototipi di sviluppo che non accedono a dati sensibili o di produzione. Quando possibile, usare le classi di autenticazione basate su token disponibili nella libreria di identità di Azure per eseguire l'autenticazione alle risorse di Azure.
Autenticazione in ambienti diversi
Il tipo specifico di autenticazione basata su token che un'app deve usare per eseguire l'autenticazione alle risorse di Azure dipende dalla posizione in cui viene eseguita l'app. Il diagramma seguente fornisce indicazioni per diversi scenari e ambienti:
Quando un'app è:
- Ospitato in Azure: l'app deve eseguire l'autenticazione alle risorse di Azure usando un'identità gestita. Questa opzione è illustrata in modo più dettagliato in autenticazione negli ambienti server.
- Esecuzione in locale durante lo sviluppo: l'app può eseguire l'autenticazione in Azure usando un'entità servizio dell'applicazione per lo sviluppo locale o usando le credenziali di Azure dello sviluppatore. Ogni opzione viene illustrata in modo più dettagliato nell'autenticazione durante lo sviluppo locale.
- Ospitato in locale: l'app deve eseguire l'autenticazione alle risorse di Azure usando un'entità servizio dell'applicazione o un'identità gestita nel caso di Azure Arc. I flussi di lavoro locali vengono illustrati in modo più dettagliato nell'autenticazione negli ambienti server.
Autenticazione per le app ospitate in Azure
Quando l'app è ospitata in Azure, può usare le identità gestite per l'autenticazione alle risorse di Azure senza dover gestire le credenziali. Esistono due tipi di identità gestite: assegnate dall'utente e assegnate dal sistema.
Usare un'identità gestita assegnata dall'utente
Un'identità gestita assegnata dall'utente viene creata come risorsa di Azure autonoma. Può essere assegnato a una o più risorse di Azure, consentendo a tali risorse di condividere la stessa identità e le stesse autorizzazioni. Per eseguire l'autenticazione usando un'identità gestita assegnata dall'utente, creare l'identità, assegnarla alla risorsa di Azure e quindi configurare l'app per usare questa identità per l'autenticazione specificando l'ID client, l'ID risorsa o l'ID oggetto.
Usare un'identità gestita assegnata dal sistema
Un'identità gestita assegnata dal sistema viene abilitata direttamente in una risorsa di Azure. L'identità è associata al ciclo di vita della risorsa e viene eliminata automaticamente quando la risorsa viene eliminata. Per eseguire l'autenticazione usando un'identità gestita assegnata dal sistema, abilitare l'identità nella risorsa di Azure e quindi configurare l'app per l'uso di questa identità per l'autenticazione.
Autenticazione durante lo sviluppo locale
Durante lo sviluppo locale, è possibile eseguire l'autenticazione alle risorse di Azure usando le credenziali dello sviluppatore o un'entità servizio. In questo modo è possibile testare la logica di autenticazione dell'app senza distribuirla in Azure.
Usare le credenziali per sviluppatori
È possibile usare le proprie credenziali di Azure per eseguire l'autenticazione alle risorse di Azure durante lo sviluppo locale. Questa operazione viene in genere eseguita usando uno strumento di sviluppo, ad esempio l'interfaccia della riga di comando di Azure o Visual Studio, che può fornire all'app i token necessari per accedere ai servizi di Azure. Questo metodo è pratico, ma deve essere usato solo a scopo di sviluppo.
Usare un'entità servizio
Un'entità servizio viene creata in un tenant di Microsoft Entra per rappresentare un'app e essere usata per eseguire l'autenticazione alle risorse di Azure. È possibile configurare l'applicazione per utilizzare le credenziali dell'account principale del servizio durante lo sviluppo locale. Questo metodo è più sicuro rispetto all'uso delle credenziali dello sviluppatore e si avvicina al modo in cui l'app eseguirà l'autenticazione nell'ambiente di produzione. Tuttavia, è ancora meno ideale rispetto all'uso di un'identità gestita a causa della necessità di segreti.
Autenticazione per le app ospitate in locale
Per le app ospitate in locale, è possibile usare un principale servizio per eseguire l'autenticazione alle risorse di Azure. Ciò implica la creazione di un'entità servizio in Microsoft Entra ID, l'assegnazione delle autorizzazioni necessarie e la configurazione dell'app per l'uso delle credenziali. Questo metodo consente all'app locale di accedere in modo sicuro ai servizi di Azure.