Azure İşlevleri güvenliğini sağlama
Birçok açıdan sunucusuz işlevlerin güvenli geliştirme, dağıtım ve çalışma planlaması, web tabanlı veya bulutta barındırılan tüm uygulamalarla aynıdır. Azure Uygulaması Hizmeti, işlev uygulamalarınız için barındırma altyapısı sağlar. Bu makalede işlev kodunuzu çalıştırmaya yönelik güvenlik stratejileri ve App Service'in işlevlerinizin güvenliğini sağlamanıza nasıl yardımcı olabileceği açıklanır.
App Service'in Azure VM'leri, depolama, ağ bağlantıları, web çerçeveleri, yönetim ve tümleştirme özellikleri gibi platform bileşenleri etkin bir şekilde güvenlik altına alınmış ve sağlamlaştırılmıştır. App Service, şundan emin olmak için sürekli olarak güçlü uyumluluk denetimlerini gerçekleştirir:
- Uygulama kaynaklarınız diğer müşterilerin Azure kaynaklarından korunur .
- VM örnekleri ve çalışma zamanı yazılımları, yeni bulunan güvenlik açıklarını gidermek için düzenli olarak güncelleştirilir .
- Gizli dizilerin (bağlantı dizesi gibi) uygulamanızla diğer Azure kaynakları (SQL Veritabanı gibi) arasındaki iletişim Azure'da kalır ve ağ sınırlarını aşmaz. Gizli diziler depolandığında her zaman şifrelenir.
- Karma bağlantı gibi App Service bağlantı özellikleri üzerinden yapılan tüm iletişimler şifrelenir.
- Azure PowerShell, Azure CLI, Azure SDK'ları, REST API'leri gibi uzaktan yönetim araçlarıyla yapılan bağlantıların tümü şifrelenir.
- 24 saatlik tehdit yönetimi, altyapıyı ve platformu kötü amaçlı yazılımlara, dağıtılmış hizmet reddine (DDoS), ortadaki adam (MITM) ve diğer tehditlere karşı korur.
Azure'da altyapı ve platform güvenliği hakkında daha fazla bilgi için bkz . Azure Güven Merkezi.
Microsoft bulut güvenliği karşılaştırmasını izleyen bir dizi güvenlik önerisi için bkz. Azure İşlevleri için Azure Güvenlik Temeli.
Güvenli işlem
Bu bölüm, işlev uygulamanızı mümkün olduğunca güvenli bir şekilde yapılandırma ve çalıştırma konusunda size yol gösterir.
Bulut için Defender
Bulut için Defender, portaldaki işlev uygulamanızla tümleşir. Yapılandırmayla ilgili olası güvenlik açıklarının ücretsiz olarak hızlı bir değerlendirmesini sağlar. Ayrılmış bir planda çalışan işlev uygulamaları ek maliyet için Bulut için Defender gelişmiş güvenlik özelliklerini de kullanabilir. Daha fazla bilgi edinmek için bkz. Azure Uygulaması Hizmeti web uygulamalarınızı ve API'lerinizi koruma.
Günlüğe kaydetme ve izleme
Saldırıları algılamanın bir yolu etkinlik izleme ve günlüğe kaydetme analizidir. İşlevler, işlev uygulamanız için günlük, performans ve hata verilerini toplamak için Application Insights ile tümleşir. Application Insights, performans anomalilerini otomatik olarak algılar ve sorunları tanılamanıza ve işlevlerinizin nasıl kullanıldığını anlamanıza yardımcı olacak güçlü analiz araçları içerir. Daha fazla bilgi edinmek için bkz. İzleme Azure İşlevleri.
İşlevler, daha kolay analiz için işlev uygulama günlüklerini sistem olaylarıyla birleştirmenizi sağlamak için Azure İzleyici Günlükleri ile de tümleştirilir. Tanılama ayarlarını kullanarak işlevlerinize yönelik platform günlüklerinin ve ölçümlerinin akış dışarı aktarmasını istediğiniz hedefe (logs Analytics çalışma alanı gibi) yapılandırabilirsiniz. Daha fazla bilgi edinmek için bkz. Azure İzleyici Günlükleriyle Azure İşlevleri izleme.
Kurumsal düzeyde tehdit algılama ve yanıt otomasyonu için günlüklerinizi ve olaylarınızı bir Logs Analytics çalışma alanına akışla aktarabilirsiniz. Daha sonra Microsoft Sentinel'i bu çalışma alanına bağlayabilirsiniz. Daha fazla bilgi edinmek için bkz . Microsoft Sentinel nedir?
Gözlemlenebilirlik hakkında daha fazla güvenlik önerisi için bkz. Azure İşlevleri için Azure güvenlik temeli.
HTTP uç noktalarının güvenliğini sağlama
Genel kullanıma sunulan HTTP uç noktaları, kötü amaçlı aktörler için bir saldırı vektörü sağlar. HTTP uç noktalarınızın güvenliğini sağlarken katmanlı bir güvenlik yaklaşımı kullanmanız gerekir. Bu teknikler, genel kullanıma sunulan HTTP uç noktalarının en temelden en güvenli ve kısıtlayıcıya doğru sıralanmış güvenlik açığını azaltmak için kullanılabilir:
- HTTPS gerektir
- Erişim anahtarları gerektir
- App Service Kimlik Doğrulamasını/Yetkilendirmesini Etkinleştirme
- İsteklerin kimliğini doğrulamak için Azure API Management'ı (APIM) kullanma
- İşlev uygulamanızı sanal ağa dağıtma
- İşlev uygulamanızı yalıtarak dağıtma
HTTPS gerektir
varsayılan olarak, istemciler HTTP veya HTTPS kullanarak işlev uç noktalarına bağlanabilir. HTTPS güvenli bir bağlantı sağlamak için SSL/TLS protokolunu kullandığından, hem şifrelenmiş hem de kimliği doğrulanmış olduğundan HTTP'yi HTTPS'ye yeniden yönlendirmeniz gerekir. Nasıl yapılacağını öğrenmek için bkz . HTTPS'yi zorunlu kılma.
HTTPS'ye ihtiyacınız olduğunda, en son TLS sürümünü de gerektirmelisiniz. Nasıl yapılacağını öğrenmek için bkz . TLS sürümlerini zorunlu kılma.
Daha fazla bilgi için bkz . Güvenli bağlantılar (TLS).
İşlev erişim anahtarları
İşlevler, işlev uç noktalarınıza erişmenizi zorlaştırmak için anahtarları kullanmanıza olanak tanır. HTTP ile tetiklenen bir işlevdeki HTTP erişim düzeyi olarak anonymous
ayarlanmadığı sürece, istekler isteğe bir erişim anahtarı içermelidir. Daha fazla bilgi için bkz. Azure İşlevleri'da erişim anahtarlarıyla çalışma.
Erişim anahtarları istenmeyen erişim için bazı azaltmalar sağlayabilir, ancak işlev uç noktalarınızı gerçekten güvenli hale getirmenin tek yolu işlevlerinize erişen istemcilerin pozitif kimlik doğrulamasını uygulamaktır. Daha sonra kimlik temelinde yetkilendirme kararları alabilirsiniz.
En yüksek güvenlik düzeyi için, özel uç noktaları kullanarak veya yalıtımda çalıştırarak sanal ağ içindeki uygulama mimarisinin tamamının güvenliğini de sağlayabilirsiniz..
Yönetim uç noktalarını devre dışı bırakma
İşlev uygulamaları, ana bilgisayar durumu bilgilerini alma ve test çağrıları gerçekleştirme gibi işlemler için kullanılabilecek yönetim uç noktalarına yol altında /admin
hizmet verebilir. Kullanıma sunulduğunda, bu uç noktalara yönelik istekler uygulamanın ana anahtarını içermelidir. Yönetim işlemleri, Azure RBAC sunan Azure Resource Manager Microsoft.Web/sites
API'sinde de kullanılabilir. Site özelliğini true
olarak ayarlayarak functionsRuntimeAdminIsolationEnabled
uç noktaları devre dışı bırakabilirsiniz/admin
. Bu özellik Linux Tüketim SKU'su üzerinde çalışan uygulamalar için ayarlanamaz ve Azure İşlevleri 1.x sürümünde çalışan uygulamalar için ayarlanamaz. 1.x sürümünü kullanıyorsanız, önce 4.x sürümüne geçmeniz gerekir.
App Service Kimlik Doğrulamasını/Yetkilendirmesini Etkinleştirme
App Service platformu, istemcilerin kimliğini doğrulamak için Microsoft Entra Id ve birkaç üçüncü taraf kimlik sağlayıcısı kullanmanıza olanak tanır. İşlevleriniz için özel yetkilendirme kuralları uygulamak için bu stratejiyi kullanabilir ve işlev kodunuzdan kullanıcı bilgileriyle çalışabilirsiniz. Daha fazla bilgi edinmek için bkz. Azure Uygulaması Hizmetinde kimlik doğrulaması ve yetkilendirme ve İstemci kimlikleriyle çalışma.
İsteklerin kimliğini doğrulamak için Azure API Management'ı (APIM) kullanma
APIM, gelen istekler için çeşitli API güvenlik seçenekleri sağlar. Daha fazla bilgi edinmek için bkz . API Management kimlik doğrulama ilkeleri. APIM'yi kullandığınızda işlev uygulamanızı yalnızca APIM örneğinizin IP adresinden gelen istekleri kabul etmek üzere yapılandırabilirsiniz. Daha fazla bilgi edinmek için bkz . IP adresi kısıtlamaları.
İzinler
Her uygulama veya hizmette olduğu gibi, amaç işlev uygulamanızı mümkün olan en düşük izinlerle çalıştırmaktır.
Kullanıcı yönetimi izinleri
İşlevler, yerleşik Azure rol tabanlı erişim denetimini (Azure RBAC) destekler. İşlevler tarafından desteklenen Azure rolleri Katkıda Bulunan, Sahip ve Okuyucu'dur.
İzinler işlev uygulaması düzeyinde etkilidir. Uygulama düzeyindeki görevlerin çoğunu gerçekleştirmek için Katkıda Bulunan rolü gereklidir. Application Insights'ta günlük verilerini görüntüleyebilmek için İzleme Okuyucusu izniyle birlikte Katkıda Bulunan rolüne de ihtiyacınız vardır. Bir işlev uygulamasını yalnızca Sahip rolü silebilir.
İşlevleri ayrıcalığına göre düzenleme
Uygulama ayarlarında depolanan bağlantı dizeleri ve diğer kimlik bilgileri, işlev uygulamasındaki tüm işlevlere ilişkili kaynakta aynı izin kümesini verir. Bu kimlik bilgilerini kullanmayan işlevleri ayrı bir işlev uygulamasına taşıyarak belirli kimlik bilgilerine erişimi olan işlev sayısını en aza indirmeyi göz önünde bulundurun. Farklı işlev uygulamalarındaki işlevler arasında veri geçirmek için her zaman işlev zinciri gibi teknikleri kullanabilirsiniz.
Yönetilen kimlikler
Microsoft Entra Id'den yönetilen kimlik, uygulamanızın Azure Key Vault gibi diğer Microsoft Entra korumalı kaynaklara kolayca erişmesini sağlar. Kimlik Azure platformu tarafından yönetilir ve herhangi bir gizli dizi sağlamanızı veya döndürmenizi gerektirmez. Microsoft Entra Id'deki yönetilen kimlikler hakkında daha fazla bilgi için bkz . Azure kaynakları için yönetilen kimlikler.
Uygulamanız için iki tür kimlik verilebilir:
- Sistem tarafından atanan bir kimlik uygulamaya bağlıdır ve uygulama silinirse silinir. Bir uygulama sistem tarafından atanan yalnızca bir kimliğe sahip olabilir.
- Kullanıcı tarafından atanan kimlik ise uygulamanıza atanabilen tek başına bir Azure kaynağıdır. Bir uygulamada birden çok kullanıcı tarafından atanan kimlik olabilir ve iki App Service uygulaması gibi birden çok Azure kaynağına kullanıcı tarafından atanan bir kimlik atanabilir.
Bazı tetikleyicilerden ve bağlamalardan gelen bağlantılar için gizli diziler yerine yönetilen kimlikler kullanılabilir. Bkz. Kimlik tabanlı bağlantılar.
Daha fazla bilgi için bkz. App Service ve Azure İşlevleri için yönetilen kimlikleri kullanma.
CORS erişimini kısıtlama
Çıkış noktaları arası kaynak paylaşımı (CORS), başka bir etki alanında çalışan web uygulamalarının HTTP tetikleyici uç noktalarınıza istekte bulunmalarına izin vermenin bir yoludur. App Service, HTTP isteklerinde gerekli CORS üst bilgilerini teslim etme konusunda yerleşik destek sağlar. CORS kuralları bir işlev uygulaması düzeyinde tanımlanır.
Tüm sitelerin uç noktanıza erişmesine izin veren bir joker karakter kullanmak cazip olsa da, bu durum siteler arası betik saldırılarını önlemeye yardımcı olan CORS'nin amacını alt eder. Bunun yerine, uç noktanıza erişmesi gereken her web uygulamasının etki alanı için ayrı bir CORS girdisi ekleyin.
Gizli dizileri yönetme
Kodunuzu çalıştırmak için gereken çeşitli hizmetlere ve kaynaklara bağlanabilmek için işlev uygulamalarının bağlantı dizesi ve hizmet anahtarları gibi gizli dizilere erişebilmesi gerekir. Bu bölümde, işlevlerinizin gerektirdiği gizli dizilerin nasıl depolandığı açıklanmaktadır.
Gizli dizileri hiçbir zaman işlev kodunuzda depolamayın.
Uygulama ayarları
Varsayılan olarak, işlev uygulamanız tarafından kullanılan bağlantı dizesi ve gizli dizileri ve bağlamaları uygulama ayarları olarak depolarsınız. Bu, bu kimlik bilgilerini hem işlev kodunuz hem de işlev tarafından kullanılan çeşitli bağlamalar için kullanılabilir hale getirir. Uygulama ayarı (anahtar) adı, gizli dizi olan gerçek değeri almak için kullanılır.
Örneğin, her işlev uygulaması çalışma zamanı tarafından kullanılan ilişkili bir depolama hesabı gerektirir. Varsayılan olarak, bu depolama hesabına bağlantı adlı AzureWebJobsStorage
bir uygulama ayarında depolanır.
Uygulama ayarları ve bağlantı dizesi Azure'da şifrelenmiş olarak depolanır. Şifreleri yalnızca uygulama başlatıldığında uygulamanızın işlem belleğine eklenmeden önce çözülür. Şifreleme anahtarları düzenli olarak döndürülür. Gizli dizilerinizin güvenli depolamasını yönetmeyi tercih ediyorsanız, uygulama ayarları bunun yerine Azure Key Vault gizli dizilerine başvuru olmalıdır.
Ayrıca, yerel bilgisayarınızda işlevler geliştirirken dosyadaki local.settings.json
ayarları varsayılan olarak şifreleyebilirsiniz. Daha fazla bilgi için bkz . Yerel ayarlar dosyasını şifreleme.
Key Vault başvuruları
Uygulama ayarları çoğu işlev için yeterli olsa da, aynı gizli dizileri birden çok hizmette paylaşmak isteyebilirsiniz. Bu durumda, gizli dizilerin yedekli depolanması daha olası güvenlik açıklarına neden olur. Daha güvenli bir yaklaşım, merkezi bir gizli depolama hizmeti kullanmak ve gizli diziler yerine bu hizmete başvurular kullanmaktır.
Azure Key Vault , erişim ilkeleri ve denetim geçmişi üzerinde tam denetime sahip merkezi gizli dizi yönetimi sağlayan bir hizmettir. Uygulama ayarlarınızda bir bağlantı dizesi veya anahtar yerine Key Vault başvurusu kullanabilirsiniz. Daha fazla bilgi edinmek için bkz. App Service ve Azure İşlevleri için Key Vault başvurularını kullanma.
Kimlik tabanlı bağlantılar
Kimlikler, bazı kaynaklara bağlanmak için gizli diziler yerine kullanılabilir. Bu, gizli dizi yönetimi gerektirmeme avantajına sahiptir ve daha ayrıntılı erişim denetimi ve denetimi sağlar.
Microsoft Entra kimlik doğrulamasını destekleyen Azure hizmetlerine bağlantı oluşturan kod yazarken gizli dizi veya bağlantı dizesi yerine kimlik kullanmayı seçebilirsiniz. Her iki bağlantı yönteminin ayrıntıları her hizmetin belgelerinde ele alınmıştır.
Bazı Azure İşlevleri bağlama uzantıları, kimlik tabanlı bağlantılar kullanılarak hizmetlere erişecek şekilde yapılandırılabilir. Daha fazla bilgi için bkz . Kimlik tabanlı bağlantı yapılandırma.
Kullanım kotalarını ayarlama
Tüketim planında çalışan işlevler için kullanım kotası ayarlamayı göz önünde bulundurun. İşlev uygulamanızdaki işlevlerin toplam yürütülmesi için günlük GB saniye sınırı ayarladığınızda, sınıra ulaşıldığında yürütme durdurulur. Bu, işlevlerinizi yürüten kötü amaçlı kodlara karşı azaltmaya yardımcı olabilir. İşlevlerinizin tüketimini tahmin etmeyi öğrenmek için bkz . Tüketim planı maliyetlerini tahmin etme.
Veri doğrulaması
İşlevleriniz tarafından kullanılan tetikleyiciler ve bağlamalar ek veri doğrulaması sağlamaz. Kodunuz bir tetikleyiciden veya giriş bağlamasından alınan tüm verileri doğrulamalıdır. Yukarı akış hizmetinin güvenliği aşılırsa, işlevlerinizde doğrulanmamış girişlerin akmasını istemezsiniz. Örneğin, işleviniz bir Azure Depolama kuyruğundaki verileri ilişkisel veritabanında depolarsa, SQL ekleme saldırılarından kaçınmak için verileri doğrulamanız ve komutlarınızı parametreleştirmeniz gerekir.
İşlevinize gelen verilerin zaten doğrulandığını veya temizlendiğini varsaymayın. Çıkış bağlamalarına yazılan verilerin geçerli olduğunu doğrulamak da iyi bir fikirdir.
Hataları işleme
Temel görünse de, işlevlerinizde iyi bir hata işleme yazmanız önemlidir. İşlenmeyen hatalar konağa kadar kabarır ve çalışma zamanı tarafından işlenir. Farklı bağlamalar hataların işlenmesini farklı şekilde işler. Daha fazla bilgi edinmek için bkz. Azure İşlevleri hata işleme.
Uzaktan hata ayıklamayı devre dışı bırakma
İşlevlerinizde etkin bir şekilde hata ayıkladığınız durumlar dışında uzaktan hata ayıklamanın devre dışı bırakıldığından emin olun. Uzaktan hata ayıklamayı portaldaki işlev uygulamanızın Yapılandırma'nın Genel Ayarlar sekmesinde devre dışı bırakabilirsiniz.
CORS erişimini kısıtlama
Azure İşlevleri çıkış noktaları arası kaynak paylaşımını (CORS) destekler. CORS, portalda ve Azure CLI aracılığıyla yapılandırılır. CORS izin verilen çıkış noktaları listesi, işlev uygulaması düzeyinde geçerlidir. CORS etkinleştirildiğinde yanıtlar üst bilgiyi içerir Access-Control-Allow-Origin
. Daha fazla bilgi için bkz. Çıkış noktaları arası kaynak paylaşma.
İzin verilen çıkış noktaları listenizde joker karakterler kullanmayın. Bunun yerine, istekleri almayı beklediğiniz belirli etki alanlarını listeleyin.
Şifrelenmiş verileri depolama
Azure Depolama bekleyen bir depolama hesabındaki tüm verileri şifreler. Daha fazla bilgi için Bekleyen veriler için Azure Depolama şifrelemesi başlıklı makaleye bakın.
Varsayılan olarak, veriler Microsoft tarafından yönetilen anahtarlarla şifrelenir. Şifreleme anahtarları üzerinde ek denetim için blob ve dosya verilerinin şifrelenmesini sağlamak için müşteri tarafından yönetilen anahtarlar sağlayabilirsiniz. Depolama hesabına erişebilmek için bu anahtarların İşlevler için Azure Key Vault'ta bulunması gerekir. Daha fazla bilgi edinmek için bkz . Müşteri tarafından yönetilen anahtarları kullanarak bekleyenleri şifreleme.
İlgili kaynakların güvenliğini sağlama
İşlev uygulaması genellikle ek kaynaklara bağlıdır, bu nedenle uygulamanın güvenliğini sağlamanın bir parçası bu dış kaynakların güvenliğini sağlamaktır. En azından çoğu işlev uygulaması Application Insights'a ve Azure Depolama'ya bağımlılık içerir. Bu kaynakların güvenliğini sağlama yönergeleri için Azure İzleyici için Azure güvenlik temeline ve Depolama için Azure güvenlik temeline bakın.
Önemli
Depolama hesabı, bazen uygulama kodunun kendisi de dahil olmak üzere önemli uygulama verilerini depolamak için kullanılır. Diğer uygulama ve kullanıcılardan depolama hesabına erişimi sınırlamanız gerekir.
Ayrıca, uygulama mantığınızın bağlı olduğu tüm kaynak türleri için hem tetikleyiciler hem de bağlamalar olarak ve işlev kodunuzla ilgili yönergelere başvurmalısınız.
Güvenli dağıtım
Azure İşlevleri araç tümleştirmesi, yerel işlev proje kodunu Azure'da yayımlamayı kolaylaştırır. Azure İşlevleri topolojisi için güvenlik dikkate alınırken dağıtımın nasıl çalıştığını anlamak önemlidir.
Dağıtım kimlik bilgileri
App Service dağıtımları için bir dizi dağıtım kimlik bilgisi gerekir. Bu dağıtım kimlik bilgileri, işlev uygulaması dağıtımlarınızın güvenliğini sağlamak için kullanılır. Dağıtım kimlik bilgileri App Service platformu tarafından yönetilir ve bekleme sırasında şifrelenir.
İki tür dağıtım kimlik bilgisi vardır:
Kullanıcı düzeyinde kimlik bilgileri: Azure hesabının tamamı için bir kimlik bilgileri kümesi. Azure hesabının erişim iznine sahip olduğu herhangi bir uygulamada, herhangi bir abonelikte App Service'e dağıtmak için kullanılabilir. Bu, portal GUI'sinde (uygulamanın kaynak sayfasının Genel Bakış ve Özellikler gibi) ortaya çıkarılmış varsayılan kümesidir. Kullanıcıya Rol Tabanlı Erişim Denetimi (RBAC) veya ortak yönetici izinleri aracılığıyla uygulama erişimi verildiğinde, erişim iptal edilene kadar bu kullanıcı kendi kullanıcı düzeyi kimlik bilgilerini kullanabilir. Bu kimlik bilgilerini diğer Azure kullanıcılarıyla paylaşmayın.
Uygulama düzeyinde kimlik bilgileri: Her uygulama için bir kimlik bilgileri kümesi. Yalnızca bu uygulamaya dağıtmak için kullanılabilir. Her uygulamanın kimlik bilgileri, uygulama oluşturma sırasında otomatik olarak oluşturulur. Bunlar el ile yapılandırılamaz, ancak her zaman sıfırlanabilir. Bir kullanıcıya (RBAC) aracılığıyla uygulama düzeyinde kimlik bilgilerine erişim verebilmesi için, bu kullanıcının uygulamada katkıda bulunan veya daha yüksek olması gerekir (Web Sitesi Katkıda Bulunanı yerleşik rolü dahil). Okuyucuların yayımlamasına izin verilmez ve bu kimlik bilgilerine erişemez.
Şu anda Key Vault dağıtım kimlik bilgileri için desteklenmemektedir. Dağıtım kimlik bilgilerini yönetme hakkında daha fazla bilgi edinmek için bkz. Azure Uygulaması Hizmeti için dağıtım kimlik bilgilerini yapılandırma.
FTP'yi devre dışı bırakma
Varsayılan olarak, her işlev uygulamasının bir FTP uç noktası etkindir. FTP uç noktasına dağıtım kimlik bilgileri kullanılarak erişilir.
İşlev kodunuzu dağıtmak için FTP önerilmez. FTP dağıtımları el ile gerçekleştirilir ve tetikleyicileri eşitlemenizi gerektirir. Daha fazla bilgi için bkz . FTP dağıtımı.
FTP kullanmayı planlamıyorsanız portalda devre dışı bırakmanız gerekir. FTP kullanmayı seçerseniz, FTPS'yi zorunlu kılmanız gerekir.
Uç noktanın güvenliğini sağlama scm
Her işlev uygulamasının, dağıtımlar ve diğer App Service site uzantıları için Gelişmiş Araçlar (Kudu) hizmeti tarafından kullanılan karşılık gelen scm
bir hizmet uç noktası vardır. İşlev uygulamasının scm
uç noktası her zaman biçiminde https://<FUNCTION_APP_NAME>.scm.azurewebsites.net
bir URL'dir. İşlevlerinizin güvenliğini sağlamak için ağ yalıtımı kullandığınızda, bu uç noktayı da hesaba katmanız gerekir.
Ayrı scm
bir uç noktaya sahip olarak, yalıtılmış veya sanal ağda çalışan işlev uygulamaları için dağıtımları ve diğer Gelişmiş Araçlar işlevlerini denetleyebilirsiniz. Uç nokta hem scm
temel kimlik doğrulamasını (dağıtım kimlik bilgilerini kullanarak) hem de Azure portalı kimlik bilgilerinizle çoklu oturum açmayı destekler. Daha fazla bilgi edinmek için bkz . Kudu hizmetine erişme.
Sürekli güvenlik doğrulaması
Geliştirme sürecinin her adımında güvenliğin dikkate alınması gerektiğinden, sürekli dağıtım ortamında güvenlik doğrulamaları uygulamak da mantıklıdır. Buna bazen DevSecOps adı verilir. Dağıtım işlem hattınız için Azure DevOps'un kullanılması doğrulamayı dağıtım işlemiyle tümleştirmenize olanak tanır. Daha fazla bilgi için bkz . CI/CD işlem hattınıza sürekli güvenlik doğrulaması eklemeyi öğrenin.
Ağ güvenliği
İşlev uygulamanıza ağ erişimini kısıtlamak, işlev uç noktalarınıza kimlerin erişebileceğini denetlemenize olanak tanır. İşlevler, işlevlerinizin İnternet'e yönlendirilebilir adresleri kullanmadan kaynaklara erişmesini sağlamak veya bir işlev uç noktasına İnternet erişimini kısıtlamak için App Service altyapısını kullanır. Bu ağ seçenekleri hakkında daha fazla bilgi edinmek için bkz. Azure İşlevleri ağ seçenekleri.
Erişim kısıtlamalarını ayarlama
Erişim kısıtlamaları, uygulamanıza gelen trafiği denetlemek için izin verme/reddetme kuralları listeleri tanımlamanıza olanak tanır. Kurallar öncelik sırasına göre değerlendirilir. Hiçbir kural tanımlanmamışsa uygulamanız herhangi bir adresten gelen trafiği kabul eder. Daha fazla bilgi edinmek için bkz. hizmet erişim kısıtlamaları Azure Uygulaması.
Depolama hesabının güvenliğini sağlama
İşlev uygulaması oluşturduğunuzda Blob, Kuyruk ve Tablo depolamayı destekleyen genel amaçlı bir Azure Depolama hesabı oluşturmanız veya bu hesaba bağlanmanız gerekir. Bu depolama hesabını, hizmet uç noktaları veya özel uç noktalar tarafından etkinleştirilen erişime sahip bir sanal ağ tarafından güvenliği sağlanan bir hesapla değiştirebilirsiniz. Daha fazla bilgi için bkz. Depolama hesabınızı bir sanal ağ ile kısıtlama.
İşlev uygulamanızı sanal ağa dağıtma
Azure Özel Uç Nokta, Azure Özel Bağlantı destekli bir hizmete özel ve güvenli bir şekilde bağlanmanızı sağlayan ağ arabirimidir. Özel Uç Nokta, sanal ağınızdaki bir özel IP adresini kullanır ve bu sayede hizmeti sanal ağınıza getirir.
Premium ve App Service planlarında barındırılan işlevleriniz için Özel Uç Nokta kullanabilirsiniz.
Özel Uç Noktalara çağrı yapmak istiyorsanız, DNS aramalarınızın özel uç noktaya çözümlenmesinden emin olmanız gerekir. Bu davranışı aşağıdaki yollardan biriyle zorunlu kılabilirsiniz:
- Azure DNS özel bölgeleriyle tümleştirme. Sanal ağınızda özel bir DNS sunucusu olmadığında bu işlem otomatik olarak yapılır.
- Uygulamanız tarafından kullanılan DNS sunucusunda özel uç noktayı yönetin. Bunu yapmak için özel uç nokta adresini bilmeniz ve ardından A kaydı kullanarak ulaşmaya çalıştığınız uç noktayı bu adrese işaret etmeniz gerekir.
- Kendi DNS sunucunuzu Azure DNS özel bölgelerine iletecek şekilde yapılandırın.
Daha fazla bilgi edinmek için bkz . Web Apps için Özel Uç Noktaları kullanma.
İşlev uygulamanızı yalıtarak dağıtma
Azure Uygulaması Hizmet Ortamı, işlevlerinizin çalıştırıldığı ayrılmış bir barındırma ortamı sağlar. Bu ortamlar, tüm gelen isteklerin kimliğini doğrulamak için kullanabileceğiniz tek bir ön uç ağ geçidi yapılandırmanıza olanak tanır. Daha fazla bilgi için bkz. App Service Ortamı için Web Uygulaması Güvenlik Duvarı (WAF) yapılandırma.
Ağ geçidi hizmeti kullanma
Azure Uygulaması lication Gateway ve Azure Front Door gibi ağ geçidi hizmetleri bir Web Uygulaması Güvenlik Duvarı (WAF) ayarlamanıza olanak sağlar. WAF kuralları, algılanan saldırıları izlemek veya engellemek için kullanılır ve bu da işlevleriniz için ek bir koruma katmanı sağlar. WAF ayarlamak için işlev uygulamanızın ASE'de çalışıyor olması veya Özel Uç Noktalar (önizleme) kullanıyor olması gerekir. Daha fazla bilgi edinmek için bkz . Özel Uç Noktaları Kullanma.