hizmet erişim kısıtlamalarını Azure Uygulaması

App Service'teki erişim kısıtlamaları, trafiği engellemenize ve filtrelemenize olanak sağlayan bir güvenlik duvarına eşdeğerdir. Erişim kısıtlamaları yalnızca gelen erişim için geçerlidir. App Service fiyatlandırma katmanlarının çoğu, uygulamaya başka bir giriş noktası olan özel uç noktalar ekleme özelliğine de sahiptir. Erişim kısıtlamaları, özel uç nokta üzerinden giren trafiğe uygulanmaz. App Service'te barındırılan tüm uygulamalar için varsayılan giriş noktası genel kullanıma açıktır. Tek istisna, varsayılan giriş noktasının sanal ağın içinde olduğu ILB App Service Ortamı barındırılan uygulamalardır.

Nasıl çalışır?

Trafik App Service'e ulaştığında, önce trafiğin özel bir uç noktadan mı geldiğini yoksa varsayılan uç noktadan mı geldiğini değerlendirir. Trafik özel bir uç nokta üzerinden gönderilirse, herhangi bir kısıtlama olmadan doğrudan siteye gönderir. Özel uç noktalara yönelik kısıtlamalar ağ güvenlik grupları kullanılarak yapılandırılır.

Trafiği varsayılan uç nokta (genellikle genel uç nokta) üzerinden gönderirseniz, trafik önce uygulama erişim düzeyinde değerlendirilir. Burada erişimi etkinleştirebilir veya devre dışı bırakabilirsiniz. Uygulama erişimini etkinleştirirseniz, trafik site erişim düzeyinde değerlendirilir. Herhangi bir uygulama için hem ana siteye hem de gelişmiş araçlar sitesine (scm veya kudu sitesi olarak da bilinir) sahip olursunuz.

Her site için bir dizi erişim kısıtlama kuralı yapılandırma seçeneğiniz vardır. Erişim kısıtlama kuralları öncelik sırasına göre değerlendirilir. Bazı kurallar aynı önceliğe sahipse, sıralamadan önce Azure Resource Manager API'sinden ve Azure portalından döndürüldüklerinde listelendikleri sırayla değerlendirilir. Hiçbir kural eşleştirilmemişse davranışı da belirtebilirsiniz. Aşağıdaki bölümlerde ayrıntılara yer velanmıştır.

Diagram of access restrictions high-level flow.

Uygulama erişimi

Uygulama erişimi, erişimin varsayılan (genel) uç nokta üzerinden kullanılabilir olup olmadığını yapılandırmanıza olanak tanır. Bu davranışı veya Enabledolacak Disabled şekilde yapılandırabilirsiniz. Erişim etkinleştirildiğinde, belirli sanal ağlardan ve IP adreslerinden erişimi denetlemek için Site erişim kısıtlama kuralları ekleyebilirsiniz. Ayar yapılandırılmadıysa, varsayılan davranış, erişimi devre dışı bırakmak için davranışı değiştiren özel bir uç nokta yoksa erişimi etkinleştirmektir.

Screenshot of app access option in Azure portal.

Azure Resource Manager API'sinde uygulama erişimi olarak adlandırılır publicNetworkAccess. ILB App Service Ortamı için, uygulamaların varsayılan giriş noktası her zaman sanal ağın içindedir. Uygulama erişiminin (publicNetworkAccess) etkinleştirilmesi uygulamalara doğrudan genel erişim vermez; bunun yerine, App Service Ortamı iç IP adresine karşılık gelen varsayılan giriş noktasından erişime izin verir. ILB App Service Ortamı uygulama erişimini devre dışı bırakırsanız, uygulamalara yalnızca tek tek uygulamalara eklenen özel uç noktalar üzerinden erişebilirsiniz.

Site erişimi

Site erişim kısıtlamaları, gelen istekleri filtrelemenize olanak sağlar. Site erişim kısıtlamaları, öncelik sırasına göre değerlendirilen izin verme ve reddetme kurallarının listesini oluşturmanıza olanak sağlar. Azure ağındaki ağ güvenlik grubu (NSG) özelliğine benzer.

Screenshot of site access options in Azure portal.

Site erişim kısıtlaması, uygulayabileceğiniz çeşitli kural türlerine sahiptir:

Eşleşmeyen kural

Hiçbir kural eşleşmediğinde davranışı yapılandırabilirsiniz (varsayılan eylem). Her zaman kural koleksiyonunun son kuralı olarak görünen özel bir kuraldır. Ayar yapılandırılmamışsa, eşleşmeyen kural davranışı yapılandırılmış kurallara bağlıdır. Kural yoksa, eşleşmeyen kural davranışı tüm erişime izin vermektir, ancak bir veya daha fazla kural varsa, tüm erişimi reddetmek için örtük olarak değişir. Bu davranışı, tanımlı kurallardan bağımsız olarak erişime izin verecek veya erişimi reddedecek şekilde açıkça yapılandırabilirsiniz.

IP tabanlı erişim kısıtlama kuralları

IP tabanlı erişim kısıtlamaları özelliği, uygulamanıza ulaşmak için kullanılabilecek IP adreslerini kısıtlamak istediğinizde yardımcı olur. Hem IPv4 hem de IPv6 desteklenir. Bu özellik için bazı kullanım örnekleri:

  • İyi tanımlanmış bir dizi adresten uygulamanıza erişimi kısıtlayın.
  • Dış yük dengeleme hizmetinden veya bilinen çıkış IP adreslerine sahip diğer ağ gereçlerinden gelen trafiğe erişimi kısıtlayın.

Bu özelliği etkinleştirmeyi öğrenmek için bkz . Erişim kısıtlamalarını yapılandırma.

Not

IP tabanlı erişim kısıtlama kuralları yalnızca uygulamanız bir App Service Ortamı olduğunda sanal ağ adres aralıklarını işler. Uygulamanız çok kiracılı hizmetteyse trafiği sanal ağınızdaki alt ağları seçecek şekilde kısıtlamak için hizmet uç noktalarını kullanmanız gerekir.

Hizmet uç noktalarını temel alan erişim kısıtlama kuralları

Hizmet uç noktaları, kaynak adresin seçtiğiniz bir alt ağ kümesinden gelmesi için uygulamanıza gelen erişimi kilitlemenize olanak sağlar. Bu özellik IP erişim kısıtlamalarıyla birlikte çalışır. Hizmet uç noktaları uzaktan hata ayıklama ile uyumlu değildir. Uygulamanızla uzaktan hata ayıklama kullanmak istiyorsanız, istemciniz hizmet uç noktalarının etkinleştirildiği bir alt ağda olamaz. Hizmet uç noktalarını ayarlama işlemi, IP erişim kısıtlamalarını ayarlama işlemine benzer. Sanal ağlarınızdaki genel adresleri ve alt ağları içeren erişim kurallarının izin verme/reddetme listesini oluşturabilirsiniz.

Not

Hizmet uç noktalarını temel alan erişim kısıtlama kuralları, özel uç nokta yapılandırılmış uygulamalarda veya IP tabanlı SSL (Uygulama tarafından atanan adres) kullanan uygulamalarda desteklenmez.

Uygulamanızla hizmet uç noktalarını yapılandırma hakkında daha fazla bilgi edinmek için bkz. hizmet erişim kısıtlamaları Azure Uygulaması.

Herhangi bir hizmet uç noktası kaynağı

Test veya belirli senaryolarda, hizmet uç noktası etkin herhangi bir alt ağdan gelen trafiğe izin vekleyebilirsiniz. Bunu, IP aralığı yerine "AnyVnets" metniyle IP tabanlı bir kural tanımlayarak yapabilirsiniz. Portalda bu kuralları oluşturamazsınız, ancak var olan BIR IP tabanlı kuralı değiştirebilir ve IP adresini "AnyVnets" dizesiyle değiştirebilirsiniz.

Hizmet etiketlerini temel alan erişim kısıtlama kuralları

Azure hizmet etiketleri , Azure hizmetleri için iyi tanımlanmış IP adresi kümeleridir. Hizmet etiketleri, çeşitli Azure hizmetlerinde kullanılan IP aralıklarını gruplar ve genellikle kapsamı da belirli bölgelere göre daha kapsamlıdır. Bu tür bir kural, belirli Azure hizmetlerinden gelen trafiği filtrelemenize olanak tanır.

Etiketlerin tam listesi ve daha fazla bilgi için hizmet etiketi bağlantısını ziyaret edin.

Bu özelliği etkinleştirmeyi öğrenmek için bkz . Erişim kısıtlamalarını yapılandırma.

Çok kaynaklı kurallar

Çoklu kaynak kuralları, tek bir kuralda en fazla sekiz IP aralığı veya sekiz Hizmet Etiketi birleştirmenizi sağlar. 512'den fazla IP aralığınız varsa çok kaynaklı kurallar kullanabilirsiniz. Birden çok IP aralığının tek bir http üst bilgi filtresiyle birleştirildiği mantıksal kurallar oluşturmak istiyorsanız, çok kaynaklı kuralları da kullanabilirsiniz.

Çok kaynaklı kurallar, tek kaynaklı kuralları tanımladığınız gibi tanımlanır, ancak her aralık virgülle ayrılmış olarak tanımlanır.

Portalda bu kuralları oluşturamazsınız, ancak mevcut bir hizmet etiketini veya IP tabanlı kuralı değiştirebilir ve kurala daha fazla kaynak ekleyebilirsiniz.

Site erişim kısıtlama kuralları için Http üst bilgi filtrelemesi

Herhangi bir kural için, türü ne olursa olsun http üst bilgi filtrelemesi ekleyebilirsiniz. Http üst bilgi filtreleri, gelen isteği daha fazla incelemenize ve belirli http üst bilgi değerlerine göre filtrelemenize olanak tanır. Her üst bilgi, kural başına en fazla sekiz değere sahip olabilir. Desteklenen http üst bilgileri aşağıda listelenmektedir:

Http üst bilgi filtrelemesi için bazı kullanım örnekleri şunlardır:

  • Ana bilgisayar adını ileten ara sunuculardan gelen trafiğe erişimi kısıtlama
  • Hizmet etiketi kuralı ve X-Azure-FDID üst bilgi kısıtlaması ile belirli bir Azure Front Door örneğine erişimi kısıtlama

Tanılama günlüğüne kaydetme

App Service, Azure İzleyici'ye çeşitli günlük kategorileri gönderebilir. Bu kategorilerden biri çağrılır IPSecurity Audit logs ve erişim kısıtlamalarındaki etkinlikleri temsil eder. Bir kuralla eşleşen tüm istekler (eşleşmeyen kural hariç), hem izin ver hem de reddet günlüğe kaydedilir ve erişim kısıtlamalarının yapılandırmasını doğrulamak için kullanılabilir. Günlük özelliği, kural yapılandırması sorunlarını giderirken de güçlü bir araçtır.

Gelişmiş kullanım örnekleri

Yukarıdaki özellikleri birleştirmek, aşağıdaki bölümlerde açıklanan bazı belirli kullanım örneklerini çözmenize olanak sağlar.

Tek bir IP adresini engelleme

Belirli bir veya daha fazla IP adresini reddetmek/engellemek istiyorsanız, IP adreslerini reddetme kuralları olarak ekleyebilir ve eşleşmeyen tüm trafiğe izin verecek şekilde eşleşmeyen kuralı yapılandırabilirsiniz.

Gelişmiş araçlar sitesine erişimi kısıtlama

Scm veya kudu olarak da bilinen gelişmiş araçlar sitesinde yapılandırabileceğiniz tek bir kural koleksiyonu vardır. Bu site için eşleşmeyen kuralı da yapılandırabilirsiniz. Bir ayar, ana site için yapılandırılan kuralları kullanmanıza olanak tanır. Belirli gelişmiş araç sitesi özelliklerine seçmeli olarak erişime izin veremezsiniz. Örneğin, gelişmiş araçlar sitesindeki yalnızca Web İşleri yönetim konsoluna seçmeli olarak erişime izin veremezsiniz.

Özel uç nokta üzerinden dağıtma

Genel olarak erişilebilen bir siteniz olabilir, ancak dağıtım sisteminiz bir sanal ağdadır. Özel uç nokta ekleyerek dağıtım trafiğini özel tutabilirsiniz. Daha sonra genel uygulama erişiminin etkinleştirildiğinden emin olmanız gerekir. Son olarak, gelişmiş araçlar sitesi için eşleşmeyen kuralı reddetmek üzere ayarlamanız gerekir ve bu kural bu uç noktaya yönelik tüm genel trafiği engeller.

Özel uç nokta korumalı siteye dış iş ortağı erişimine izin ver

Bu senaryoda, sitenize bir özel uç nokta üzerinden erişiyor ve özel uç nokta üzerinden dağıtıyorsunuz. Siteyi test etmek için geçici olarak bir dış iş ortağı davet edebilirsiniz. Genel uygulama erişimini etkinleştirerek bunu yapabilirsiniz. İş ortağının istemcisini tanımlamak için bir kural (IP tabanlı) ekleyin. Hem ana hem de gelişmiş araçlar sitesi için eşleşmeyen kurallar eylemini reddedecek şekilde yapılandırın.

Belirli bir Azure Front Door örneğine erişimi kısıtlama

Azure Front Door'dan uygulamanıza gelen trafik, hizmet etiketinde tanımlanan iyi bilinen bir IP aralığı kümesinden AzureFrontDoor.Backend kaynaklanır. Hizmet etiketi kısıtlama kuralı kullanarak, trafiği yalnızca Azure Front Door'tan kaynaklanan şekilde kısıtlayabilirsiniz. Trafiğin yalnızca sizin örneğinizden kaynaklanmasını sağlamak için gelen istekleri Azure Front Door'un gönderdiği X-Azure-FDID adlı benzersiz http üst bilgisine göre daha fazla filtrelemeniz gerekir. Front Door Kimliğini portalda bulabilirsiniz.

Sonraki adımlar

Not

Sitenize genel erişimi engelleyen erişim kısıtlama kuralları, günlük akışı gibi hizmetleri de engelleyebilir. Bunlara ihtiyacınız varsa, kısıtlamalarınızda App Service'inizin IP adresine izin vermeniz gerekir.