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 delle identità Azure per eseguire l'autenticazione a Microsoft Entra ID, che consente alle app di accedere ai servizi e alle risorse 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. Questo articolo descrive gli approcci consigliati per autenticare un'app per Microsoft Entra ID in ambienti diversi quando si usano le librerie client 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 da Azure, anziché usare stringhe di connessione o opzioni basate su chiavi. La libreria di identità Azure fornisce classi che supportano l'autenticazione basata su token e consentono alle app di eseguire l'autenticazione per Azure risorse 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 Azure possano accedervi, mentre chiunque o qualsiasi app con un connection string possa connettersi a una risorsa Azure.
- L'autenticazione basata su token consente di limitare Azure accesso alle risorse solo alle autorizzazioni specifiche necessarie per l'app. Questo approccio segue il principio dei privilegi minimi. Al contrario, un connection string concede diritti completi alla risorsa Azure.
- Quando si usa un'identità managed identity 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. Questo approccio rende l'app più sicura perché non sono presenti connection string o segreti dell'applicazione che possono essere compromessi.
- La libreria di identità Azure acquisisce e gestisce automaticamente i token Microsoft Entra.
Limitare l'uso delle stringhe di connessione 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 delle identità di Azure per eseguire l'autenticazione per Azure risorse.
Autenticazione in ambienti diversi
Il tipo specifico di autenticazione basata su token che un'app deve usare per eseguire l'autenticazione per Azure risorse dipende dalla posizione in cui viene eseguita l'app. Il diagramma seguente fornisce indicazioni per diversi scenari e ambienti:
Quando un'app è:
- Hosted in Azure: l'app deve eseguire l'autenticazione per Azure risorse usando un'identità gestita. Per altre informazioni, vedere la sezione Authentication for Azure-hosted apps.
- Esecuzione locale durante lo sviluppo: l'applicazione può eseguire l'autenticazione ad Azure usando un account sviluppatore, un broker o un'entità servizio principale. Per altre informazioni, vedere la sezione Autenticazione durante lo sviluppo locale .
- Ospitato in locale: l'app deve eseguire l'autenticazione per le risorse Azure usando un principal del servizio applicativo o un'identità gestita nel caso di Azure Arc. I flussi di lavoro locali vengono illustrati in modo più dettagliato in Autenticazione per le app ospitate in locale.
Autenticazione per le app ospitate Azure
Quando si ospita l'app in Azure, può usare le identità gestite per eseguire l'autenticazione per Azure risorse senza dover gestire le credenziali. Sono disponibili due tipi di identità gestite: assegnata dall'utente e assegnata dal sistema.
Usare un'identità gestita assegnata dall'utente
È possibile creare un'identità gestita assegnata dall'utente come risorsa autonoma Azure. È quindi possibile assegnarlo a una o più risorse Azure in modo che tali risorse possano 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 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
È possibile abilitare un'identità gestita assegnata dal sistema direttamente in una risorsa 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 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 per Azure risorse usando le credenziali dello sviluppatore, un broker o un'entità servizio. Usando uno di questi metodi, è 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 per Azure risorse durante lo sviluppo locale. In genere, si usa uno strumento di sviluppo, ad esempio Azure CLI, interfaccia della riga di comando per sviluppatori Azure, Azure PowerShell, Visual Studio Code o IntelliJ IDEA. Questi strumenti possono fornire all'app i token necessari per accedere ai servizi Azure. Questo metodo è pratico, ma è consigliabile usarlo solo a scopo di sviluppo.
Usare un broker
L'autenticazione negoziata raccoglie le credenziali utente usando il broker di autenticazione di sistema per autenticare un'app. Un broker di autenticazione di sistema viene eseguito nel computer di un utente e gestisce gli handshake di autenticazione e la manutenzione dei token per tutti gli account connessi.
Usare un'entità servizio
È possibile creare un'entità servizio in un tenant Microsoft Entra per rappresentare un'app ed effettuare 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 viene autenticata 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'entità servizio per eseguire l'autenticazione alle risorse di Azure. Ciò comporta 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 Azure.