Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Erişim kısıtlamalarını ayarlarken, uygulamanıza ağ erişimini denetleen öncelik sırasına göre izin verme/reddetme listesi tanımlayabilirsiniz. Listede IP adresleri veya Azure Sanal Ağ alt ağları bulunabilir. Bir veya daha fazla girdi olduğunda, listenin sonunda örtük bir tümü reddet vardır. Daha fazla bilgi için bkz Azure Uygulaması Hizmet Erişim Kısıtlamaları.
Erişim kısıtlaması özelliği Azure App Service'de barındırılan tüm iş yüklerinde çalışır. İş yükleri web uygulamalarını, API uygulamalarını, Linux uygulamalarını, Linux özel kapsayıcılarını ve Azure İşlevleri uygulamalarını içerebilir.
Birisi uygulamanıza istekte bulunduğunda, FROM
adres erişim kısıtlama listenizdeki kurallara göre değerlendirilir.
FROM
adresi, Microsoft.Web
hizmet uç noktalarıyla yapılandırılmış bir alt ağdaysa, kaynak alt ağ erişim kısıtlama listenizdeki sanal ağ kurallarıyla karşılaştırılır. Listedeki kurallara göre adrese erişim izni verilmiyorsa hizmet bir HTTP 403 durum koduyla yanıt verir.
Erişim kısıtlama özelliği, kodunuzun çalıştığı çalışan sunucularının önünde yer alan App Service ön uç birimlerinde uygulanır. Bu nedenle, erişim kısıtlamaları etkili bir şekilde ağ erişim denetimi listeleridir.
Azure sanal ağından web uygulamanıza erişimi kısıtlama özelliği hizmet uç noktalarını kullanır. Hizmet uç noktalarıyla, seçili alt ağlardan çok kiracılı bir hizmete erişimi kısıtlayabilirsiniz. App Service Ortamı'nda barındırılan uygulamalara yönelik trafiği kısıtlamak işe yaramıyor. App Service Ortamındaysanız, uygulamanıza erişimi denetlemek için IP adres kuralları uygulayabilirsiniz.
Not
Hizmet uç noktalarının hem ağ tarafında hem de etkinleştirildiği Azure hizmeti için etkinleştirilmesi gerekir. Azure hizmetlerinden hizmet uç noktalarını destekleyenlerin listesi için Sanal Ağ hizmet uç noktalarını inceleyin.
Portalda erişim kısıtlama kurallarını yönetme
Uygulamanıza erişim kısıtlama kuralı eklemek için:
Azure Portal’ında oturum açın.
Erişim kısıtlamaları eklemek istediğiniz uygulamayı seçin.
Sol menüde Ayarlar>Ağ'ı seçin.
Ağ panelinde, Gelen trafik yapılandırması altında, Genel ağ erişimi ayarını seçin.
Erişim Kısıtlamaları bölmesinde, uygulamanız için tanımlanan erişim kısıtlama kuralları listesini gözden geçirin.
Listede şu anda uygulamaya uygulanan kısıtlamalar görüntülenir. Uygulamanızda sanal ağ kısıtlaması varsa, tabloda hizmet uç noktalarının için
Microsoft.Web
etkinleştirilip etkinleştirilmediği gösterilir. Uygulamanızda hiçbir kısıtlama tanımlanmamışsa ve eşleşmeyen kuralınız Reddet olarak ayarlanmamışsa, uygulamaya her yerden erişilebilir.
İzinler
Azure portalı, CLI aracılığıyla veya özellikleri doğrudan ayarladığınızda site config
erişim kısıtlamalarını yapılandırmak için alt ağda veya daha yüksek bir düzeyde aşağıdaki rol tabanlı erişim denetimi izinlerine sahip olmanız gerekir:
Eylem | Açıklama |
---|---|
Microsoft.Web/sites/config/read |
Web uygulaması yapılandırma ayarlarını alır. |
Microsoft.Web/sites/config/write |
Web uygulamasının yapılandırma ayarlarını güncelleştirir. |
Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action * |
Depolama hesabı veya SQL veritabanı gibi kaynakları bir alt ağa ekler. |
Microsoft.Web/sites/write ** |
Web uygulaması ayarlarını güncelleştirir. |
*Yalnızca sanal ağ (hizmet uç noktası) kuralı eklenirken gereklidir
**Yalnızca Azure portalı aracılığıyla erişim kısıtlamalarını güncelleştiriyorsanız gereklidir
Hizmet uç noktası tabanlı bir kural eklerseniz ve sanal ağ uygulamadan farklı bir abonelikteyse, sanal ağa sahip aboneliğin kaynak sağlayıcısı için Microsoft.Web
kayıtlı olduğundan emin olun. Sağlayıcıyı açıkça kaydedebilirsiniz, ancak abonelikte ilk web uygulamasını oluşturduğunuzda da otomatik olarak kaydedilir. Daha fazla bilgi için Kaynak sağlayıcısı kaydetme konusuna bakın.
Erişim kısıtlama kuralı ekleme
Uygulamanıza erişim kısıtlama kuralı eklemek için Erişim Kısıtlamaları bölmesinde Ekle'yi seçin. Kuralı kaydettikten sonra geçerli hale gelir.
Kurallar, Öncelik sütunundaki en düşük sayıdan öncelik sırasına göre uygulanır. Eşleşmeyen bir kuralı yapılandırmazsanız, bir kural eklediğinizde örtük tümünü reddet geçerli olur.
Erişim Kısıtlaması Ekle bölmesinde, bir kural oluşturduğunuzda aşağıdakileri yapın:
- Eylem'in altında İzin Ver veya Reddet'i seçin.
- Kuralın adını ve açıklamasını girin (isteğe bağlı).
- Öncelik kutusuna bir öncelik değeri girin.
- Tür açılan listesinde kural türünü seçin. Farklı kural türleri aşağıdaki bölümlerde açıklanmıştır.
- Kurala özel girdiyi yazın. Kuralı listeye eklemek için Kural ekle'yi seçin.
- Erişim Kısıtlamaları bölmesinde Kaydet'i seçin.
Not
512 erişim kısıtlama kuralı sınırı vardır. 512'den fazla erişim kısıtlama kuralına ihtiyacınız varsa, tek başına bir güvenlik ürünü kullanmayı göz önünde bulundurmanızı öneririz. Azure Front Door, Azure Application Gateway veya farklı bir web uygulaması güvenlik duvarı (WAF) düşünün.
IP adresi tabanlı kural ayarlama
Yukarıdaki bölümde özetlenen yordamı izleyin, ancak aşağıdaki eklemeyle:
- 4. adım için Tür açılan listesinde IPv4 veya IPv6'yı seçin.
Hem IPv4 hem de IPv6 adresleri için Sınıfsız Inter-Domain Yönlendirme (CIDR) gösteriminde IP Adresi Bloğunu belirtin. Bir adres belirtmek için, ilk dört sekizlinin IP adresinizi temsil ettiği ve 1.2.3.4/32
maske olduğu gibi /32
bir şey kullanabilirsiniz. Tüm adresler için IPv4 CIDR gösterimi şeklindedir 0.0.0.0/0
.
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ç noktası tabanlı kural ayarlama
4. adım için Tür açılan listesinde Sanal Ağ'ı seçin.
Erişimi kısıtlamak istediğinizle eşleşen Abonelik, Sanal Ağ ve Alt Ağ açılan listelerini belirtin.
Hizmet uç noktalarını kullanarak, seçili Azure sanal ağ alt ağlarına erişimi kısıtlayabilirsiniz. Seçtiğiniz alt ağ için hizmet uç noktaları henüz etkinleştirilmemişse, Microsoft.Web
seçeneğini seçmediğiniz sürece ile otomatik olarak etkinleştirilir. Hizmet uç noktalarını uygulamada etkinleştirmek isteyip istemediğiniz, ancak alt ağda değil, alt ağda onları etkinleştirme izniniz olup olmadığına bağlıdır.
Alt ağda hizmet uç noktalarını etkinleştirmek için başka birine ihtiyacınız varsa, eksik Microsoft.Web hizmet uç noktalarını yoksay'ı seçin. Uygulamanız hizmet uç noktaları için yapılandırılmıştır. Bunlar daha sonra alt ağda etkinleştirilebilir.
Bir App Service Ortamı çalışan uygulamalara erişimi kısıtlamak için hizmet uç noktalarını kullanamazsınız. Uygulamanız bir App Service Ortamı olduğunda, IP erişim kuralları uygulayarak uygulamaya erişimi denetleyebilirsiniz.
Hizmet uç noktalarıyla, uygulama ağ geçitlerini veya diğer web uygulaması güvenlik duvarı (WAF) cihazlarını kullanarak uygulamanızı yapılandırabilirsiniz. Çok katmanlı uygulamaları güvenli arka uçlarla da yapılandırabilirsiniz. Daha fazla bilgi için bkz . App Service ağ özellikleri ve Application Gateway tümleştirmesi.
Not
Hizmet uç noktaları, sanal IP ile IP tabanlı TLS/SSL bağlamaları kullanan web uygulamaları için desteklenmez.
Hizmet etiketi tabanlı kural ayarlama
4. adım için, Tür açılan listesinden Hizmet Etiketi'ni seçin.
Genel kullanıma açık tüm hizmet etiketleri erişim kısıtlama kurallarında desteklenir. Her hizmet etiketi, Azure hizmetlerindeki IP aralıklarının listesini temsil eder. Bu hizmetlerin listesi ve belirli aralıklara yönelik bağlantılar hizmet etiketi belgelerinde yer almaktadır. Bölgesel kapsamlı kurallar gibi daha gelişmiş kurallar yapılandırmak için Azure Resource Manager şablonlarını veya betiklerini kullanın.
Not
Azure portalı veya Azure CLI aracılığıyla hizmet etiketi tabanlı kurallar oluşturduğunuzda, seçim/doğrulama için hizmet etiketlerinin tam listesini almak için abonelik düzeyinde okuma erişimine ihtiyacınız vardır. Ayrıca, kaynak sağlayıcısının Microsoft.Network
aboneliğe kaydedilmesi gerekir.
Kuralı düzenleme
Mevcut bir erişim kısıtlama kuralını düzenlemek için Erişim Kısıtlamaları bölmesine gidin ve düzenlemek istediğiniz kuralı seçin.
Erişim Kısıtlamasını Düzenle bölmesinde değişikliklerinizi yapın ve ardından Kuralı güncelleştir'i seçin.
Değişiklikleri kaydetmek için Kaydet'i seçin.
Not
Bir kuralı düzenlerken, kural türleri arasında geçiş yapamazsınız.
Kuralı silme
Kuralı silmek için , Erişim Kısıtlamaları bölmesinde silmek istediğiniz kuralı veya kuralları seçin ve ardından Sil'i seçin.
Değişiklikleri kaydetmek için Kaydet'i seçin.
Erişim kısıtlaması gelişmiş senaryoları
Aşağıdaki bölümlerde, gelişmiş senaryolarda erişim kısıtlamalarının kullanımı açıklanmaktadır.
HTTP üst bilgilerine göre filtrele
Herhangi bir kurala HTTP üst bilgi filtreleri ekleyebilirsiniz. Aşağıdaki HTTP üst bilgi adları desteklenir:
X-Forwarded-For
X-Forwarded-Host
X-Azure-FDID
X-FD-HealthProbe
Her üst bilgi adı için virgülle ayrılmış en çok sekiz değer ekleyebilirsiniz. HTTP üst bilgi filtreleri kuralın kendisinden sonra değerlendirilir ve kuralın uygulanması için her iki koşul da doğru olmalıdır.
Çok kaynaklı kurallar
Çok kaynaklı kurallar, en fazla sekiz IP aralığını veya sekiz hizmet etiketini tek bir kuralda birleştirmenizi sağlar. 512'den fazla IP aralığınız varsa veya mantıksal kurallar oluşturmak istiyorsanız çok kaynaklı kuralları kullanın. Örneğin: Mantıksal bir kural, tek bir HTTP üst bilgi filtresiyle birleştirilmiş birden çok IP aralığı içerebilir.
Çok kaynaklı kurallar tek kaynaklı kurallarla aynı şekilde tanımlanır, ancak her aralık virgülle ayrılır.
PowerShell örneği:
Add-AzWebAppAccessRestrictionRule -ResourceGroupName "ResourceGroup" -WebAppName "AppName" `
-Name "Multi-source rule" -IpAddress "192.168.1.0/24,192.168.10.0/24,192.168.100.0/24" `
-Priority 100 -Action Allow
Tek bir IP adresini engelleme
Tek bir IP adresini veya BIR IP adresi bloğunu açıkça engellemek, ancak diğer her şeye erişime izin vermek istiyorsanız, belirli IP adresi için bir Reddetme kuralı ekleyebilirsiniz. Ardından eşleşmeyen kural eylemini İzin Ver olarak yapılandırın.
SCM sitesine erişimi kısıtlama
Uygulamanıza erişimi denetleyebilmenin yanı sıra, uygulamanız tarafından kullanılan kaynak denetimi yönetimi (SCM) gelişmiş araç sitesine erişimi kısıtlayabilirsiniz. SCM sitesi hem web dağıtım uç noktası hem de Kudu konsoludur. SCM sitesine uygulamadan ayrı olarak erişim kısıtlamaları atayabilir veya hem uygulama hem de SCM sitesi için aynı kısıtlama kümesini kullanabilirsiniz. Ana site kurallarını kullan'ı seçtiğinizde, kural listesi gizlenir. SCM sitesi, ana sitedeki kuralları kullanır. Onay kutusunun seçimini kaldırırsanız, SCM site ayarlarınız yeniden görünür.
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. Bir hizmet etiketi kısıtlama kuralı kullanarak trafiği yalnızca Azure Front Door'dan gelenlerle 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 benzersiz HTTP üst bilgisine göre daha fazla filtrelemeniz gerekir.
PowerShell örneği:
$afd = Get-AzFrontDoor -Name "MyFrontDoorInstanceName"
Add-AzWebAppAccessRestrictionRule -ResourceGroupName "ResourceGroup" -WebAppName "AppName" `
-Name "Front Door example rule" -Priority 100 -Action Allow -ServiceTag AzureFrontDoor.Backend `
-HttpHeader @{'x-azure-fdid' = $afd.FrontDoorId}
Erişim kısıtlamalarını program aracılığıyla yönetme
Erişim kısıtlamalarını program aracılığıyla da yönetebilirsiniz. Aşağıdaki örneklerde, erişim kısıtlamalarına nasıl kural ekleneceği ve hem Ana site hem de Gelişmiş araç sitesi için eşleşmeyen kural eyleminin nasıl değiştireceği gösterilmektedir.
Ana site için erişim kısıtlama kuralları ekleme
Aşağıdaki seçeneklerden birini belirleyerek Program aracılığıyla Ana site için erişim kısıtlama kuralları ekleyebilirsiniz:
Azure Cloud Shell'de aşağıdaki komutu çalıştırabilirsiniz. Komut hakkında daha fazla bilgi için bkz az webapp config access-restriction
. .
az webapp config access-restriction add --resource-group ResourceGroup --name AppName \
--rule-name 'IP example rule' --action Allow --ip-address 122.133.144.0/24 --priority 100
az webapp config access-restriction add --resource-group ResourceGroup --name AppName \
--rule-name "Azure Front Door example" --action Allow --priority 200 --service-tag AzureFrontDoor.Backend \
--http-header x-azure-fdid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Gelişmiş araç sitesi için erişim kısıtlama kuralları ekleme
Gelişmiş araç sitesi için program aracılığıyla erişim kısıtlama kuralları ekleyebilirsiniz. Aşağıdaki seçeneklerden birini belirleyin:
Cloud Shell'de aşağıdaki komutu çalıştırabilirsiniz. Komut hakkında daha fazla bilgi için bkz az webapp config access-restriction
. .
az webapp config access-restriction add --resource-group ResourceGroup --name AppName \
--rule-name 'IP example rule' --action Allow --ip-address 122.133.144.0/24 --priority 100 --scm-site true
Ana site için eşleşmeyen kural eylemini değiştirme
Ana site için eşleşmeyen kural eylemini, aşağıdaki seçeneklerden birini seçerek program aracılığıyla değiştirebilirsiniz:
Cloud Shell'de aşağıdaki komutu çalıştırabilirsiniz. Komut hakkında daha fazla bilgi için bkz az resource
. .
ipSecurityRestrictionsDefaultAction
için kabul edilen değerler Allow
veya Deny
şeklindedir.
az resource update --resource-group ResourceGroup --name AppName --resource-type "Microsoft.Web/sites" \
--set properties.siteConfig.ipSecurityRestrictionsDefaultAction=Allow
Gelişmiş araç sitesi için eşleşmeyen kural eylemini değiştirme
Aşağıdaki seçeneklerden birini seçerek Gelişmiş araç sitesi için Eşleşmeyen kural eylemini program aracılığıyla değiştirebilirsiniz:
Cloud Shell'de aşağıdaki komutu çalıştırabilirsiniz. Komut hakkında daha fazla bilgi için bkz az resource
. .
scmIpSecurityRestrictionsDefaultAction
için kabul edilen değerler Allow
veya Deny
şeklindedir.
az resource update --resource-group ResourceGroup --name AppName --resource-type "Microsoft.Web/sites" \
--set properties.siteConfig.scmIpSecurityRestrictionsDefaultAction=Allow
Azure İşlevleri erişim kısıtlamalarını ayarlama
Erişim kısıtlamaları, App Service planlarıyla aynı işlevselliğe sahip işlev uygulamaları için de kullanılabilir. Erişim kısıtlamalarını etkinleştirdiğinizde, izin verilmeyen IP'ler için Azure portalı kod düzenleyicisini de devre dışı bırakırsınız.