Az Application Gateway integrálása

A Azure-alkalmazás szolgáltatás három változata megköveteli a Azure-alkalmazás Átjáróval való integráció kissé eltérő konfigurálását. A változatok közé tartozik a normál App Service (más néven több-bérlő), egy belső terheléselosztó (ILB) App Service-környezet és egy külső App Service-környezet.

Ez a cikk bemutatja, hogyan konfigurálhatja az Application Gatewayt az App Service-vel (több-bérlős) szolgáltatásvégpontok használatával a forgalom védelmére. A cikk a privát végpontok használatával, valamint az ILB-sel és külső App Service-környezetekkel való integrációval kapcsolatos szempontokat is ismerteti. Végül a cikk bemutatja, hogyan állíthat be hozzáférési korlátozásokat a Source Control Manager (SCM) webhelyeken.

Integráció az App Service-vel (több-bérlős)

Az App Service (több-bérlős) nyilvános, internetes végponttal rendelkezik. A szolgáltatásvégpontok használatával csak egy adott alhálózat forgalmát engedélyezheti egy Azure-beli virtuális hálózaton belül, és minden mást letilthat. A következő forgatókönyvben ezzel a funkcióval biztosíthatja, hogy egy App Service-példány csak egy adott application gatewayről fogadhassa a forgalmat.

Diagram that shows the internet flowing to an application gateway in an Azure virtual network and then flowing through a firewall icon to instances of apps in App Service.

Ennek a konfigurációnak két része van, az App Service-példány és az Application Gateway létrehozása mellett. Az első rész a szolgáltatásvégpontok engedélyezése annak a virtuális hálózatnak az alhálózatán, ahol az Application Gateway telepítve van. A szolgáltatásvégpontok biztosítják, hogy az alhálózatot az App Service felé elhagyó összes hálózati forgalom meg legyen címkézve az adott alhálózat-azonosítóval.

A második rész egy hozzáférési korlátozás beállítása az adott webalkalmazásra annak biztosítása érdekében, hogy csak az adott alhálózat-azonosítóval megjelölt forgalom legyen engedélyezve. A hozzáférési korlátozást a beállításoktól függően különböző eszközökkel konfigurálhatja.

Szolgáltatások beállítása az Azure Portal használatával

Az Azure Portalon négy lépést követve hozhatja létre és konfigurálhatja az App Service és az Application Gateway beállítását. Ha rendelkezik meglévő erőforrásokkal, kihagyhatja az első lépéseket.

  1. Hozzon létre egy App Service-példányt az App Service dokumentációjának egyik rövid útmutatójával. Ilyen például a .NET Core rövid útmutatója.
  2. Hozzon létre egy application gatewayt a portál rövid útmutatójával, de hagyja ki a háttérbeli célok hozzáadásáról szóló szakaszt.
  3. Konfigurálja az App Service-t háttérrendszerként az Application Gatewayben, de hagyja ki a hozzáférés korlátozásáról szóló szakaszt.
  4. Hozza létre a hozzáférési korlátozást szolgáltatásvégpontok használatával.

Mostantól az App Service-t az Application Gatewayen keresztül érheti el. Ha közvetlenül próbál hozzáférni az App Service-hez, 403 HTTP-hibaüzenet jelenik meg, amely szerint a webalkalmazás letiltotta a hozzáférést.

Screenshot shows the text of Error 403 - Forbidden.

Szolgáltatások beállítása Azure Resource Manager-sablonnal

Az Azure Resource Manager üzembehelyezési sablonja egy teljes forgatókönyvet hoz létre. A forgatókönyv egy olyan App Service-példányból áll, amely szolgáltatásvégpontokkal van zárolva, és hozzáférési korlátozást tartalmaz, hogy csak az Application Gatewayről fogadhassa a forgalmat. A sablon számos intelligens alapértelmezett beállítást és egyedi utótagot tartalmaz az erőforrásnevekhez az egyszerűség érdekében. A felülbírálásukhoz klónoznia kell az adattárat, vagy le kell töltenie a sablont, és szerkesztenie kell azt.

A sablon alkalmazásához használhatja az Üzembe helyezés az Azure-ban gombot a sablon leírásában. Vagy használhatja a megfelelő PowerShell- vagy Azure CLI-kódot.

Szolgáltatások beállítása az Azure CLI használatával

Az Azure CLI-minta létrehoz egy App Service-példányt, amely le van zárva szolgáltatásvégpontokkal és hozzáférési korlátozással, hogy csak az Application Gatewayről fogadhassa a forgalmat. Ha csak egy meglévő App Service-példány felé irányuló forgalmat kell elkülönítenie egy meglévő alkalmazásátjárótól, használja a következő parancsot:

az webapp config access-restriction add --resource-group myRG --name myWebApp --rule-name AppGwSubnet --priority 200 --subnet mySubNetName --vnet-name myVnetName

Az alapértelmezett konfigurációban a parancs biztosítja a szolgáltatásvégpont konfigurációjának beállítását az alhálózaton, valamint az App Service hozzáférési korlátozását.

A privát végpontok használatának szempontjai

A szolgáltatásvégpontok alternatívaként magánvégpontok használatával biztonságossá teheti az Application Gateway és az App Service (több-bérlős) közötti forgalmat. Gondoskodnia kell arról, hogy az Application Gateway DNS-t használjon az App Service-alkalmazások magánhálózati IP-címének feloldásához. Másik lehetőségként használhatja a privát IP-címet a háttérkészletben, és felülbírálhatja a gazdagép nevét a HTTP-beállításokban.

Diagram that shows traffic flowing to an application gateway in an Azure virtual network and then flowing through a private endpoint to instances of apps in App Service.

Az Application Gateway gyorsítótárazza a DNS-keresési eredményeket. Ha teljes tartományneveket (teljes tartományneveket) használ, és a DNS-keresésre támaszkodik a magánhálózati IP-cím lekéréséhez, előfordulhat, hogy újra kell indítania az application gatewayt, ha a DNS-frissítés vagy az Azure privát DNS-zónára mutató hivatkozás a háttérkészlet konfigurálása után történt.

Az Application Gateway újraindításához állítsa le és indítsa el az Azure CLI használatával:

az network application-gateway stop --resource-group myRG --name myAppGw
az network application-gateway start --resource-group myRG --name myAppGw

Az ILB App Service-környezettel kapcsolatos szempontok

Az ILB App Service-környezet nem érhető el az interneten. A példány és az application gateway közötti forgalom már el van különítve a virtuális hálózathoz. Az ILB App Service-környezet konfigurálásához és alkalmazásátjáróval való integrálásához tekintse meg az útmutatót.

Ha meg szeretné győződni arról, hogy csak az Application Gateway alhálózatából érkező forgalom éri el az App Service-környezetet, konfigurálhat egy hálózati biztonsági csoportot (NSG), amely az App Service-környezet összes webalkalmazását érinti. Az NSG-hez megadhatja az alhálózat IP-tartományát és opcionálisan a portokat (80/443). Ahhoz, hogy az App Service-környezet megfelelően működjön, győződjön meg arról, hogy nem bírálja felül a szükséges NSG-szabályokat.

Az egyes webalkalmazások felé történő forgalom elkülönítéséhez IP-alapú hozzáférési korlátozásokat kell használnia, mivel a szolgáltatásvégpontok nem működnek App Service-környezettel. Az IP-címnek az application gateway privát IP-címének kell lennie.

Külső App Service-környezettel kapcsolatos szempontok

A külső App Service-környezethez nyilvános terheléselosztó tartozik, például több-bérlős App Service. A szolgáltatásvégpontok nem működnek App Service-környezetben. Ezért kell IP-alapú hozzáférési korlátozásokat használnia az Application Gateway nyilvános IP-címének használatával. Ha külső App Service-környezetet szeretne létrehozni az Azure Portal használatával, kövesse ezt a rövid útmutatót.

Kudu/SCM-webhely megfontolandó szempontjai

Az SCM-webhely( más néven Kudu) egy rendszergazdai webhely, amely minden webalkalmazáshoz létezik. Az SCM-helyhez nem használható fordított proxy. Valószínűleg az egyes IP-címekre vagy egy adott alhálózatra is szeretné zárolni.

Ha ugyanazokat a hozzáférési korlátozásokat szeretné használni, mint a fő hely, a következő paranccsal örökölheti a beállításokat:

az webapp config access-restriction set --resource-group myRG --name myWebApp --use-same-restrictions-for-scm-site

Ha egyéni hozzáférési korlátozásokat szeretne hozzáadni az SCM-webhelyhez, használhatja a jelzőt --scm-site :

az webapp config access-restriction add --resource-group myRG --name myWebApp --scm-site --rule-name KudoAccess --priority 200 --ip-address 208.130.0.0/16

Az alapértelmezett tartomány használatának szempontjai

Az integráció konfigurálásának legegyszerűbb módja az Application Gateway konfigurálása a gazdagép nevének felülbírálása és az App Service alapértelmezett tartományának használata (általában azurewebsites.net) használatával. Nincs szükség egyéni tartomány és tanúsítvány konfigurálására az App Service-ben.

Ez a cikk az eredeti gazdagépnév felülírásának általános szempontjait ismerteti. Az App Service-ben két olyan eset van, amikor figyelmet kell fordítani erre a konfigurációra.

Authentication

Ha az App Service-ben (más néven Easy Auth) használja a hitelesítési funkciót , az alkalmazás általában a bejelentkezési oldalra irányítja át. Mivel az App Service nem ismeri a kérés eredeti állomásnevét, az átirányítás az alapértelmezett tartománynéven történik, és általában hibát eredményez.

Az alapértelmezett átirányítás megkerüléséhez konfigurálhatja a hitelesítést a továbbított fejléc vizsgálatához, és az átirányítási tartományt az eredeti tartományhoz igazíthatja. Az Application Gateway egy úgynevezett X-Original-Hostfejlécet használ. Ha fájlalapú konfigurációt használ a hitelesítés konfigurálásához, konfigurálhatja az App Service-t úgy, hogy az alkalmazkodjon az eredeti gazdagép nevéhez. Adja hozzá ezt a konfigurációt a konfigurációs fájlhoz:

{
    ...
    "httpSettings": {
        "forwardProxy": {
            "convention": "Custom",
            "customHostHeaderName": "X-Original-Host"
        }
    }
    ...
}

ARR-affinitás

A többpéldányos üzemelő példányokban az ARR affinitás biztosítja, hogy az ügyfélkérések a munkamenet élettartama során ugyanahhoz a példányhoz legyenek irányítva. Az ARR-affinitás nem működik az állomásnév felülbírálásával. A munkamenet-affinitás működéséhez konfigurálnia kell egy azonos egyéni tartományt és tanúsítványt az App Service-ben és az Application Gatewayben, és nem felül kell bírálnia a gazdagép nevét.

Következő lépések

Az App Service-környezetekkel kapcsolatos további információkért tekintse meg az App Service Environment dokumentációját.

A webalkalmazás további védelme érdekében az Azure Web Application Firewall alkalmazásátjárón található Azure Web Application Firewallról az Azure Web Application Firewall dokumentációjában talál információkat.

Az Azure Front Door vagy az Application Gateway használatával egyéni tartománnyal rendelkező biztonságos, rugalmas webhely üzembe helyezéséhez tekintse meg ezt az oktatóanyagot.