Delen via


Toegangsbeperkingen voor Azure App Service instellen

Wanneer u toegangsbeperkingen instelt, kunt u een op prioriteit geordende acceptatie-/weigeringslijst definiëren waarmee de netwerktoegang tot uw app wordt bepaald. De lijst kan IP-adressen of Azure Virtual Network-subnetten bevatten. Wanneer er een of meer vermeldingen zijn, bestaat er aan het einde van de lijst een impliciete regel 'alles weigeren'. Zie Azure-app Service-toegangsbeperkingen voor meer informatie.

De toegangsbeperking werkt met alle Azure App Service-gehoste workloads. De workloads kunnen web-apps, API-apps, Linux-apps, aangepaste Linux-containers en Azure Functions-apps omvatten.

Wanneer iemand een aanvraag indient bij uw app, wordt het FROM adres geëvalueerd op basis van de regels in uw toegangsbeperkingslijst. Als het FROM adres zich in een subnet bevindt dat is geconfigureerd met service-eindpunten Microsoft.Web, wordt het bronsubnet vergeleken met de regels voor virtuele netwerken in uw toegangsbeperkingslijst. Als het adres geen toegang krijgt op basis van de regels in de lijst, antwoordt de service met een HTTP 403-statuscode.

De toegangsbeperkingsfunctie wordt geïmplementeerd in de front-endrollen van App Service, die upstream zijn van de worker hosts waarop uw code wordt uitgevoerd. Daarom zijn toegangsbeperkingen effectief lijsten voor netwerktoegangsbeheer.

De mogelijkheid om de toegang tot uw web-app vanuit een virtueel Azure-netwerk te beperken, maakt gebruik van service-eindpunten. Met service-eindpunten kunt u de toegang beperken tot een service met meerdere tenants van geselecteerde subnetten. Het werkt niet om verkeer te beperken tot apps die worden gehost in een App Service Environment. Als u zich in een App Service Environment bevindt, kunt u de toegang tot uw app beheren door IP-adresregels toe te passen.

Notitie

De service-eindpunten moeten zowel aan de netwerkzijde als voor de Azure-service zijn ingeschakeld waarmee ze worden ingeschakeld. Zie Service-eindpunten voor virtueel netwerk voor een lijst met Azure-services die service-eindpunten ondersteunen.

Diagram met de stroom van toegangsbeperkingen.

Toegangsbeperkingsregels beheren in de portal

Ga als volgende te werk om een regel voor toegangsbeperking toe te voegen aan uw app:

  1. Meld u aan bij het Azure-portaal.

  2. Selecteer de app waaraan u toegangsbeperkingen wilt toevoegen.

  3. Selecteer Instellingennetwerken> in het linkermenu.

  4. Selecteer in het deelvenster Netwerken onder De configuratie van binnenkomend verkeer de instelling Openbare netwerktoegang .

    Schermopname van het deelvenster Netwerkopties voor App Service in Azure Portal.

  5. Bekijk in het deelvenster Toegangsbeperkingen de lijst met regels voor toegangsbeperkingen die zijn gedefinieerd voor uw app.

    Schermopname van het deelvenster Toegangsbeperkingen in Azure Portal, met de lijst met regels voor toegangsbeperking die zijn gedefinieerd voor de geselecteerde app.

    In de lijst worden de beperkingen weergegeven die momenteel op de app worden toegepast. Als u een beperking voor een virtueel netwerk in uw app hebt, wordt in de tabel weergegeven of de service-eindpunten zijn ingeschakeld.Microsoft.Web Als er geen beperkingen zijn gedefinieerd voor uw app en uw niet-gerelateerde regel niet is ingesteld op Weigeren, is de app vanaf elke locatie toegankelijk.

Machtigingen

U moet de volgende machtigingen voor op rollen gebaseerd toegangsbeheer hebben voor het subnet of op een hoger niveau om toegangsbeperkingen te configureren via Azure Portal, CLI of wanneer u de site config eigenschappen rechtstreeks instelt:

Actie Beschrijving
Microsoft.Web/sites/config/read Hiermee haalt u configuratie-instellingen voor web-apps op.
Microsoft.Web/sites/config/write Hiermee worden de configuratie-instellingen van de web-app bijgewerkt.
Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action* Koppelt resources, zoals opslagaccount of SQL-database, aan een subnet.
Microsoft.Web/sites/write** Hiermee worden web-app-instellingen bijgewerkt.

*Alleen vereist bij het toevoegen van een regel voor een virtueel netwerk (service-eindpunt)

**Alleen vereist als u toegangsbeperkingen bijwerkt via Azure Portal

Als u een regel op basis van een service-eindpunt toevoegt en het virtuele netwerk zich in een ander abonnement bevindt dan de app, moet u ervoor zorgen dat het abonnement met het virtuele netwerk is geregistreerd voor de Microsoft.Web resourceprovider. U kunt de provider expliciet registreren, maar deze wordt ook automatisch geregistreerd wanneer u de eerste web-app in een abonnement maakt. Zie Resourceprovider registreren voor meer informatie.

Een regel voor toegangsbeperking toevoegen

Als u een toegangsbeperkingsregel wilt toevoegen aan uw app, selecteert u Toevoegen in het deelvenster Toegangsbeperkingen. De regel is pas van kracht nadat u deze hebt opgeslagen.

Regels worden afgedwongen in volgorde van prioriteit, van het laagste getal in de kolom Prioriteit . Als u ongedefinieerde regels niet configureert, is er een impliciete weigeren van alles actief wanneer u één regel toevoegt.

Ga als volgt te werk in het deelvenster Toegangsbeperking toevoegen wanneer u een regel maakt:

  1. Selecteer onder Actie de optie Toestaan of Weigeren.
  2. Voer een naam en beschrijving van de regel in (optioneel).
  3. Voer in het vak Prioriteit een prioriteitswaarde in.
  4. Selecteer in de vervolgkeuzelijst Type het type regel. De verschillende typen regels worden beschreven in de volgende secties.
  5. Voer de regelspecifieke gegevens in. Selecteer Regel toevoegen om de regel toe te voegen aan de lijst.
  6. Selecteer Opslaan in het deelvenster Toegangsbeperkingen .

Notitie

Er geldt een limiet van 512 toegangsbeperkingsregels. Als u meer dan 512 toegangsbeperkingsregels nodig hebt, raden we u aan een zelfstandig beveiligingsproduct te overwegen. Overweeg Azure Front Door, Azure Application Gateway of een andere WAF (Web Application Firewall).

Een regel op basis van IP-adressen instellen

Volg de procedure zoals beschreven in de vorige sectie, maar met de volgende toevoeging:

  • Voor stap 4 selecteert u in de vervolgkeuzelijst Type IPv4 of IPv6.

Geef ip-adresblok op in de CIDR-notatie (Classless Inter-Domain Routing) voor zowel de IPv4- als de IPv6-adressen. Als u een adres wilt opgeven, kunt u iets gebruiken als 1.2.3.4/32, waarbij de eerste vier octetten uw IP-adres vertegenwoordigen en /32 het masker is. De IPv4 CIDR-notatie voor alle adressen is 0.0.0.0/0.

Notitie

Ip-toegangsbeperkingsregels verwerken alleen adresbereiken van virtuele netwerken wanneer uw app zich in een App Service-omgeving bevindt. Als uw app zich in de multitenant-service bevindt, moet u service-eindpunten gebruiken om verkeer te beperken tot het selecteren van subnetten in uw virtuele netwerk.

Een regel op basis van een service-eindpunt instellen

  • Selecteer Virtual Network in stap 4 in de vervolgkeuzelijst Type.

    Schermopname van het deelvenster Beperking toevoegen met het type virtueel netwerk geselecteerd.

Geef de vervolgkeuzelijsten Abonnement, Virtueel netwerk en Subnet op die overeenkomen met waartoe u de toegang wilt beperken.

Met behulp van service-eindpunten kunt u de toegang tot geselecteerde subnetten van virtuele Azure-netwerken beperken. Als service-eindpunten nog niet zijn ingeschakeld voor het subnet dat u selecteert, worden ze automatisch ingeschakeld, tenzij u de optie Microsoft.Web selecteert. Of u service-eindpunten voor de app wilt inschakelen, maar niet het subnet, is afhankelijk van of u over de machtigingen beschikt om deze in te schakelen op het subnet.

Als u iemand anders nodig hebt om service-eindpunten in te schakelen in het subnet, selecteert u Ontbrekende Microsoft.Web-service-eindpunten negeren. Uw app is geconfigureerd voor service-eindpunten. Ze kunnen later worden ingeschakeld op het subnet.

U kunt service-eindpunten niet gebruiken om de toegang te beperken tot apps die worden uitgevoerd in een App Service-omgeving. Wanneer uw app zich in een App Service-omgeving bevindt, kunt u de toegang tot de app beheren door IP-toegangsregels toe te passen.

Met service-eindpunten kunt u uw app configureren met behulp van application gateways of andere WAF-apparaten (Web Application Firewall). U kunt ook toepassingen met meerdere lagen configureren met beveiligde back-ends. Zie App Service-netwerkfuncties en Application Gateway-integratie voor meer informatie.

Notitie

Service-eindpunten worden niet ondersteund voor web-apps die gebruikmaken van TLS/SSL-bindingen op basis van IP met een virtueel IP-adres.

Een regel op basis van servicetags instellen

  • Selecteer voor stap 4 in de vervolgkeuzelijst Type de optie Servicetag.

    Schermopname van het deelvenster Beperking toevoegen met het type Servicetag geselecteerd.

Alle openbaar beschikbare servicetags worden ondersteund in toegangsbeperkingsregels. Elke servicetag vertegenwoordigt een lijst met IP-bereiken van Azure-services. Een lijst met deze services en koppelingen naar de specifieke reikwijdten vindt u in de servicetagdocumentatie. Gebruik Azure Resource Manager-sjablonen of scripting om geavanceerdere regels, zoals regionale regels, te configureren.

Notitie

Wanneer u regels op basis van servicetags maakt via Azure Portal of de Azure CLI, hebt u leestoegang nodig op abonnementsniveau om de volledige lijst met servicetags voor selectie/validatie op te halen. Daarnaast moet de Microsoft.Network resourceprovider worden geregistreerd voor het abonnement.

Een regel bewerken

  1. Als u een bestaande toegangsbeperkingsregel wilt bewerken, gaat u naar het deelvenster Toegangsbeperkingen en selecteert u de regel die u wilt bewerken.

  2. Breng uw wijzigingen aan in het deelvenster Toegangsbeperking bewerken en selecteer vervolgens Updateregel.

  3. Als u de wijzigingen wilt opslaan, selecteert u Opslaan.

    Notitie

    Wanneer u een regel bewerkt, kunt u niet schakelen tussen regeltypen.

Een regel verwijderen

  1. Als u een regel wilt verwijderen, selecteert u in het deelvenster Toegangsbeperkingen de regel of regels die u wilt verwijderen en selecteert u Vervolgens Verwijderen.

  2. Als u de wijzigingen wilt opslaan, selecteert u Opslaan.

Schermopname van het deelvenster Toegangsbeperkingen, met het beletselteken verwijderen naast de regel voor toegangsbeperking die moet worden verwijderd.

Geavanceerde scenario's voor toegangsbeperkingen

In de volgende secties wordt beschreven hoe u toegangsbeperkingen gebruikt in geavanceerde scenario's.

Filteren op HTTP-header

U kunt HTTP-headerfilters toevoegen aan elke regel. De volgende HTTP-headernamen worden ondersteund:

  • X-Forwarded-For
  • X-Forwarded-Host
  • X-Azure-FDID
  • X-FD-HealthProbe

Voor elke headernaam kunt u maximaal acht waarden optellen, gescheiden door komma's. De HTTP-headerfilters worden geëvalueerd na de regel zelf en beide voorwaarden moeten waar zijn om de regel toe te passen.

Regels voor meerdere bronnen

Met regels voor meerdere bronnen kunt u maximaal acht IP-bereiken of acht servicetags in één regel combineren. Gebruik regels voor meerdere bronnen als u meer dan 512 IP-bereiken hebt of als u logische regels wilt maken. Een logische regel kan bijvoorbeeld meerdere IP-bereiken bevatten in combinatie met één HTTP-headerfilter.

Regels voor meerdere bronnen worden op dezelfde manier gedefinieerd als regels met één bron, maar elk bereik wordt gescheiden door een komma.

PowerShell voorbeeld:

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

Eén IP-adres blokkeren

Als u expliciet één IP-adres of een blok IP-adressen wilt blokkeren, maar toegang tot alle andere adressen wilt toestaan, kunt u een regel weigeren toevoegen voor het specifieke IP-adres. Configureer vervolgens de actie Niet-overeenkomende regel op Toestaan.

Schermopname van het deelvenster Toegangsbeperkingen in Azure Portal, met één geblokkeerd IP-adres.

Toegang tot een SCM-site beperken

Naast het beheren van de toegang tot uw app, kunt u de toegang beperken tot de geavanceerde SCM-toolsite (Source Control Management) die door uw app wordt gebruikt. De SCM-site is zowel het eindpunt voor web-implementatie als de Kudu-console. U kunt toegangsbeperkingen toewijzen aan de SCM-site vanuit de app afzonderlijk of dezelfde set beperkingen gebruiken voor zowel de app als de SCM-site. Wanneer u Hoofdsiteregels gebruiken selecteert, wordt de lijst met regels verborgen. De SCM-site maakt gebruik van de regels van de hoofdsite. Als u het selectievakje uitschakelt, worden de SCM-site-instellingen opnieuw weergegeven.

Schermopname van het deelvenster Toegangsbeperkingen in Azure Portal, waarin wordt weergegeven dat er geen toegangsbeperkingen zijn ingesteld voor de SCM-site of de app.

Toegang tot een specifiek Azure Front Door-exemplaar beperken

Verkeer van Azure Front Door naar uw toepassing is afkomstig van een bekende set IP-bereiken die zijn gedefinieerd in de AzureFrontDoor.Backend servicetag. Met behulp van een regel voor servicetagbeperking kunt u het verkeer beperken tot alleen afkomstig van Azure Front Door. Om ervoor te zorgen dat verkeer alleen afkomstig is van uw specifieke exemplaar, moet u de binnenkomende aanvragen verder filteren op basis van de unieke HTTP-header die Azure Front Door verzendt.

Schermopname van het deelvenster Toegangsbeperkingen in Azure Portal, waarin wordt getoond hoe u een Beperking voor Azure Front Door toevoegt.

PowerShell voorbeeld:

$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}

Toegangsbeperking programmatisch beheren

U kunt ook programmatisch toegangsbeperking beheren. In de volgende voorbeelden ziet u hoe u regels toevoegt aan toegangsbeperkingen en hoe u de actie voor niet-overeenkomende regels voor zowel de hoofdsite als de geavanceerde toolsite kunt wijzigen.

Regels voor toegangsbeperkingen toevoegen voor de hoofdsite

U kunt regels voor toegangsbeperkingen voor de hoofdsite programmatisch toevoegen door een van de volgende opties te kiezen:

U kunt de volgende opdracht uitvoeren in Azure Cloud Shell. Zie voor meer informatie over de opdracht 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

Regels voor toegangsbeperkingen toevoegen voor een geavanceerde toolsite

U kunt regels voor toegangsbeperkingen toevoegen voor de site met geavanceerde hulpprogramma's via een programma. Kies een van de volgende opties:

U kunt de volgende opdracht uitvoeren in Cloud Shell. Zie voor meer informatie over de opdracht 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

Niet-overeenkomende regelactie voor hoofdsite wijzigen

U kunt Ongeëvenaarde regelactie voor hoofdsite programmatisch wijzigen door een van de volgende opties te kiezen:

U kunt de volgende opdracht uitvoeren in Cloud Shell. Zie voor meer informatie over de opdracht az resource. Geaccepteerde waarden zijn ipSecurityRestrictionsDefaultActionAllow of Deny.

az resource update --resource-group ResourceGroup --name AppName --resource-type "Microsoft.Web/sites" \
  --set properties.siteConfig.ipSecurityRestrictionsDefaultAction=Allow

Niet-overeenkomende regelactie wijzigen voor de geavanceerde toolsite

U kunt de Niet-overeenkomende regelactie voor de Site voor geavanceerde hulpprogramma's programmeerbaar wijzigen door een van de volgende opties te kiezen:

U kunt de volgende opdracht uitvoeren in Cloud Shell. Zie voor meer informatie over de opdracht az resource. Geaccepteerde waarden zijn scmIpSecurityRestrictionsDefaultActionAllow of Deny.

az resource update --resource-group ResourceGroup --name AppName --resource-type "Microsoft.Web/sites" \
  --set properties.siteConfig.scmIpSecurityRestrictionsDefaultAction=Allow

Toegangsbeperkingen voor Azure Functions instellen

Toegangsbeperkingen zijn ook beschikbaar voor functie-apps met dezelfde functionaliteit als App Service-abonnementen. Wanneer u toegangsbeperkingen inschakelt, schakelt u ook de Code-editor van Azure Portal uit voor niet-toegestane IP-adressen.