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.
Il servizio app potrebbe dover connettersi ad altri servizi Azure, ad esempio un database, un'archiviazione o un'altra app. Questa panoramica consiglia diversi metodi per la connessione e quando usarli.
Oggi, la decisione per un approccio alla connettività è strettamente correlata alla gestione dei segreti. Il modello comune di utilizzo dei segreti di connessione nelle stringhe di connessione, ad esempio nome utente e password, chiave privata e così via, non è più considerato l'approccio più sicuro per la connettività. Il rischio è ancora più alto oggi perché gli attaccanti scansionano regolarmente i repository di GitHub pubblici alla ricerca di segreti di connessione accidentalmente condivisi. Per le applicazioni cloud, la gestione dei segreti migliore consiste nel non avere segreti. Quando si esegue la migrazione a Servizio app di Azure, l'app potrebbe iniziare con la connettività basata sui segreti e il servizio app consente di mantenere i segreti in modo sicuro. Tuttavia, Azure può contribuire a proteggere la connettività back-end dell'app tramite l'autenticazione Microsoft Entra, eliminando completamente i segreti nell'app.
| Metodo di connessione | Quando utilizzare |
|---|---|
| Connettersi utilizzando l'identità di un'app | * Si vogliono rimuovere completamente le credenziali, le chiavi o i segreti dall'applicazione. * Il servizio Azure downstream supporta l'autenticazione Microsoft Entra, ad esempio Microsoft Graph. * La risorsa downstream non deve conoscere l'utente connesso corrente o non richiede l'autorizzazione granulare dell'utente connesso corrente. |
| Connettersi per conto dell'utente connesso | * L'app deve accedere a una risorsa downstream per conto dell'utente connesso. * Il servizio Azure downstream supporta l'autenticazione Microsoft Entra, ad esempio Microsoft Graph. * La risorsa downstream deve eseguire un'autorizzazione granulare dell'utente connesso corrente. |
| Connettersi usando credenziali | * La risorsa downstream richiede segreti di connessione. * L'app si connette a servizi non Azure, ad esempio un server di database locale. * Il servizio Azure downstream non supporta ancora l'autenticazione Microsoft Entra. |
Accedere con l'identità dell'app
Se l'app usa già un singolo set di credenziali per accedere a un servizio di Azure downstream, è possibile convertire rapidamente la connessione per usare un'identità dell'app. Un'identità gestita da Microsoft Entra ID consente al servizio app di accedere alle risorse senza segreti e puoi gestire gli accessi tramite il controllo degli accessi in base al ruolo. Un'identità gestita può connettersi a qualsiasi risorsa di Azure che supporta l'autenticazione Microsoft Entra e l'autenticazione avviene con token di breve durata.
L'immagine seguente illustra una connessione del servizio app ad altri servizi Azure:
- L'utente visita il sito web del servizio app di Azure.
- B. Connettersi in modo sicuro dal servizio app a un altro servizio Azure tramite un'identità gestita.
- C: Connettersi in modo sicuro da App Service a Microsoft Graph usando un'identità gestita.
Esempi di uso dei segreti dell'applicazione per connettersi a un database:
- Tutorial: Connettersi ai database di Azure da App Service senza credenziali usando un'identità gestita
- Tutorial: Connessione al database SQL dal servizio app .NET senza segreti usando un'identità gestita
- Tutorial: Connettersi a un database PostgreSQL dal servizio app Java Tomcat senza credenziali usando un'identità gestita
Connettersi per conto dell'utente connesso
L'app potrebbe dover connettersi a un servizio downstream per conto dell'utente connesso. Il servizio app consente di autenticare facilmente gli utenti usando i provider di identità più comuni (vedere Authentication e autorizzazione in Servizio app di Azure e Funzioni di Azure). Se si usa il provider di Microsoft (autenticazione Microsoft Entra), è possibile passare l'utente connesso a qualsiasi servizio downstream. Ad esempio:
- Eseguire una query di database che restituisce dati riservati che l'utente connesso è autorizzato a leggere.
- Recuperare i dati personali o eseguire azioni come utente connesso in Microsoft Graph.
L'immagine seguente illustra un'applicazione che accede in modo sicuro a un database SQL per conto dell'utente connesso.
Di seguito sono illustrati alcuni scenari:
- Connetti a Microsoft Graph per conto dell'utente
- Connettersi a un database SQL per conto dell'utente
- Connettersi a un'altra app di App Service per conto dell'utente
- Guidare l'utente connesso attraverso più livelli di servizi a valle
Connettersi utilizzando i segreti
Esistono due modi consigliati per usare i segreti nell'app: l'uso dei segreti archiviati in Azure Key Vault o segreti nelle impostazioni dell'app del servizio app.
Usare segreti da Key Vault
Azure Key Vault può essere usato per archiviare in modo sicuro segreti e chiavi, monitorare l'accesso e l'uso dei segreti e semplificare l'amministrazione dei segreti dell'applicazione. Se il servizio downstream non supporta l'autenticazione Microsoft Entra o richiede un stringa di connessione o una chiave, usare Key Vault per archiviare i segreti e connettere l'app a Key Vault con un'identità gestita e recuperare i segreti. L'app può accedere ai segreti dell'insieme di credenziali delle chiavi come riferimenti a Key Vault nelle impostazioni dell'app.
I vantaggi delle identità gestite integrate con Key Vault includono:
- L'accesso al segreto del Key Vault è limitato all'app.
- I contributori dell'app, come ad esempio gli amministratori, potrebbero avere il controllo completo delle risorse del servizio App e, allo stesso tempo, non avere accesso ai segreti del Key Vault.
- Non è necessaria alcuna modifica al codice se il codice dell'applicazione accede già ai segreti di connessione con le impostazioni dell'app.
- Key Vault fornisce il monitoraggio e la verifica di chi ha eseguito l'accesso ai segreti.
- La rotazione dei segreti dell'insieme di credenziali delle chiavi non richiede modifiche nel servizio app.
L'immagine seguente illustra la connessione del servizio app a Key Vault usando un'identità gestita e quindi l'accesso a un servizio Azure usando i segreti archiviati in Key Vault:
Usare i segreti nelle impostazioni dell'app
Per le app che si connettono ai servizi usando segreti (ad esempio nomi utente, password e chiavi API), il servizio app può archiviarli in modo sicuro nelle impostazioni dell'app. Questi segreti vengono inseriti nel codice dell'applicazione come variabili di ambiente all'avvio dell'app. Le impostazioni dell'applicazione sono sempre crittografate durante l'archiviazione (crittografia a riposo). Per una gestione dei segreti più avanzata, ad esempio la rotazione dei segreti, i criteri di accesso e la cronologia di controllo, provare uso Key Vault.
Esempi di uso dei segreti dell'applicazione per connettersi a un database:
- Tutorial: distribuzione di un'applicazione ASP.NET Core e database SQL di Azure su Servizio app di Azure
- Tutorial: distribuire un'app ASP.NET in Azure con database SQL di Azure
- Tutorial: distribuire un'app PHP, MySQL e Redis in Servizio app di Azure
- Distribuire un'app Web Node.js + MongoDB per Azure
- Deploy un'app Web Python (Flask) con PostgreSQL in Azure
- Distribuire un'app Web Python (Django) con PostgreSQL in Azure
- Deploy un'app Web Python (FastAPI) con PostgreSQL in Azure
- Tutorial: Creare un'app Web Tomcat con Azure Servizio app in Linux e MySQL
- Tutorial: creare un'app Web Spring Boot Java con Azure Servizio app in Linux e Azure Cosmos DB
Contenuti correlati
- Archiviare in modo sicuro i segreti in Azure Key Vault.
- Accedere alle risorse usando un'identità gestita.
- Archiviare informazioni riservate usando le impostazioni dell'app di App Service.
- Connetti a Microsoft Graph come utente.
- Connettersi a un database SQL come utente.
- Connettersi a un'altra app del servizio app come utente.
- Come utente, connettersi a un'altra app di App Service e poi a un servizio a valle.