Åtkomstbegränsningar för Azure App Service

Åtkomstbegränsningar i App Service motsvarar en brandvägg som gör att du kan blockera och filtrera trafik. Åtkomstbegränsningar gäller endast för inkommande åtkomst. De flesta App Service-prisnivåer har också möjlighet att lägga till privata slutpunkter i appen, vilket är en annan startpunkt i appen. Åtkomstbegränsningar gäller inte för trafik som kommer in via en privat slutpunkt. För alla appar som finns i App Service är standardinmatningspunkten offentligt tillgänglig. Det enda undantaget är appar som finns i ILB-App Service-miljön där standardinmatningspunkten är intern för det virtuella nätverket.

Så här fungerar det

När trafiken når App Service utvärderas först om trafiken kommer från en privat slutpunkt eller om den kommer via standardslutpunkten. Om trafiken skickas via en privat slutpunkt skickas den direkt till webbplatsen utan några begränsningar. Begränsningar för privata slutpunkter konfigureras med hjälp av nätverkssäkerhetsgrupper.

Om du skickar trafik via standardslutpunkten (ofta en offentlig slutpunkt) utvärderas trafiken först på appåtkomstnivå. Här kan du antingen aktivera eller inaktivera åtkomst. Om du aktiverar appåtkomst utvärderas trafiken på platsåtkomstnivå. För alla appar har du både huvudwebbplatsen och den avancerade verktygswebbplatsen (även kallad scm- eller kudu-webbplats).

Du kan välja att konfigurera en uppsättning regler för åtkomstbegränsning för varje webbplats. Regler för åtkomstbegränsning utvärderas i prioritetsordning. Om vissa regler har samma prioritet utvärderas de i den ordning de visas när de returneras från Azure Resource Manager-API:et och i Azure-portalen innan de sorteras. Du kan också ange beteendet om inga regler matchas. Följande avsnitt går in på detaljer.

Diagram of access restrictions high-level flow.

App-åtkomst

Med appåtkomst kan du konfigurera om åtkomst är tillgänglig via standardslutpunkten (offentlig). Du konfigurerar det här beteendet till antingen vara Disabled eller Enabled. När åtkomst är aktiverad kan du lägga till regler för begränsning av webbplatsåtkomst för att styra åtkomst från utvalda virtuella nätverk och IP-adresser. Om inställningen inte har konfigurerats är standardbeteendet att aktivera åtkomst om det inte finns en privat slutpunkt som ändrar beteendet för att inaktivera åtkomst.

Screenshot of app access option in Azure portal.

I Azure Resource Manager-API:et kallas publicNetworkAccessappåtkomst för . För ILB-App Service-miljön är standardstartpunkten för appar alltid intern för det virtuella nätverket. Aktivering av appåtkomst (publicNetworkAccess) ger inte direkt offentlig åtkomst till apparna. I stället ger det åtkomst från standardinmatningspunkten, vilket motsvarar den interna IP-adressen för App Service-miljön. Om du inaktiverar appåtkomst på en ILB-App Service-miljön kan du bara komma åt apparna via privata slutpunkter som lagts till i de enskilda apparna.

Webbplatsåtkomst

Med begränsningar för webbplatsåtkomst kan du filtrera inkommande begäranden. Med begränsningar för webbplatsåtkomst kan du skapa en lista över tillåtna och neka regler som utvärderas i prioritetsordning. Det liknar funktionen nätverkssäkerhetsgrupp (NSG) i Azure-nätverk.

Screenshot of site access options in Azure portal.

Begränsning av webbplatsåtkomst har flera typer av regler som du kan tillämpa:

Matchningslös regel

Du kan konfigurera beteendet när inga regler matchas (standardåtgärden). Det är en särskild regel som alltid visas som den sista regeln i regelsamlingen. Om inställningen inte har konfigurerats beror det omatchade regelbeteendet på konfigurerade regler. Om det inte finns några regler är det omatchade regelbeteendet att tillåta all åtkomst, men om det finns en eller flera regler ändras den implicit för att neka all åtkomst. Du kan uttryckligen konfigurera det här beteendet för att antingen tillåta eller neka åtkomst oavsett definierade regler.

REGLER för IP-baserad åtkomstbegränsning

Funktionen IP-baserade åtkomstbegränsningar hjälper dig när du vill begränsa de IP-adresser som kan användas för att nå din app. Både IPv4 och IPv6 stöds. Vissa användningsfall för den här funktionen:

  • Begränsa åtkomsten till din app från en uppsättning väldefinierade adresser.
  • Begränsa åtkomsten till trafik som kommer via en extern belastningsutjämningstjänst eller andra nätverksinstallationer med kända utgående IP-adresser.

Information om hur du aktiverar den här funktionen finns i Konfigurera åtkomstbegränsningar.

Kommentar

IP-baserade regler för åtkomstbegränsning hanterar endast adressintervall för virtuella nätverk när din app finns i en App Service-miljön. Om din app finns i tjänsten för flera innehavare måste du använda tjänstslutpunkter för att begränsa trafiken för att välja undernät i det virtuella nätverket.

Regler för åtkomstbegränsning baserat på tjänstslutpunkter

Med tjänstslutpunkter kan du låsa inkommande åtkomst till din app så att källadressen måste komma från en uppsättning undernät som du väljer. Den här funktionen fungerar tillsammans med BEGRÄNSNINGAR för IP-åtkomst. Tjänstslutpunkter är inte kompatibla med fjärrfelsökning. Om du vill använda fjärrfelsökning med din app kan klienten inte finnas i ett undernät som har tjänstslutpunkter aktiverade. Processen för att ange tjänstslutpunkter liknar processen för att ange BEGRÄNSNINGAR för IP-åtkomst. Du kan skapa en lista över tillåtna/nekanden av åtkomstregler som innehåller offentliga adresser och undernät i dina virtuella nätverk.

Kommentar

Regler för åtkomstbegränsning som baseras på tjänstslutpunkter stöds inte för appar som har konfigurerad privat slutpunkt eller appar som använder IP-baserad SSL (apptilldelad adress).

Mer information om hur du konfigurerar tjänstslutpunkter med din app finns i Åtkomstbegränsningar för Azure App Service.

Valfri tjänstslutpunktskälla

För testning eller i specifika scenarier kan du tillåta trafik från valfri tjänstslutpunktsaktiverat undernät. Du kan göra det genom att definiera en IP-baserad regel med texten "AnyVnets" i stället för ett IP-intervall. Du kan inte skapa dessa regler i portalen, men du kan ändra en befintlig IP-baserad regel och ersätta IP-adressen med strängen "AnyVnets".

Regler för åtkomstbegränsning baserat på tjänsttaggar

Azure-tjänsttaggar är väldefinierade uppsättningar med IP-adresser för Azure-tjänster. Tjänsttaggar grupperar DE IP-intervall som används i olika Azure-tjänster och är ofta även ytterligare begränsade till specifika regioner. Med den här typen av regel kan du filtrera inkommande trafik från specifika Azure-tjänster.

En fullständig lista med taggar och mer information finns på länken för tjänsttaggen.

Information om hur du aktiverar den här funktionen finns i Konfigurera åtkomstbegränsningar.

Regler för flera källor

Med regler med flera källor kan du kombinera upp till åtta IP-intervall eller åtta tjänsttaggar i en enda regel. Du kan använda regler med flera källor om du har fler än 512 IP-intervall. Du kan också använda regler med flera källor om du vill skapa logiska regler där flera IP-intervall kombineras med ett enda http-huvudfilter.

Regler med flera källor definieras på samma sätt som du definierar regler med en källa, men med varje intervall avgränsat med kommatecken.

Du kan inte skapa dessa regler i portalen, men du kan ändra en befintlig tjänsttagg eller IP-baserad regel och lägga till fler källor i regeln.

Http-sidhuvudfiltrering för regler för begränsning av webbplatsåtkomst

För alla regler, oavsett typ, kan du lägga till http-sidhuvudfiltrering. Med http-huvudfilter kan du ytterligare granska den inkommande begäran och filtrera baserat på specifika http-sidhuvudvärden. Varje rubrik kan ha upp till åtta värden per regel. Följande visar de http-huvuden som stöds:

  • X-Forwarded-For. Standardhuvud för att identifiera den ursprungliga IP-adressen för en klient som ansluter via en proxyserver. Accepterar giltiga CIDR-värden.
  • X-Vidarebefordrad värd. Standardhuvud för att identifiera den ursprungliga värden som begärdes av klienten. Accepterar en sträng på upp till 64 tecken.
  • X-Azure-FDID. Anpassat huvud för att identifiera den omvända proxyinstansen. Azure Front Door skickar ett guid som identifierar instansen, men det kan också användas för proxyservrar som inte kommer från Microsoft för att identifiera den specifika instansen. Accepterar en sträng på upp till 64 tecken.
  • X-FD-HealthProbe. Anpassat huvud för att identifiera hälsoavsökningen för den omvända proxyn. Azure Front Door skickar "1" för att unikt identifiera en hälsoavsökningsbegäran. Huvudet kan också användas för proxyservrar som inte kommer från Microsoft för att identifiera hälsoavsökningar. Accepterar en sträng på upp till 64 tecken.

Några användningsfall för filtrering av http-huvuden är:

  • Begränsa åtkomsten till trafik från proxyservrar som vidarebefordrar värdnamnet
  • Begränsa åtkomsten till en specifik Azure Front Door-instans med en tjänsttaggregel och begränsning av X-Azure-FDID-huvuden

Diagnostikloggning

App Service kan skicka olika loggningskategorier till Azure Monitor. En av dessa kategorier anropas IPSecurity Audit logs och representerar aktiviteterna i åtkomstbegränsningar. Alla begäranden som matchar en regel (förutom den omatchade regeln), både tillåt och neka, loggas och kan användas för att verifiera konfigurationen av åtkomstbegränsningar. Loggningsfunktionen är också ett kraftfullt verktyg vid felsökning av regelkonfiguration.

Avancerade användningsfall

Genom att kombinera ovanstående funktioner kan du lösa vissa specifika användningsfall som beskrivs i följande avsnitt.

Blockera en enskild IP-adress

Om du vill neka/blockera en eller flera specifika IP-adresser kan du lägga till IP-adresserna som nekanderegler och konfigurera den omatchade regeln så att all omatchad trafik tillåts.

Begränsa åtkomsten till webbplatsen för avancerade verktyg

Webbplatsen för avancerade verktyg, som även kallas scm eller kudu, har en enskild regelsamling som du kan konfigurera. Du kan också konfigurera den omatchade regeln för den här webbplatsen. Med en inställning kan du använda de regler som konfigurerats för huvudplatsen. Du kan inte selektivt tillåta åtkomst till vissa avancerade verktygswebbplatsfunktioner. Du kan till exempel inte selektivt tillåta åtkomst endast till webbjobbshanteringskonsolen på webbplatsen för avancerade verktyg.

Distribuera via en privat slutpunkt

Du kanske har en plats som är offentligt tillgänglig, men distributionssystemet finns i ett virtuellt nätverk. Du kan hålla distributionstrafiken privat genom att lägga till en privat slutpunkt. Sedan måste du se till att offentlig appåtkomst är aktiverad. Slutligen måste du ange den omatchade regeln för den avancerade verktygswebbplatsen att neka, vilket blockerar all offentlig trafik till slutpunkten.

Tillåt extern partneråtkomst till en privat slutpunktsskyddad webbplats

I det här scenariot kommer du åt din webbplats via en privat slutpunkt och distribuerar via en privat slutpunkt. Du kan tillfälligt bjuda in en extern partner för att testa webbplatsen. Du kan göra det genom att aktivera åtkomst till offentliga appar. Lägg till en regel (IP-baserad) för att identifiera partnerns klient. Konfigurera matchningslös regelåtgärd för att neka för både huvudwebbplatsen och den avancerade verktygswebbplatsen.

Begränsa åtkomsten till en specifik Azure Front Door-instans

Trafik från Azure Front Door till ditt program kommer från en välkänd uppsättning IP-intervall som definierats i AzureFrontDoor.Backend tjänsttaggen. Med hjälp av en begränsningsregel för tjänsttaggar kan du begränsa trafik till att endast komma från Azure Front Door. För att säkerställa att trafiken endast kommer från din specifika instans måste du ytterligare filtrera inkommande begäranden baserat på det unika http-huvudet som Azure Front Door skickar med namnet X-Azure-FDID. Du hittar Front Door-ID:t i portalen.

Nästa steg

Kommentar

Regler för åtkomstbegränsning som blockerar offentlig åtkomst till din webbplats kan också blockera tjänster som loggströmning. Om du behöver dessa måste du tillåta din App Service IP-adress i dina begränsningar.