Autenticazione e rete di App Service
Abiliti i provider di autenticazione integrati (Entra ID, Google, GitHub) per la Sua web app e limiti il traffico in entrata usando l'integrazione con VNet e le restrizioni di accesso.
Autenticazione e rete di App Service è una lezione Cloud & IT Cert Prep gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cloud & IT Cert Prep, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.
Autenticazione integrata in App Service
Azure App Service offre un modulo di autenticazione e autorizzazione integrato, talvolta chiamato EasyAuth, che gestisce i flussi di accesso, la convalida dei token e la gestione delle sessioni senza richiedere modifiche al codice dell'applicazione. È possibile abilitarlo direttamente nel portale di Azure e scegliere tra diversi provider di identità. Questa soluzione è ideale per aggiungere rapidamente l'autenticazione a un'API o a uno strumento interno senza implementare personalmente i flussi OAuth.
Provider di identità supportati
L'autenticazione di App Service supporta nativamente diversi provider di identità: Microsoft Entra ID (per gli accessi aziendali), Google, Facebook, Twitter/X, GitHub e qualsiasi provider compatibile con OpenID Connect. È necessario registrare l'app presso il provider scelto per ottenere un ID client e un segreto, quindi configurare questi valori in App Service. È possibile abilitare più provider contemporaneamente, consentendo agli utenti di scegliere come accedere.
# Enable Microsoft Entra ID authentication via CLI
az webapp auth microsoft update \
--name MyUniqueWebApp \
--resource-group MyRG \
--client-id '<Entra-App-Client-ID>' \
--client-secret '<Client-Secret>' \
--issuer 'https://sts.windows.net/<TenantId>/'
# Set action when unauthenticated (redirect or 401)
az webapp auth update \
--name MyUniqueWebApp \
--resource-group MyRG \
--unauthenticated-client-action RedirectToLoginPageArchivio dei token e accesso ai claim dell'utente
Quando l'autenticazione è abilitata, App Service memorizza i token convalidati nel token store, un archivio persistente per ogni sessione utente. Il codice dell'applicazione può accedere ai claim dell'utente autenticato tramite speciali intestazioni delle richieste HTTP inserite dal modulo EasyAuth: X-MS-CLIENT-PRINCIPAL-NAME (email/UPN), X-MS-CLIENT-PRINCIPAL-ID (ID oggetto) e X-MS-TOKEN-AAD-ACCESS-TOKEN per il token di accesso non elaborato.
// Node.js: read user identity from EasyAuth headers
app.get('/profile', (req, res) => {
const userName = req.headers['x-ms-client-principal-name'];
const userId = req.headers['x-ms-client-principal-id'];
res.json({ name: userName, id: userId });
});
// Or decode the full claims JSON from the header
const principalHeader = req.headers['x-ms-client-principal'];
const claims = JSON.parse(Buffer.from(principalHeader, 'base64').toString());Integrazione VNet per il traffico in uscita
VNet Integration consente a un'app App Service di effettuare chiamate in uscita verso risorse all'interno di una rete virtuale di Azure, ad esempio macchine virtuali, database SQL e API interne, senza esporre tali risorse a Internet pubblico. L'app riceve una scheda NIC virtuale in una subnet delegata della VNet e può raggiungere qualsiasi risorsa accessibile dalla VNet, incluse le risorse locali tramite VPN o ExpressRoute. VNet Integration è disponibile a partire dal livello Standard.
# Enable VNet Integration
az webapp vnet-integration add \
--name MyUniqueWebApp \
--resource-group MyRG \
--vnet MyVNet \
--subnet AppServiceSubnet
# Route ALL traffic through the VNet (including internet)
az webapp config appsettings set \
--name MyUniqueWebApp \
--resource-group MyRG \
--settings WEBSITE_VNET_ROUTE_ALL=1Endpoint privati per il traffico in entrata
Mentre VNet Integration gestisce il traffico in uscita, un endpoint privato gestisce il traffico in entrata, rendendo l'app App Service accessibile solo dall'interno della VNet tramite un indirizzo IP privato. L'accesso esterno a Internet a azurewebsites.net viene bloccato quando un endpoint privato è l'unico metodo di accesso. Questa configurazione viene usata per API interne e portali di amministrazione che non devono mai essere esposti a Internet pubblico.
# Create a private endpoint for the web app
az network private-endpoint create \
--name MyWebAppPE \
--resource-group MyRG \
--vnet-name MyVNet \
--subnet PrivateEndpointSubnet \
--private-connection-resource-id \
'/subscriptions/.../providers/Microsoft.Web/sites/MyUniqueWebApp' \
--group-id sites \
--connection-name MyWebAppConnectionRestrizioni di accesso
Le restrizioni di accesso in App Service consentono di definire un elenco di indirizzi IP autorizzati o negati per il traffico in entrata. Le regole vengono valutate in ordine di priorità (il numero più basso indica la priorità più alta). È possibile limitare l'accesso a intervalli IP specifici (ad esempio, l'indirizzo IP di uscita della VPN dell'ufficio), ai tag di servizio di Azure (ad esempio, AzureLoadBalancer) o a subnet VNet specifiche. Utilizzi le restrizioni di accesso per proteggere lo slot di staging, consentendo l'accesso solo all'intervallo IP del team.
# Allow only a specific IP range
az webapp config access-restriction add \
--name MyUniqueWebApp \
--resource-group MyRG \
--priority 100 \
--action Allow \
--ip-address 203.0.113.0/24 \
--rule-name 'OfficeRange'
# Allow Azure Front Door service tag
az webapp config access-restriction add \
--name MyUniqueWebApp \
--resource-group MyRG \
--priority 200 \
--action Allow \
--service-tag AzureFrontDoor.Backend \
--rule-name 'FrontDoor'Connessioni ibride
Hybrid Connections (di BizTalk) consentono ad App Service di raggiungere risorse locali senza richiedere VNet Integration o un gateway VPN. Un agente relay leggero installato nell'ambiente locale stabilisce una connessione in uscita ad Azure Service Bus; l'app si connette tramite il relay. Hybrid Connections opera a livello TCP e supporta qualsiasi porta, risultando utile per connettersi a database o API locali legacy che non possono essere spostati in Azure.
# Add a Hybrid Connection to reach on-prem SQL
az webapp hybrid-connection add \
--name MyUniqueWebApp \
--resource-group MyRG \
--namespace myServiceBusNS \
--hybrid-connection on-prem-sql-relay
# The Hybrid Connection Manager agent must be installed
# and configured on the on-premises server to complete the relayIdentità gestita per App Service
Assegni un'identità gestita all'app App Service affinché possa eseguire l'autenticazione presso altri servizi Azure (Key Vault, Blob Storage, SQL Database) senza memorizzare credenziali. Azure gestisce automaticamente le credenziali dell'identità. Utilizzi un'identità assegnata dal sistema (legata al ciclo di vita dell'app) oppure un'identità assegnata dall'utente (condivisa tra più app). Assegni all'identità i ruoli RBAC nelle risorse di destinazione.
# Enable system-assigned managed identity
az webapp identity assign \
--name MyUniqueWebApp \
--resource-group MyRG
# Grant the identity access to Key Vault secrets
az keyvault set-policy \
--name MyKeyVault \
--object-id $(az webapp identity show \
--name MyUniqueWebApp \
--resource-group MyRG \
--query principalId -o tsv) \
--secret-permissions get listAbilitazione di CORS
Cross-Origin Resource Sharing (CORS) controlla quali domini possono effettuare chiamate API basate sul browser verso l'app App Service. Configuri le origini consentite nelle impostazioni CORS: in produzione, per le API autenticate non restituisca il carattere jolly (*). Il supporto CORS integrato di App Service aggiunge automaticamente le intestazioni di risposta Access-Control-Allow-Origin, eliminando nei casi semplici la necessità di un middleware CORS nel codice dell'applicazione.
# Allow specific origin
az webapp cors add \
--name MyUniqueWebApp \
--resource-group MyRG \
--allowed-origins https://www.contoso.com
# View current CORS settings
az webapp cors show \
--name MyUniqueWebApp \
--resource-group MyRG
# Remove a CORS origin
az webapp cors remove \
--name MyUniqueWebApp \
--resource-group MyRG \
--allowed-origins https://old.contoso.comApp Service Environments (ASE)
Un App Service Environment (ASE) è una distribuzione di App Service completamente isolata e dedicata, eseguita all'interno della propria VNet. Offre il massimo livello di isolamento di rete, scalabilità (fino a 200 istanze) e allineamento ai requisiti di conformità. ASE v3 elimina la necessità di un indirizzo IP pubblico dedicato e supporta nativamente gli endpoint privati. Lo svantaggio è il costo significativamente più elevato: ASE è destinato ai carichi di lavoro aziendali con rigorosi requisiti di isolamento.
Riepilogo delle procedure consigliate per la sicurezza
Per una distribuzione App Service sicura: imponga l'uso esclusivo di HTTPS, utilizzi le restrizioni di accesso per limitare gli IP in entrata, abiliti l'identità gestita per evitare segreti nella configurazione, archivi i segreti in Key Vault con i riferimenti a Key Vault, applichi la versione minima TLS 1.2, abiliti Defender for App Service per il rilevamento delle minacce e analizzi regolarmente le raccomandazioni di Azure Security Center per la risorsa app.
# Enforce HTTPS and minimum TLS version
az webapp update \
--name MyUniqueWebApp \
--resource-group MyRG \
--https-only true
az webapp config set \
--name MyUniqueWebApp \
--resource-group MyRG \
--min-tls-version '1.2' \
--ftps-state DisabledVerifica rapida
Verifichi la propria comprensione dei concetti di Microsoft Azure Fundamentals (AZ-900) trattati in questa lezione.
Riepilogo della lezione
In questa lezione ha appreso che l'autenticazione integrata (EasyAuth) aggiunge l'accesso tramite provider di identità senza modifiche al codice; VNet Integration instrada il traffico in uscita attraverso la rete virtuale, mentre gli endpoint privati limitano il traffico in entrata; infine, l'identità gestita abilita l'autenticazione senza password verso altri servizi Azure. Nella prossima lezione esamineremo Azure Container Registry.
Impara Cloud & IT Cert Prep con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 150
- Lezioni
- 600
Domande Frequenti
La lezione «Autenticazione e rete di App Service» è gratuita?
Sì — il testo completo di «Autenticazione e rete di App Service» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cloud & IT Cert Prep, passa a CoddyKit PRO. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.
Cosa imparerò in «Autenticazione e rete di App Service»?
Abiliti i provider di autenticazione integrati (Entra ID, Google, GitHub) per la Sua web app e limiti il traffico in entrata usando l'integrazione con VNet e le restrizioni di accesso. Eserciti Cloud & IT Cert Prep con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cloud & IT Cert Prep?
Non è richiesta alcuna esperienza precedente. Cloud & IT Cert Prep su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Autenticazione e rete di App Service»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cloud & IT Cert Prep?
Sì. Ogni lezione Cloud & IT Cert Prep include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Creazione di un piano App Service e di una web app
- Slot di distribuzione e swap
- Ridimensionamento automatico e domini personalizzati
- Autenticazione e rete di App Service