Azure API Management'ın önünde Front Door Standard/Premium'ı yapılandırma

UYGULANANLAR: Tüm API Management katmanları

Azure Front Door, küresel web uygulamalarınız için güvenli, ölçeklenebilir içerik teslim ağı (CDN), dinamik site hızlandırma ve genel HTTP(ler) yük dengelemesi sağlayan modern bir uygulama teslim ağı platformudur. Front Door, API Management'ın önünde kullanıldığında, diğer özelliklerin yanı sıra TLS boşaltma, uçtan uca TLS, yük dengeleme, GET isteklerinin yanıt önbelleğe alınmasını ve bir web uygulaması güvenlik duvarı sağlayabilir. Desteklenen özelliklerin tam listesi için bkz. Azure Front Door nedir?

Not

Web iş yükleri için, yeni ortaya çıkan DDoS saldırılarına karşı koruma sağlamak için Azure DDoS koruması ve web uygulaması güvenlik duvarı kullanmanızı kesinlikle öneririz. Bir diğer seçenek de Azure Front Door'un yanı sıra bir web uygulaması güvenlik duvarı kullanmaktır. Azure Front Door, ağ düzeyinde DDoS saldırılarına karşı platform düzeyinde koruma sunar. Daha fazla bilgi için bkz . Azure hizmetleri için güvenlik temeli.

Bu makalede şunların nasıl yapıldığını gösterir:

  • Genel olarak erişilebilen bir Azure API Management örneğinin önünde bir Azure Front Door Standard/Premium profili ayarlayın: ağa bağlı değil veya dış modda bir sanal ağa eklenmiş.
  • API Management'ı yalnızca Azure Front Door'dan gelen API trafiğini kabul etmek üzere kısıtlayın.

Önkoşullar

  • Api Management örneği.
    • Ağa eklenmiş bir örnek kullanmayı seçerseniz, bunun bir dış sanal ağa dağıtılması gerekir. (Sanal ağ ekleme, Geliştirici ve Premium hizmet katmanlarında desteklenir.)
  • Front Door üzerinden yönlendirmeyi onaylamak için BIR veya daha fazla API'yi API Management örneğine aktarın.

Azure Front Door'ı yapılandırma

Profil oluşturma

Azure Front Door Standard/Premium profili oluşturma adımları için bkz . Hızlı Başlangıç: Azure Front Door profili oluşturma - Azure portalı. Bu makale için bir Front Door Standard profili seçebilirsiniz. Front Door Standard ve Front Door Premium karşılaştırması için bkz . Katman karşılaştırması.

API Management örneğinizin ağ geçidi uç noktasını Front Door kaynağı olarak kullanmaya özgü aşağıdaki Front Door ayarlarını yapılandırın. Diğer ayarların açıklaması için Front Door hızlı başlangıcına bakın.

Ayar Value
Kaynak türü API Management'ı seçin
Kaynak konak adı API Management örneğinizin ana bilgisayar adını (örneğin, myapim.azure-api.net) seçin
Önbelleğe Alma Front Door'un statik içeriği önbelleğe almasını sağlamak için Önbelleğe almayı etkinleştir'i seçin
Sorgu dizesi önbelleğe alma davranışı Sorgu Dizesini Kullan'ı seçin

Portalda Front Door profili oluşturma işleminin ekran görüntüsü.

Varsayılan kaynak grubunu güncelleştirme

Profil oluşturulduktan sonra, varsayılan kaynak grubunu API Management sistem durumu yoklaması içerecek şekilde güncelleştirin.

  1. Portalda Front Door profilinize gidin.

  2. Soldaki menüde, Ayarlar altında Origin groups>default-origin-group öğesini seçin.

  3. Çıkış noktası grubunu güncelleştir penceresinde aşağıdaki Sistem Durumu yoklaması ayarlarını yapılandırın ve Güncelleştir'i seçin:

    Ayar Value
    Statü Sistem durumu yoklamalarını etkinleştir'i seçin
    Yol /status-0123456789abcdef girin
    Protokol HTTPS'yi seçin
    Yöntem GET'i seçin
    Aralık (saniye cinsinden) 30 girin

    Portalda varsayılan çıkış noktası grubunu güncelleştirme işleminin ekran görüntüsü.

Varsayılan yolu güncelleştirme

İletme protokolü olarak HTTPS kullanmak için API Management kaynak grubuyla ilişkili varsayılan yolu güncelleştirmenizi öneririz.

  1. Portalda Front Door profilinize gidin.
  2. Soldaki menüde, Ayarlar altında Kaynak grupları'nı seçin.
  3. default-origin-group öğesini genişletin.
  4. Varsayılan yolun bağlam menüsünde (...) Yolu yapılandır'ı seçin.
  5. Kabul edilen protokolleri HTTP ve HTTPS olarak ayarlayın.
  6. Https kullanmak için tüm trafiği yeniden yönlendirme'yi etkinleştirin.
  7. İletme protokollerini yalnızca HTTPS olarak ayarlayın ve güncelleştir'i seçin.

Yapılandırmayı test edin

API Management tarafından barındırılan bir API'yi çağırarak Front Door profil yapılandırmasını test edin. İlk olarak, API'nin erişilebilir olduğundan emin olmak için API'yi doğrudan API Management ağ geçidi üzerinden çağırın. Ardından Front Door aracılığıyla API'yi çağırın. Test etmek için çağrılar gibi curl bir komut satırı istemcisi veya Postman gibi bir araç kullanabilirsiniz.

API Management aracılığıyla doğrudan API çağırma

Aşağıdaki örnekte, API Management örneği tarafından barındırılan Demo Konferans API'sindeki bir işlem doğrudan Postman kullanılarak çağrılır. Bu örnekte, örneğin ana bilgisayar adı varsayılan azure-api.net etki alanındadır ve istek üst bilgisi kullanılarak geçerli bir abonelik anahtarı geçirilir. Başarılı bir yanıt beklenen verileri gösterir 200 OK ve döndürür:

Doğrudan Postman kullanarak API Management uç noktasını çağırmayı gösteren ekran görüntüsü.

Api'yi doğrudan Front Door üzerinden çağırma

Aşağıdaki örnekte, örneğiniz için yapılandırılan Front Door uç noktası kullanılarak Demo Konferans API'sindeki aynı işlem çağrılır. Uç noktanın azurefd.net etki alanındaki ana bilgisayar adı portalda Front Door profilinizin Genel Bakış sayfasında gösterilir. Başarılı bir yanıt, önceki örnektekiyle aynı verileri gösterir 200 OK ve döndürür:

Postman kullanarak Front Door uç noktasını çağırmayı gösteren ekran görüntüsü.

API Management örneğine gelen trafiği kısıtlama

API Management örneğinizin yalnızca Azure Front Door'dan gelen trafiği kabul etmesini sağlamak için API Management ilkelerini kullanın. Aşağıdaki yöntemlerden birini veya her ikisini kullanarak bu kısıtlamayı gerçekleştirebilirsiniz:

  1. Gelen IP adreslerini API Management örneklerinizle kısıtlama
  2. Üst bilginin değerine X-Azure-FDID göre trafiği kısıtlama

Gelen IP adreslerini kısıtlama

API Management'ta yalnızca Front Door ile ilgili trafiğe izin verecek bir gelen ip filtresi ilkesi yapılandırabilirsiniz. Bu ilke şunları içerir:

  • Front Door'un arka uç IP adresi alanı - Azure IP Aralıkları ve Hizmet Etiketleri'ndeki AzureFrontDoor.Backend bölümüne karşılık gelen IP adreslerine izin verin.

    Not

    API Management örneğiniz bir dış sanal ağda dağıtılıyorsa, API Management örneğiniz için kullanılan alt ağa bir gelen ağ güvenlik grubu kuralı ekleyerek aynı kısıtlamayı gerçekleştirin. Kuralı, 443 numaralı bağlantı noktasında AzureFrontDoor.Backend kaynak hizmet etiketinden HTTPS trafiğine izin verecek şekilde yapılandırın.

  • Azure altyapı hizmetleri - 168.63.129.16 ve 169.254.169.254 IP adreslerine izin verin.

Front Door üst bilgisini denetleme

Front Door üzerinden yönlendirilen istekler, Front Door yapılandırmanıza özgü üst bilgileri içerir. Gelen istekleri API Management'a gönderilen HTTP isteği üst bilgisinin X-Azure-FDID benzersiz değerine göre filtrelemek için check-header ilkesini yapılandırabilirsiniz. Bu üst bilgi değeri, portalda Front Door profilinin Genel Bakış sayfasında gösterilen Front Door Kimliği'dir.

Aşağıdaki ilke örneğinde, Front Door Kimliği adlı FrontDoorIdadlandırılmış değer kullanılarak belirtilir.

<check-header name="X-Azure-FDID" failed-check-httpcode="403" failed-check-error-message="Invalid request." ignore-case="false">
        <value>{{FrontDoorId}}</value>
</check-header>

Geçerli X-Azure-FDID bir üst bilgiyle birlikte olmayan istekler yanıt 403 Forbidden döndürür.

(İsteğe bağlı) Geliştirici portalı için Front Door'ı yapılandırma

İsteğe bağlı olarak, API Management örneğinin geliştirici portalını Front Door profilinde uç nokta olarak yapılandırın. Yönetilen geliştirici portalında zaten Azure tarafından yönetilen bir CDN varken WAF gibi Front Door özelliklerinden yararlanmak isteyebilirsiniz.

Profilinize geliştirici portalı için bir uç nokta eklemeye yönelik üst düzey adımlar aşağıdadır:

  • Uç nokta eklemek ve yol yapılandırmak için bkz . Front Door yöneticisi ile yapılandırma ve uç nokta.

  • Yolu eklerken, geliştirici portalını temsil etmek için bir kaynak grubu ve kaynak ayarları ekleyin:

    • Kaynak türü - Özel Seç
    • Ana bilgisayar adı - Geliştirici portalının ana bilgisayar adını girin, örneğin, myapim.developer.azure-api.net

Ayarlar hakkında daha fazla bilgi ve ayrıntılar için bkz . Azure Front Door için kaynak yapılandırma.

Not

Geliştirici portalı için bir Microsoft Entra Id veya Azure AD B2C kimlik sağlayıcısı yapılandırdıysanız, ilgili uygulama kaydını Front Door'a ek bir yeniden yönlendirme URL'si ile güncelleştirmeniz gerekir. Uygulama kaydında, Front Door profilinizde yapılandırılan geliştirici portalı uç noktasının URL'sini ekleyin.

Sonraki adımlar

  • API Management ile Front Door dağıtımlarını otomatikleştirmek için bkz. API Management kaynağı ile Front Door Standard/Premium şablonu

  • API Management örneğini kötü amaçlı saldırılara karşı korumak için Azure Front Door'da Web Uygulaması Güvenlik Duvarı (WAF) dağıtmayı öğrenin.