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.
Quando si configurano le restrizioni di accesso, è possibile definire un elenco di elementi consentiti/negati ordinati con priorità che controlla l'accesso di rete all'app. L'elenco può includere indirizzi IP o subnet di Rete virtuale di Azure. In presenza di una o più voci, alla fine dell'elenco è presente un'istruzione di tipo rifiuta tutto implicita. Per ulteriori informazioni, vedere Restrizioni di accesso al servizio Azure App.
La funzionalità di restrizione dell'accesso funziona con tutti i carichi di lavoro ospitati nel Servizio app di Azure. I carichi di lavoro possono includere app Web, app per le API, app Linux, contenitori personalizzati Linux e app di Funzioni di Azure.
Quando un utente invia una richiesta all'app, l'indirizzo FROM viene valutato rispetto alle regole nell'elenco delle restrizioni di accesso. Se l'indirizzo FROM si trova in una subnet configurata con endpoint di servizio su Microsoft.Web, la subnet di origine viene confrontata con le regole di rete virtuale nell'elenco delle restrizioni di accesso. Se all'indirizzo non viene consentito l'accesso in base alle regole nell'elenco, il servizio replica con un codice di stato HTTP 403.
La funzionalità di restrizione dell'accesso viene implementata nei ruoli front-end del Servizio App, che si trovano a monte rispetto agli host di lavoro in cui viene eseguito il codice. Pertanto, le restrizioni di accesso sono elenchi di controllo di accesso alla rete in modo efficace.
La possibilità di limitare l'accesso all'app Web da una rete virtuale di Azure usa gli endpoint di servizio. Grazie agli endpoint di servizio, è possibile limitare l'accesso a un servizio multi-tenant da subnet selezionate. Non funziona limitare il traffico alle app ospitate in un App Service Environment. Se ci si trova in un ambiente del servizio app, è possibile controllare l'accesso all'app applicando le regole degli indirizzi IP.
Nota
Gli endpoint di servizio devono essere abilitati sia sul lato rete che per il servizio di Azure con cui sono abilitati. Per un elenco di servizi di Azure che supportano gli endpoint di servizio, vedere gli endpoint di servizio della rete virtuale.
Gestire le regole di restrizione dell'accesso nel portale
Per aggiungere una regola di restrizione di accesso all'app:
Accedere al portale di Azure.
Selezionare l'app a cui si desidera aggiungere restrizioni di accesso.
Nel menu a sinistra selezionare Impostazioni>rete.
Nel riquadro Rete , in Configurazione del traffico in ingresso, selezionare l'impostazione Accesso alla rete pubblica .
Nel riquadro Restrizioni di accesso esaminare l'elenco delle regole di restrizione di accesso definite per l'app.
Nell'elenco vengono visualizzate le restrizioni attualmente applicate all'app. Se si dispone di una restrizione di rete virtuale per l'app, la tabella indica se gli endpoint di servizio sono abilitati per
Microsoft.Web. Se non sono definite restrizioni per l'app e la regola non corrispondente non è impostata su Nega, l'app è accessibile da qualsiasi posizione.
Autorizzazioni
Per configurare le restrizioni di accesso tramite il portale di Azure, l'interfaccia della riga di comando o quando si impostano direttamente le site config proprietà, è necessario disporre delle autorizzazioni di controllo degli accessi in base al ruolo seguenti nella subnet o a un livello superiore:
| Azione | Descrizione |
|---|---|
Microsoft.Web/sites/config/read |
Ottiene le impostazioni di configurazione dell'app Web. |
Microsoft.Web/sites/config/write |
Aggiorna le impostazioni di configurazione dell'app Web. |
Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action* |
Aggiunge una risorsa come un account di archiviazione o un database SQL a una subnet. |
Microsoft.Web/sites/write** |
Aggiorna le impostazioni dell'app Web. |
*Obbligatorio solo quando si aggiunge una regola di rete virtuale (di endpoint di servizio)
**Obbligatorio solo se si aggiornano le restrizioni di accesso tramite il portale di Azure
Se si aggiunge una regola basata su endpoint di servizio e la rete virtuale si trova in una sottoscrizione diversa rispetto all'app, assicurarsi che la sottoscrizione che contiene la rete virtuale sia registrata per il provider di risorse Microsoft.Web. È possibile registrare in modo esplicito il provider, ma viene registrato automaticamente anche quando si crea la prima app Web in una sottoscrizione. Per maggiori informazioni, consultare la sezione Registrare il provider di risorse.
Aggiungere una regola di restrizione dell'accesso
Per aggiungere una regola di restrizione di accesso all'app, nel riquadro Restrizioni di accesso selezionare Aggiungi. La regola è valida solo dopo averlo salvato.
Le regole vengono applicate in ordine di priorità, dal numero più basso nella colonna Priorità . Se non si configura una regola senza corrispondenza, viene applicata implicitamente una regola nega tutto quando si aggiunge una regola.
Nel riquadro Aggiungi restrizione di accesso, quando si crea una regola, eseguire le operazioni seguenti:
- In Azioneselezionare Consenti o Nega.
- Immettere un nome e una descrizione della regola (facoltativo).
- Nella casella Priorità immettere un valore per la priorità.
- Nell'elenco a discesa Tipo, selezionare il tipo di regola. I diversi tipi di regole sono descritti nelle sezioni seguenti.
- Inserisci l'input specifico della regola. Selezionare Aggiungi regola per aggiungere la regola all'elenco.
- Selezionare Salva nel riquadro Restrizioni di accesso .
Nota
È previsto un limite di 512 regole di restrizione dell'accesso. Se sono necessarie più di 512 regole di restrizione dell'accesso, è consigliabile prendere in considerazione un prodotto di sicurezza autonomo. Si consideri Azure Front Door, Azure Application Gateway, o un altro web application firewall (WAF).
Impostare una regola basata su indirizzi IP
Seguire la procedura descritta nella sezione precedente, ma con l'aggiunta seguente:
- Per il passaggio 4, nell'elenco a discesa Tipo selezionare IPv4 o IPv6.
Specificare il blocco di indirizzi IP nella notazione CIDR (Classless Inter-Domain Routing) per gli indirizzi IPv4 e IPv6. Per specificare un indirizzo, è possibile usare qualcosa come 1.2.3.4/32, dove i primi quattro ottetti rappresentano l'indirizzo IP ed /32 è la maschera. La notazione CIDR IPv4 per tutti gli indirizzi è 0.0.0.0/0.
Nota
Le regole di restrizione dell'accesso basato su IP gestiscono solo gli intervalli di indirizzi di rete virtuale quando l'app si trova in un ambiente del servizio app. Se l'app si trova nel servizio multi-tenant, è necessario usare gli endpoint di servizio per limitare il traffico per selezionare le subnet nella rete virtuale.
Impostare una regola basata su endpoint del servizio
Per il passaggio 4, nell'elenco a discesa Tipo selezionare Rete virtuale.
Specificare gli elenchi a discesa Sottoscrizione, Rete virtuale e Subnet , corrispondenti a ciò a cui si vuole limitare l'accesso.
Usando gli endpoint servizio, è possibile limitare l'accesso alle subnet di rete virtuale di Azure selezionate. Se gli endpoint di servizio non sono già abilitati nella subnet che selezioni con Microsoft.Web, vengono abilitati automaticamente, a meno che tu non selezioni Ignora gli endpoint di servizio Microsoft.Web mancanti. Se si desidera abilitare gli endpoint di servizio nell'app, ma non la subnet, dipende da se si dispone delle autorizzazioni per abilitarle nella subnet.
Se hai bisogno che un altro utente abiliti gli endpoint di servizio nella subnet, seleziona Ignora gli endpoint di servizio Microsoft.Web mancanti. L'app è configurata per gli endpoint di servizio. In un secondo momento possono essere abilitati nella subnet.
Non è possibile usare gli endpoint di servizio per limitare l'accesso alle app eseguite in un ambiente del servizio app. Quando l'app si trova in un ambiente del servizio app, è possibile controllarne l'accesso applicando le regole di accesso IP.
Con gli endpoint di servizio, è possibile configurare l'app usando i gateway di applicazione o altri dispositivi di firewall per applicazioni web (WAF). È anche possibile configurare applicazioni multilivello con back-end sicuri. Per altre informazioni, vedere Funzionalità di rete del servizio app e Integrazione del gateway applicazione.
Nota
Gli endpoint di servizio non sono supportati per le app Web che usano associazioni TLS/SSL basate su IP con un INDIRIZZO IP virtuale.
Impostare una regola basata su tag del servizio
Per il passaggio 4, nell'elenco a discesa Tipo, selezionare Tag di servizio.
Tutti i tag di servizio disponibili pubblicamente sono supportati nelle regole di restrizione dell'accesso. Ogni tag del servizio rappresenta un elenco di intervalli IP dei servizi di Azure. Un elenco di questi servizi e collegamenti agli intervalli specifici è disponibile nella documentazione relativa ai tag del servizio. Usare modelli o script di Azure Resource Manager per configurare regole più avanzate come le regole con ambito a livello di area.
Nota
Quando si creano regole basate su tag del servizio tramite il portale di Azure o l'interfaccia della riga di comando di Azure, è necessario l'accesso in lettura a livello di sottoscrizione per ottenere l'elenco completo dei tag di servizio per la selezione/convalida. Inoltre, il provider di risorse Microsoft.Network deve essere registrato nella sottoscrizione.
Modificare una regola
Per modificare una regola di restrizione dell'accesso esistente, passare al riquadro Restrizioni di accesso e selezionare la regola da modificare.
Nel riquadro Modifica restrizione di accesso apportare le modifiche necessarie e quindi selezionare Aggiorna regola.
Seleziona Salva per salvare le modifiche.
Nota
Quando si modifica una regola, non è possibile passare da un tipo di regola all'altro.
Eliminare una regola
Per eliminare una regola, nel riquadro Restrizioni di accesso selezionare la regola o le regole da eliminare e quindi selezionare Elimina.
Seleziona Salva per salvare le modifiche.
Scenari avanzati di restrizione dell'accesso
Le sezioni seguenti descrivono l'uso delle restrizioni di accesso in scenari avanzati.
Filtrare in base all'intestazione HTTP
È possibile aggiungere filtri di intestazione HTTP a qualsiasi regola. Sono supportati i nomi di intestazione HTTP seguenti:
X-Forwarded-ForX-Forwarded-HostX-Azure-FDIDX-FD-HealthProbe
++ Per altre informazioni su X-FD-HealthProbe, vedere Filtro delle intestazioni HTTP per le regole di restrizione dell'accesso al sito.
Per ogni nome di intestazione, è possibile aggiungere fino a otto valori separati da virgole. I filtri di intestazione HTTP vengono valutati dopo la regola stessa e entrambe le condizioni devono essere vere affinché la regola venga applicata.
Regole multi-origine
Le regole multi source consentono di combinare fino a otto intervalli IP o otto tag di servizio in una singola regola. Usare regole multi-origine se sono presenti più di 512 intervalli IP o se si desidera creare delle regole logiche. Ad esempio, una regola logica può includere più intervalli IP combinati con un singolo filtro di intestazione HTTP.
Le regole multi-origine vengono definite allo stesso modo delle regole a origine singola, ma ogni intervallo è separato da una virgola.
Esempio di PowerShell:
Add-AzWebAppAccessRestrictionRule -ResourceGroupName "ResourceGroup" -WebAppName "AppName" `
-Name "Multi-source rule" -IpAddress "192.168.1.0/24,192.168.10.0/24,192.168.100.0/24" `
-Priority 100 -Action Allow
Bloccare un singolo indirizzo IP
Se si vuole bloccare in modo esplicito un singolo indirizzo IP o un blocco di indirizzi IP, ma consentire l'accesso a tutto il resto, è possibile aggiungere una regola Nega per l'indirizzo IP specifico. Configurare quindi l'azione regola senza corrispondenza su Consenti.
Limitare l'accesso a un sito SCM
Oltre a poter controllare l'accesso all'app, puoi limitare l'accesso al sito avanzato dello strumento di gestione del codice sorgente (SCM) usato dall'app. Il sito SCM è sia l'endpoint di distribuzione Web che la console Kudu. È possibile assegnare le restrizioni di accesso al sito SCM dall'app separatamente oppure usare lo stesso set di restrizioni per l'app e il sito SCM. Quando si seleziona Usa regole del sito principale, l'elenco delle regole è nascosto. Il sito SCM usa le regole del sito principale. Se si deseleziona la casella di controllo, le impostazioni del sito SCM vengono visualizzate di nuovo.
Limitare l'accesso a un'istanza specifica di Frontdoor di Azure
Il traffico da Frontdoor di Azure all'applicazione ha origine da un set noto di intervalli IP definiti nel tag del servizio AzureFrontDoor.Backend. Usando una regola di restrizione dei tag di servizio, è possibile limitare il traffico solo da Frontdoor di Azure. Per garantire che il traffico provenga solo dall'istanza specifica, è necessario filtrare ulteriormente le richieste in ingresso in base all'intestazione HTTP univoca inviata da Frontdoor di Azure.
Esempio di PowerShell:
$afd = Get-AzFrontDoor -Name "MyFrontDoorInstanceName"
Add-AzWebAppAccessRestrictionRule -ResourceGroupName "ResourceGroup" -WebAppName "AppName" `
-Name "Front Door example rule" -Priority 100 -Action Allow -ServiceTag AzureFrontDoor.Backend `
-HttpHeader @{'x-azure-fdid' = $afd.FrontDoorId}
Gestire la restrizione di accesso a livello di codice
È anche possibile gestire le restrizioni di accesso a livello di codice. Negli esempi seguenti viene illustrato come aggiungere regole alle restrizioni di accesso e come modificare l'azione regola non corrispondente per il sito principale e il sito degli strumenti avanzati.
Aggiungere regole di restrizioni di accesso per il sito principale
È possibile aggiungere regole di restrizioni di accesso per il Sito principale a livello di codice scegliendo una delle opzioni seguenti:
È possibile eseguire il comando seguente in Azure Cloud Shell. Per altre informazioni sul comando, vedere az webapp config access-restriction.
az webapp config access-restriction add --resource-group ResourceGroup --name AppName \
--rule-name 'IP example rule' --action Allow --ip-address 122.133.144.0/24 --priority 100
az webapp config access-restriction add --resource-group ResourceGroup --name AppName \
--rule-name "Azure Front Door example" --action Allow --priority 200 --service-tag AzureFrontDoor.Backend \
--http-header x-azure-fdid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Aggiungere regole di restrizioni di accesso per il sito dello strumento avanzato
È possibile aggiungere regole di restrizioni di accesso per il sito degli strumenti avanzati a livello di codice. Scegli una delle opzioni seguenti:
È possibile eseguire il comando seguente in Cloud Shell. Per altre informazioni sul comando, vedere az webapp config access-restriction.
az webapp config access-restriction add --resource-group ResourceGroup --name AppName \
--rule-name 'IP example rule' --action Allow --ip-address 122.133.144.0/24 --priority 100 --scm-site true
Modificare l'azione regola senza corrispondenza per il sito principale
È possibile modificare l'Azione regola senza corrispondenza per il Sito principale a livello di codice scegliendo una delle opzioni seguenti:
È possibile eseguire il comando seguente in Cloud Shell. Per altre informazioni sul comando, vedere az resource. I valori accettati per ipSecurityRestrictionsDefaultAction sono Allow o Deny.
az resource update --resource-group ResourceGroup --name AppName --resource-type "Microsoft.Web/sites" \
--set properties.siteConfig.ipSecurityRestrictionsDefaultAction=Allow
Modificare l'azione regola senza corrispondenza per il sito dello strumento avanzato
È possibile modificare l'Azione regola senza corrispondenza per il Sito dello strumento avanzato a livello di codice scegliendo una delle opzioni seguenti:
È possibile eseguire il comando seguente in Cloud Shell. Per altre informazioni sul comando, vedere az resource. I valori accettati per scmIpSecurityRestrictionsDefaultAction sono Allow o Deny.
az resource update --resource-group ResourceGroup --name AppName --resource-type "Microsoft.Web/sites" \
--set properties.siteConfig.scmIpSecurityRestrictionsDefaultAction=Allow
Configurare le restrizioni di accesso di Funzioni di Azure
Le restrizioni di accesso sono disponibili anche per le app per le funzioni con le stesse funzionalità dei piani di Servizio app. Quando si abilitano le restrizioni di accesso, si disabilita anche l'editor di codice del portale di Azure per gli indirizzi IP non consentiti.