Application Gateway tümleştirmesi
Azure Uygulaması Hizmeti'nin üç varyasyonu, Azure Uygulaması Lication Gateway ile tümleştirmenin biraz farklı yapılandırılmasını gerektirir. Varyasyonlar arasında normal App Service (çok kiracılı olarak da bilinir), iç yük dengeleyici (ILB) App Service Ortamı ve dış App Service Ortamı bulunur.
Bu makalede, trafiğin güvenliğini sağlamak için hizmet uç noktalarını kullanarak App Service ile Application Gateway'i (çok kiracılı) yapılandırma adımları anlatılır. Makalede ayrıca özel uç noktaları kullanma ve ILB ile dış App Service Ortamı tümleştirme ile ilgili önemli noktalar ele alınmaktadır. Son olarak, makalede bir Kaynak Denetim Yöneticisi (SCM) sitesinde erişim kısıtlamalarının nasıl ayarlanacağı açıklanır.
App Service ile tümleştirme (çok kiracılı)
App Service'in (çok kiracılı) İnternet'e yönelik genel bir uç noktası vardır. Hizmet uç noktalarını kullanarak, Azure sanal ağı içindeki yalnızca belirli bir alt ağdan gelen trafiğe izin verebilir ve diğer her şeyi engelleyebilirsiniz. Aşağıdaki senaryoda, bir App Service örneğinin yalnızca belirli bir uygulama ağ geçidinden trafik alabilmesini sağlamak için bu işlevi kullanırsınız.
App Service örneğini ve uygulama ağ geçidini oluşturmanın dışında bu yapılandırmanın iki bölümü vardır. İlk bölüm, uygulama ağ geçidinin dağıtıldığı sanal ağın alt ağında hizmet uç noktalarını etkinleştirmektir. Hizmet uç noktaları, alt ağı App Service'e doğru bırakan tüm ağ trafiğinin belirli alt ağ kimliğiyle etiketlendiğinden emin olur.
İkinci bölüm, yalnızca bu alt ağ kimliğiyle etiketlenen trafiğe izin verildiğinden emin olmak için belirli bir web uygulamasına erişim kısıtlaması ayarlamaktır. Tercihinize bağlı olarak farklı araçlar kullanarak erişim kısıtlamasını yapılandırabilirsiniz.
Azure portalını kullanarak hizmetleri ayarlama
Azure portalında App Service ve Application Gateway kurulumunu oluşturmak ve yapılandırmak için dört adımı izlersiniz. Mevcut kaynaklarınız varsa ilk adımları atlayabilirsiniz.
- App Service belgelerindeki hızlı başlangıçlardan birini kullanarak bir App Service örneği oluşturun. Örneklerden biri .NET Core hızlı başlangıcıdır.
- Portal hızlı başlangıcını kullanarak bir uygulama ağ geçidi oluşturun, ancak arka uç hedefleri ekleme bölümünü atlayın.
- App Service'i Application Gateway'de arka uç olarak yapılandırın, ancak erişimi kısıtlama bölümünü atlayın.
- Hizmet uç noktalarını kullanarak erişim kısıtlaması oluşturun.
Artık App Service'e Application Gateway üzerinden erişebilirsiniz. App Service'e doğrudan erişmeye çalışırsanız, web uygulamasının erişiminizi engellediğini belirten bir 403 HTTP hatası almanız gerekir.
Azure Resource Manager şablonu kullanarak hizmetleri ayarlama
Azure Resource Manager dağıtım şablonu eksiksiz bir senaryo oluşturur. Senaryo, hizmet uç noktalarıyla kilitlenmiş bir App Service örneğinden ve yalnızca Application Gateway'den trafik almaya yönelik erişim kısıtlamasından oluşur. Şablon, basit tutmak için kaynak adlarına eklenen birçok akıllı varsayılan değer ve benzersiz son ek içerir. Bunları geçersiz kılmak için depoyu kopyalamanız veya şablonu indirip düzenlemeniz gerekir.
Şablonu uygulamak için, şablonun açıklamasındaki Azure'a Dağıt düğmesini kullanabilirsiniz. İsterseniz uygun PowerShell veya Azure CLI kodunu da kullanabilirsiniz.
Azure CLI kullanarak hizmetleri ayarlama
Azure CLI örneği, yalnızca Application Gateway'den trafik almak için hizmet uç noktaları ve erişim kısıtlaması ile kilitlenmiş bir App Service örneği oluşturur. Mevcut bir App Service örneğine gelen trafiği yalnızca mevcut bir uygulama ağ geçidinden yalıtmanız gerekiyorsa aşağıdaki komutu kullanın:
az webapp config access-restriction add --resource-group myRG --name myWebApp --rule-name AppGwSubnet --priority 200 --subnet mySubNetName --vnet-name myVnetName
Varsayılan yapılandırmada, komut alt ağda hizmet uç noktası yapılandırmasının ve App Service'teki erişim kısıtlamasının ayarlanmasını sağlar.
Özel uç noktaları kullanmayla ilgili dikkat edilmesi gerekenler
Hizmet uç noktalarına alternatif olarak, Application Gateway ile App Service (çok kiracılı) arasındaki trafiğin güvenliğini sağlamak için özel uç noktaları kullanabilirsiniz. Application Gateway'in App Service uygulamalarının özel IP adresini çözümlemek için DNS kullanabildiğinden emin olmanız gerekir. Alternatif olarak, arka uç havuzundaki özel IP adresini kullanabilir ve HTTP ayarlarında ana bilgisayar adını geçersiz kılabilirsiniz.
Application Gateway, DNS arama sonuçlarını önbelleğe alır. Tam etki alanı adları (FQDN) kullanıyorsanız ve özel IP adresini almak için DNS aramasına güveniyorsanız, ARKA uç havuzunu yapılandırdıktan sonra DNS güncelleştirmesi veya Azure özel DNS bölgesi bağlantısı oluştuysa uygulama ağ geçidini yeniden başlatmanız gerekebilir.
Uygulama ağ geçidini yeniden başlatmak için Azure CLI'yı kullanarak durdurun ve başlatın:
az network application-gateway stop --resource-group myRG --name myAppGw
az network application-gateway start --resource-group myRG --name myAppGw
ILB App Service Ortamı ile ilgili dikkat edilmesi gerekenler
ILB App Service Ortamı internete açık değildir. Örnek ve uygulama ağ geçidi arasındaki trafik zaten sanal ağa yalıtılmış durumda. Azure portalını kullanarak bir ILB App Service Ortamı yapılandırmak ve bunu bir uygulama ağ geçidiyle tümleştirmek için nasıl yapılır kılavuzuna bakın.
Yalnızca Application Gateway alt ağından gelen trafiğin App Service Ortamı ulaştığından emin olmak istiyorsanız, App Service Ortamı tüm web uygulamalarını etkileyen bir ağ güvenlik grubu (NSG) yapılandırabilirsiniz. NSG için alt ağ IP aralığını ve isteğe bağlı olarak bağlantı noktalarını (80/443) belirtebilirsiniz. App Service Ortamı düzgün çalışması için gerekli NSG kurallarını geçersiz kılmadığınızdan emin olun.
Tek bir web uygulamasına gelen trafiği yalıtmak için, hizmet uç noktaları bir App Service Ortamı ile çalışmadığından IP tabanlı erişim kısıtlamaları kullanmanız gerekir. IP adresi, uygulama ağ geçidinin özel IP adresi olmalıdır.
Dış App Service Ortamı için dikkat edilmesi gerekenler
Dış App Service Ortamı, çok kiracılı App Service gibi genel kullanıma yönelik bir yük dengeleyiciye sahiptir. Hizmet uç noktaları bir App Service Ortamı için çalışmaz. Bu nedenle, uygulama ağ geçidinin genel IP adresini kullanarak IP tabanlı erişim kısıtlamalarını kullanmanız gerekir. Azure portalını kullanarak dış App Service Ortamı oluşturmak için bu hızlı başlangıcı izleyebilirsiniz.
Kudu/SCM sitesi için dikkat edilmesi gerekenler
Kudu olarak da bilinen SCM sitesi, her web uygulaması için mevcut olan bir yönetici sitesidir. SCM sitesi için ters proxy kullanmak mümkün değildir. Büyük olasılıkla bunu tek tek IP adreslerine veya belirli bir alt ağa kilitlemek istersiniz.
Ana siteyle aynı erişim kısıtlamalarını kullanmak istiyorsanız, aşağıdaki komutu kullanarak ayarları devralabilirsiniz:
az webapp config access-restriction set --resource-group myRG --name myWebApp --use-same-restrictions-for-scm-site
SCM sitesi için tek tek erişim kısıtlamaları eklemek istiyorsanız bayrağını --scm-site
kullanabilirsiniz:
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
Varsayılan etki alanını kullanmayla ilgili dikkat edilmesi gerekenler
Application Gateway'i konak adını geçersiz kılıp App Service'in varsayılan etki alanını (genellikle) kullanacak şekilde azurewebsites.net
yapılandırmak, tümleştirmeyi yapılandırmanın en kolay yoludur. App Service'te özel bir etki alanı ve sertifika yapılandırma gerektirmez.
Bu makalede , özgün ana bilgisayar adını geçersiz kılmaya yönelik genel noktalar ele alınmaktadır. App Service'te bu yapılandırmaya dikkat etmeniz gereken iki senaryo vardır.
Kimlik Doğrulaması
App Service'te (Kolay Kimlik Doğrulaması olarak da bilinir) kimlik doğrulama özelliğini kullandığınızda, uygulamanız genellikle oturum açma sayfasına yönlendirilir. App Service isteğin özgün ana bilgisayar adını bilmediğinden, yeniden yönlendirme varsayılan etki alanı adında yapılır ve genellikle bir hatayla sonuçlanır.
Varsayılan yeniden yönlendirmeyi geçici olarak çözmek için, kimlik doğrulamasını iletilen bir üst bilgiyi inceleyip yeniden yönlendirme etki alanını özgün etki alanına uyarlamak üzere yapılandırabilirsiniz. Application Gateway adlı X-Original-Host
bir üst bilgi kullanır. Kimlik doğrulamasını yapılandırmak için dosya tabanlı yapılandırmayı kullanarak App Service'i özgün ana bilgisayar adına uyum sağlayacak şekilde yapılandırabilirsiniz. Bu yapılandırmayı yapılandırma dosyanıza ekleyin:
{
...
"httpSettings": {
"forwardProxy": {
"convention": "Custom",
"customHostHeaderName": "X-Original-Host"
}
}
...
}
ARR benzeşimi
Birden çok örnekli dağıtımlarda, ARR benzimi istemci isteklerinin oturumun ömrü boyunca aynı örneğe yönlendirilmesini sağlar. ARR benzitesi, ana bilgisayar adı geçersiz kılmalarıyla çalışmaz. Oturum benzitesinin çalışması için App Service'te ve Application Gateway'de aynı özel etki alanı ve sertifikayı yapılandırmanız ve konak adını geçersiz kılmanız gerekmez.
Sonraki adımlar
App Service Ortamı hakkında daha fazla bilgi için App Service Ortamı belgelerine bakın.
Web uygulamanızın güvenliğini daha da sağlamak için Azure Web Uygulaması Güvenlik Duvarı belgelerinde Application Gateway'de Azure Web Uygulaması Güvenlik Duvarı hakkında bilgi bulabilirsiniz.
Azure Front Door veya Application Gateway kullanarak App Service'te özel etki alanına sahip güvenli ve dayanıklı bir site dağıtmak için bu öğreticiye bakın.