Düzenle

Aracılığıyla paylaş


Application Gateway ve API Management ile API'leri koruma

Azure API Management
Azure Application Gateway

Tasarımı için API öncelikli yaklaşıma bağlı olan daha fazla iş yükü ve İnternet üzerinden web uygulamalarına yönelik tehditlerin sayısı ve önem derecesi arttıkça, API'leri korumak için bir güvenlik stratejisine sahip olmak kritik önem taşır. API güvenliğine yönelik bir adım, Ağ Geçidi Yönlendirme düzenini kullanarak ağ trafiğini korumaktır. Esnek yönlendirme kurallarını desteklemenin yanı sıra trafik kaynağı konumlarını ve trafik kalitesini kısıtlamak için ağ geçidini kullanırsınız. Bu makalede, API erişimini korumak için Azure Uygulaması Lication Gateway ve Azure API Management'ın nasıl kullanılacağı açıklanmaktadır.

Mimari

Bu makalede uygulamanın App Service Ortamı, Azure SQL Yönetilen Örneği ve Azure Kubernetes Services gibi temel hizmetleri ele alınmıyor. Diyagramın bu bölümleri yalnızca daha geniş bir çözüm olarak neler yapabileceğinizi gösterir. Bu makalede özellikle gölgeli alanlar, API Management ve Application Gateway ele alınmaktadır.

Diagram showing how Application Gateway and API Management protect APIs.

Bu mimarinin bir Visio dosyasını indirin.

İş akışı

  • Application Gateway, alt ağının Ağ Güvenlik Grubu (NSG) tarafından izin verilen HTTP isteklerini alır.

  • Application Gateway'de Web Uygulaması Güvenlik Duvarı (WAF) daha sonra isteği Geomatch filtrelemesi de dahil olmak üzere WAF kurallarına göre denetler. İstek geçerliyse, istek devam eder.

  • Application Gateway, isteği uygun arka uç havuzuna gönderen bir URL proxy mekanizması ayarlar. Örneğin, API çağrısının URL biçimine bağlı olarak:

    • gibi api.<some-domain>/external/* biçimlendirilmiş URL'ler, istenen API'lerle etkileşime geçmek için arka uca ulaşabilir.

    • Hedefsiz bir arka uç havuzu olan bir çıkmaz uca (havuz) gitmek olarak api.<some-domain>/* biçimlendirilmiş çağrılar.

  • Ayrıca Application Gateway, altında api.<some-domain>/internal/*, aynı Azure sanal ağındaki kaynaklardan gelen iç çağrıları kabul eder ve proxy'ler.

  • Son olarak, API Management düzeyinde API'ler aşağıdaki desenler altındaki çağrıları kabul etmek üzere ayarlanır:

    • api.<some-domain>/external/*
    • api.<some-domain>/internal/*

    Bu senaryoda API Management, genel ve özel olmak üzere iki tür IP adresi kullanır. Genel IP adresleri, 3443 numaralı bağlantı noktasındaki iç iletişim ve dış sanal ağ yapılandırmasındaki çalışma zamanı API'sinin trafiği içindir. API Management, İnternet'e yönelik genel bir arka uca istek gönderdiğinde, isteğin kaynağı olarak bir genel IP adresi gösterir. Daha fazla bilgi için bkz . Sanal ağdaki API Management hizmetinin IP adresleri.

  • Application Gateway düzeyindeki bir yönlendirme kuralı, geliştiricilerin API'leri ve yapılandırmalarını hem iç hem de dış ortamlardan yönetebilmesi için altındaki kullanıcıları portal.<some-domain>/* düzgün bir şekilde geliştirici portalına yönlendirir.

Components

  • Azure Sanal Ağ birçok azure kaynağının birbiriyle, İnternet'le ve şirket içi ağlarla özel olarak iletişim kurmasına olanak tanır.

  • Azure Uygulaması lication Gateway, web uygulamalarına yönelik trafiği yöneten bir web trafiği yük dengeleyicidir. Bu yönlendirme türü, uygulama katmanı (OSI katman 7) yük dengelemesi olarak bilinir. Yaygın web tabanlı saldırı vektörlerine karşı koruma sağlamak için bir Web Uygulaması Güvenlik Duvarı (WAF) barındırır.

  • Azure API Management , tüm ortamlarda API'ler için karma, çoklu bulut yönetim platformudur. API Management, mevcut arka uç hizmetleri için tutarlı ve modern API ağ geçitleri oluşturur.

Öneriler

Bu çözüm, çözümün tamamını uygulamaya ve API Management sanal ağının içinden ve dışından API erişimini test etme konusuna odaklanır. API Management sanal ağ tümleştirme işlemi hakkında daha fazla bilgi için bkz . Api Management'ı Application Gateway ile iç sanal ağda tümleştirme.

Arka uçtaki özel kaynaklarla iletişim kurmak için Application Gateway ve API Management'ın kaynaklarla aynı sanal ağda veya eşlenmiş bir sanal ağda olması gerekir.

  • Özel, iç dağıtım modeli, API Management'ın mevcut bir sanal ağa bağlanmasına olanak sağlayarak ağ bağlamının içinden erişilebilir olmasını sağlar. Bu özelliği etkinleştirmek için Geliştirici veya Premium API Management katmanlarını dağıtın.

  • Azure Key Vault'ta sertifikaları ve parolaları yönetin.

  • Hizmetlerle etkileşimleri kişiselleştirmek için CNAME girdilerini kullanabilirsiniz.

Alternatifler

Benzer düzeyde güvenlik duvarı ve Web Uygulaması Güvenlik Duvarı (WAF) koruması sağlamak için diğer hizmetleri kullanabilirsiniz:

Dikkat edilmesi gereken noktalar

Güvenilirlik

Azure Uygulaması lication Gateway, örnek sayısı ne olursa olsun her zaman yüksek oranda kullanılabilir bir şekilde dağıtılır. Bölge arızasının etkisini önlemek için Application Gateway'i birden çok Kullanılabilirlik Alanları yayacak şekilde yapılandırabilirsiniz. Daha fazla bilgi için bkz . Otomatik Ölçeklendirme ve Yüksek Kullanılabilirlik.

Dayanıklılık ve yüksek kullanılabilirlik sağlamak için API Management hizmet bileşenlerinizde alanlar arası yedekliliği etkinleştirin. Alanlar arası yedeklilik, API Management ağ geçidini ve denetim düzlemini fiziksel olarak ayrılmış bölgelerdeki veri merkezleri arasında çoğaltarak bölge hatasına karşı dayanıklı olmasını sağlar. Kullanılabilirlik alanlarını desteklemek için API Management Premium katmanı gereklidir.

API Management, birden çok bölgeli dağıtımları da destekler ve bu da bir bölgenin çevrimdışı olması durumunda kullanılabilirliği geliştirebilir. Daha fazla bilgi için bkz . Çok bölgeli dağıtım. Bu topolojide, Application Gateway bölgesel bir hizmet olduğundan bölge başına bir Application Gateway'e sahip olmak da önemlidir.

Güvenlik

Application Gateway güvenliği hakkında daha fazla bilgi için bkz . Application Gateway için Azure güvenlik temeli.

API Management güvenliği hakkında daha fazla bilgi için bkz . API Management için Azure güvenlik temeli.

Uygulama tasarımı en iyi yöntemleriyle birlikte Azure DDoS Koruması, DDoS saldırılarına karşı daha fazla savunma sağlamak için gelişmiş DDoS azaltma özellikleri sağlar. Herhangi bir çevre sanal ağında Azure DDOS Koruması'nı etkinleştirmeniz gerekir.

Maliyet iyileştirme

Bu mimarinin maliyeti, aşağıdaki gibi yapılandırma özelliklerine bağlıdır:

  • Hizmet katmanları
  • Ölçeklenebilirlik, hizmetler tarafından belirli bir talebi desteklemek için dinamik olarak ayrılan örnek sayısı anlamına gelir
  • Bu mimarinin sürekli mi yoksa ayda yalnızca birkaç saat mi çalıştırılacağı

Bu yönleri değerlendirdikten sonra, fiyatlandırmayı tahmin etmek için Azure Fiyatlandırma Hesaplayıcısı'na gidin.

Performans verimliliği

Application Gateway bu mimarinin giriş noktasıdır ve WAF özelliği her istek analizi için ek işlem gücü gerektirir. Application Gateway'in işlem kapasitesini yerinde genişletmesine izin vermek için otomatik ölçeklendirmeyi etkinleştirmek önemlidir. Daha fazla bilgi için bkz . Otomatik ölçeklendirmeyi belirtme. Application Gateway için alt ağın boyutuyla ilgili ürün belgeleri önerilerini izleyin. Bu, alt ağın tam ölçeği genişletmeyi destekleyecek kadar büyük olmasını sağlar.

Yüksek oranda eşzamanlı senaryoları desteklemek için API Management otomatik ölçeklendirmesini açın. Otomatik ölçeklendirme, artan sayıda gelen isteğe yanıt olarak API Management özelliklerini genişletir. Daha fazla bilgi için bkz . Azure API Management örneğini otomatik olarak ölçeklendirme.

Bu senaryoyu dağıtın

Bu senaryo, Application Gateway'in iç API Management ve Web App ile Azure Hızlı Başlangıç galerisi yayınında gösterilmiştir.

Sonraki adımlar

API'lerinizi iyi Web API'si tasarım yönergelerini izleyerek tasarlayıp iyi Web API'si uygulama uygulamalarını kullanarak uygulayın.