Dela via


Använda privata slutpunkter för App Service-appar

Kommentar

Från och med den 1 juni 2024 kan nyligen skapade App Service-appar generera ett unikt standardvärdnamn som använder namngivningskonventionen <app-name>-<random-hash>.<region>.azurewebsites.net. Befintliga appnamn förblir oförändrade. Till exempel:

myapp-ds27dh7271aah175.westus-01.azurewebsites.net

Mer information finns i Unikt standardvärdnamn för App Service-resurs.

Viktigt!

Privata slutpunkter är tillgängliga för Windows- och Linux-appar, containerbaserade eller inte, som finns i dessa App Service-planer: Basic, Standard, PremiumV2, PremiumV3, IsolatedV2, Functions Premium (kallas ibland Elastic Premium-planen).

Du kan använda en privat slutpunkt för dina App Service-appar. Med den privata slutpunkten kan klienter som finns i ditt privata nätverk få säker åtkomst till appen via Azure Private Link. Den privata slutpunkten använder en IP-adress från ditt virtuella Azure-nätverksadressutrymme. Nätverkstrafik mellan en klient i ditt privata nätverk och appen passerar över det virtuella nätverket och en Private Link i Microsofts stamnätverk. Den här konfigurationen eliminerar exponeringen från det offentliga Internet.

Med hjälp av en privat slutpunkt för din app kan du:

  • Skydda din app genom att konfigurera den privata slutpunkten och inaktivera åtkomsten till det offentliga nätverket för att eliminera offentlig exponering.
  • Anslut på ett säkert sätt till din app från lokala nätverk som ansluter till det virtuella nätverket med hjälp av en privat VPN- eller ExpressRoute-peering.
  • Undvik dataexfiltrering från ditt virtuella nätverk.

Begreppsmässig översikt

En privat slutpunkt är ett särskilt nätverksgränssnitt (NIC) för din App Service-app i ett undernät i ditt virtuella nätverk. När du skapar en privat slutpunkt för din app ger den säker anslutning mellan klienter i ditt privata nätverk och din app. Den privata slutpunkten tilldelas en IP-adress från IP-adressintervallet för ditt virtuella nätverk. Anslutningen mellan den privata slutpunkten och appen använder en säker privat länk. Privat slutpunkt används endast för inkommande trafik till din app. Utgående trafik använder inte den här privata slutpunkten. Du kan mata in utgående trafik till nätverket i ett annat undernät via integreringsfunktionen för virtuella nätverk.

Varje plats i en app konfigureras separat. Du kan använda upp till 100 privata slutpunkter per fack. Du kan inte dela en privat slutpunkt mellan platser. Underresursnamnet för ett fack är sites-<slot-name>.

Det undernät där du ansluter den privata slutpunkten kan ha andra resurser i den. Du behöver inte ett dedikerat tomt undernät. Du kan också distribuera den privata slutpunkten i en annan region än din app.

Kommentar

Integreringsfunktionen för virtuella nätverk kan inte använda samma undernät som privat slutpunkt.

Ur ett säkerhetsperspektiv:

  • Privat slutpunkt och offentlig åtkomst kan samexistera i en app. Mer information finns i den här översikten över åtkomstbegränsningar.
  • Se till att åtkomsten till det offentliga nätverket är inaktiverad för att säkerställa isolering när du aktiverar privata slutpunkter till din app.
  • Du kan aktivera flera privata slutpunkter i andra virtuella nätverk och undernät, inklusive virtuella nätverk i andra regioner.
  • Åtkomstbegränsningarna för din app utvärderas inte för trafik via den privata slutpunkten.
  • Du kan eliminera dataexfiltreringsrisken från det virtuella nätverket genom att ta bort alla NSG-regler (Network Security Group) där målet är taggen Internet eller Azure-tjänster.

I appens HTTP-webbloggar hittar du klientkällans IP-adress. Den här funktionen implementeras med hjälp av TCP Proxy-protokollet och vidarebefordrar klientens IP-egenskap till appen. Mer information finns i Hämta anslutningsinformation med TCP Proxy v2.

Diagram som visar översikten över den privata slutpunkten för App Service-appen.

DNS

När du använder privat slutpunkt för App Service-appar måste den begärda URL:en matcha namnet på din app. Som standard . <app-name>.azurewebsites.net När du använder ett unikt standardvärdnamn har appnamnet formatet <app-name>-<random-hash>.<region>.azurewebsites.net. I följande exempel kan mywebapp också representera det fullständiga regionaliserade unika värdnamnet.

Utan en privat slutpunkt är det offentliga namnet på webbappen som standard ett kanoniskt namn på klustret. Namnmatchningen är till exempel:

Namn Typ Värde
mywebapp.azurewebsites.net CNAME clustername.azurewebsites.windows.net
clustername.azurewebsites.windows.net CNAME cloudservicename.cloudapp.net
cloudservicename.cloudapp.net A 192.0.2.13

När du distribuerar en privat slutpunkt uppdaterar metoden DNS-posten så att den pekar på det kanoniska namnet: mywebapp.privatelink.azurewebsites.net. Namnmatchningen är till exempel:

Namn Typ Värde Anmärkning
mywebapp.azurewebsites.net CNAME mywebapp.privatelink.azurewebsites.net
mywebapp.privatelink.azurewebsites.net CNAME clustername.azurewebsites.windows.net
clustername.azurewebsites.windows.net CNAME cloudservicename.cloudapp.net
cloudservicename.cloudapp.net A 192.0.2.13 <--Den här offentliga IP-adressen är inte din privata slutpunkt, du får ett 403-fel

Du måste konfigurera en privat DNS-server eller en privat Azure DNS-zon. För tester kan du ändra värdposten för testdatorn. Den DNS-zon som du behöver skapa är: privatelink.azurewebsites.net. Registrera posten för din app med en A-post och ip-adressen för den privata slutpunkten. Namnmatchningen är till exempel:

Namn Typ Värde Anmärkning
mywebapp.azurewebsites.net CNAME mywebapp.privatelink.azurewebsites.net <--Azure skapar den här CNAME-posten i Azure Public DNS för att peka appadressen till den privata slutpunktsadressen
mywebapp.privatelink.azurewebsites.net A 10.10.10.8 <--Du hanterar den här posten i DNS-systemet för att peka på din privata slutpunkts-IP-adress

Efter den här DNS-konfigurationen kan du nå din app privat med standardnamnet mywebapp.azurewebsites.net. Du måste använda det här namnet eftersom standardcertifikatet har utfärdats för *.azurewebsites.net.

Om du behöver använda ett anpassat DNS-namn lägger du till det anpassade namnet i appen och måste verifiera det anpassade namnet som alla anpassade namn med hjälp av offentlig DNS-matchning. Mer information finns i anpassad DNS-validering.

För Kudu-konsolen eller Kudu REST API (distribution med lokala Azure DevOps Services-agenter) måste du till exempel skapa två poster som pekar på ip-adressen för den privata slutpunkten i din privata Azure DNS-zon eller din anpassade DNS-server. Den första är för din app och den andra gäller för appens SCM.

Namn Typ Värde
mywebapp.privatelink.azurewebsites.net A PrivateEndpointIP
mywebapp.scm.privatelink.azurewebsites.net A PrivateEndpointIP

App Service-miljön v3 särskilt övervägande

För att aktivera privat slutpunkt för appar som finns i en IsolatedV2-plan (App Service-miljön v3) aktiverar du stöd för den privata slutpunkten på App Service-miljön nivå. Du kan aktivera funktionen via Azure Portal i konfigurationsfönstret App Service-miljön eller via följande CLI:

az appservice ase update --name myasename --allow-new-private-endpoint-connections true

Specifika krav

Om det virtuella nätverket finns i en annan prenumeration än appen kontrollerar du att prenumerationen med det virtuella nätverket är registrerad för resursprovidern Microsoft.Web . Information om hur du registrerar providern finns i Registrera resursprovider. Du registrerar providern automatiskt när du skapar den första webbappen i en prenumeration.

Prissättning

Prisinformation finns i Priser för Azure Private Link.

Begränsningar

  • När du använder Azure Function i Elastic Premium-abonnemanget med en privat slutpunkt måste du ha direkt nätverksåtkomst för att kunna köra funktionen i Azure Portal. Annars får du ett HTTP 403-fel. Webbläsaren måste kunna nå den privata slutpunkten för att kunna köra funktionen från Azure Portal.
  • Du kan ansluta upp till 100 privata slutpunkter till en viss app.
  • Fjärrfelsökningsfunktioner är inte tillgängliga via den privata slutpunkten. Vi rekommenderar att du distribuerar koden till ett fack och fjärrfelsöker den där.
  • FTP-åtkomst tillhandahålls via den inkommande offentliga IP-adressen. En privat slutpunkt stöder inte FTP-åtkomst till appen.
  • IP-baserad TLS stöds inte med privata slutpunkter.
  • Appar som du konfigurerar med privata slutpunkter kan inte ta emot offentlig trafik som kommer från undernät med Microsoft.Web tjänstslutpunkten aktiverad och som inte kan använda tjänstslutpunktsbaserade regler för åtkomstbegränsning.
  • Namngivning av privata slutpunkter måste följa de regler som definierats för resurser av typen Microsoft.Network/privateEndpoints. Mer information finns i Namngivningsregler och begränsningar.

Uppdaterad information om begränsningar finns i Begränsningar.