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

Viktigt!

Privat slutpunkt är tillgänglig 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 privat slutpunkt för dina App Service-appar för att tillåta klienter som finns i ditt privata nätverk att 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, vilket eliminerar exponeringen från det offentliga Internet.

Med 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 ansluta 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, 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 den privata slutpunkten. Det här är en begränsning för integreringsfunktionen för virtuella nätverk.

Ur ett säkerhetsperspektiv:

  • Privat slutpunkt och offentlig åtkomst kan samexistera i en app. Mer information finns i Översikt över åtkomstbegränsningar
  • När du aktiverar privata slutpunkter till din app kontrollerar du att åtkomsten till det offentliga nätverket är inaktiverad för att säkerställa isolering.
  • 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 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.

Global översikt över privat slutpunkt för App Service-app

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 mywebappname.azurewebsites.net.

Utan 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 40.122.110.154

När du distribuerar en privat slutpunkt uppdaterar vi 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 40.122.110.154 <--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 mywebappname.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 måste du lägga till det anpassade namnet i din app och du måste verifiera det anpassade namnet som valfritt anpassat 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-agenter) måste du 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, den andra är för SCM för din app.

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) måste du aktivera stöd för den privata slutpunkten på App Service-miljön nivå. Du kan aktivera funktionen via Azure-portalen 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 måste du se till att prenumerationen med det virtuella nätverket är registrerad för Microsoft.Web resursprovidern. Du kan uttryckligen registrera providern genom att följa den här dokumentationen, men du registrerar även 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-plan med privat slutpunkt för att köra eller köra funktionen i Azure-portalen måste du ha direkt nätverksåtkomst eller så får du ett HTTP 403-fel. Med andra ord måste webbläsaren kunna nå den privata slutpunkten för att köra funktionen från Azure-portalen.
  • Du kan ansluta upp till 100 privata slutpunkter till en viss app.
  • Fjärrfelsökningsfunktioner är inte tillgängliga via den privata slutpunkten. Rekommendationen är att distribuera koden till ett fack och fjärrfelsöka den där.
  • FTP-åtkomst tillhandahålls via den inkommande offentliga IP-adressen. Privat slutpunkt stöder inte FTP-åtkomst till appen.
  • IP-baserad SSL 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 kan inte använda tjänstslutpunktsbaserade åtkomstbegränsningsregler.
  • Namngivning av privata slutpunkter måste följa de regler som definierats för resurser av typen Microsoft.Network/privateEndpoints. Namngivningsregler finns här.

Vi förbättrar Azure Private Link-funktionen och den privata slutpunkten regelbundet. Mer information om begränsningar finns i den här artikeln .

Nästa steg