Öğretici: API'nizi dönüştürme ve koruma

UYGULANANLAR: Tüm API Management katmanları

Bu öğreticide, API'nizi dönüştürmek için ortak ilkeleri yapılandırmayı öğreneceksiniz. Özel arka uç bilgilerini göstermemesi için API'nizi dönüştürmek isteyebilirsiniz. API'yi dönüştürmek, arka uçta çalışan teknoloji yığını bilgilerini gizlemenize veya API'nin HTTP yanıtının gövdesinde görünen özgün URL'leri gizlemenize yardımcı olabilir.

Bu öğreticide, api'nin geliştiriciler tarafından aşırı kullanılmaması için hız sınırı ilkesi yapılandırarak arka uç API'nizin nasıl korunduğunu da açıklanmaktadır. Daha fazla ilke seçeneği için bkz . API Management ilkeleri.

Not

Varsayılan olarak, API Management bir genel forward-request ilke yapılandırılır. Ağ forward-request geçidinin bir arka uç hizmetine yönelik isteği tamamlaması için ilke gereklidir.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Yanıt üst bilgilerini gizlemek için API’yi dönüştürme
  • API yanıtının gövdesindeki özgün URL'leri API Management ağ geçidi URL'leriyle değiştirme
  • Hız sınırı ilkesi (azaltma) ekleyerek API'yi koruma
  • Dönüştürmeleri test etme

Portaldaki API Management ilkelerinin ekran görüntüsü.

Önkoşullar

API Management örneğinize gidin

  1. Azure portalında API Management hizmetlerini arayın ve seçin.

    API Management hizmetlerini seçme

  2. API Management hizmetleri sayfasında API Management örneğinizi seçin.

    API Management örneğinizi seçin

Yanıt üst bilgilerini gizlemek için API’yi dönüştürme

Bu bölümde, kullanıcılarınıza göstermek istemediğiniz HTTP üst bilgilerinin nasıl gizleneceğini gösterir. Örneğin, HTTP yanıtında aşağıdaki üst bilgileri silin:

  • X-Destekleyen:
  • X-AspNet-Sürümü

Özgün yanıtı test etme

Özgün yanıtı görmek için:

  1. API Management hizmet örneğinizde API'ler'i seçin.
  2. API listenizden Demo Konferans API'sini seçin.
  3. Ekranın üst kısmındaki Test sekmesini seçin.
  4. GetSpeakers işlemini ve ardından Gönder'i seçin.

Özgün API yanıtı aşağıdaki yanıta benzer olmalıdır:

Portaldaki özgün API yanıtının ekran görüntüsü.

Gördüğünüz gibi yanıt, X-AspNet-Version ve X-Powered-By üst bilgilerini içerir.

Dönüştürme ilkesi ayarlama

Bu örnekte, ilke XML deyimlerini doğrudan düzenlemek zorunda kalmadan birçok ilkeyi yapılandırmanıza yardımcı olan form tabanlı ilke düzenleyicisinin nasıl kullanılacağı gösterilmektedir.

  1. Tanıtım Konferans API'si>Tasarımı>Tüm işlemler'i seçin.

  2. Giden işleme bölümünde + İlke ekle'yi seçin.

    Portalda giden ilkesine gezinme işleminin ekran görüntüsü.

  3. Giden ilkesi ekle penceresinde Üst bilgileri ayarla'yı seçin.

    Portalda Üst bilgileri ayarla ilkesini yapılandırma işleminin ekran görüntüsü.

  4. Üst bilgileri ayarla ilkesini yapılandırmak için aşağıdakileri yapın:

    1. Ad alanına X-Powered-By girin.
    2. Değer'i boş bırakın. Açılan listede bir değer görünüyorsa silin.
    3. Eylem'in altında sil'i seçin.
    4. Kaydet'i seçin.
  5. Yukarıdaki iki adımı tekrarlayarak X-AspNet-Version üst bilgisini silecek bir Üst bilgi kümesi ilkesi ekleyin:

  6. Yapılandırmadan sonra, Giden işleme bölümünde iki küme üst bilgisi ilkesi öğesi görüntülenir.

    Portalda Üst bilgi giden ilkelerini ayarla seçeneğinin ekran görüntüsü.

API yanıtının gövdesindeki özgün URL'leri API Management ağ geçidi URL'leriyle değiştirme

Bu bölümde, API'nin HTTP yanıtının gövdesinde görünen özgün URL'lerin API Management ağ geçidi URL'leri ile nasıl değiştirilmisi gösterilmektedir. Özgün arka uç URL'lerini kullanıcılardan gizlemek isteyebilirsiniz.

Özgün yanıtı test etme

Özgün yanıtı görmek için:

  1. Tanıtım Konferans API'si Testi'ne> tıklayın.

  2. GetSpeakers işlemini ve ardından Gönder'i seçin.

    Gördüğünüz gibi yanıt özgün arka uç URL'lerini içerir:

    Portalda yanıt olarak özgün URL'lerin ekran görüntüsü.

Dönüştürme ilkesi ayarlama

Bu örnekte, ilke xml parçacığını doğrudan ilke tanımına eklemek için ilke kodu düzenleyicisini kullanırsınız.

  1. Tanıtım Konferans API'si>Tasarımı>Tüm işlemler'i seçin.

  2. Giden işleme bölümünde kod düzenleyicisi (</>) simgesini seçin.

    Portalda giden ilke kodu düzenleyicisine gezinme işleminin ekran görüntüsü.

  3. İmleci öğenin içinde <outbound> boş bir satıra getirin. Ardından ekranın sağ üst köşesindeki Kod parçacıklarını göster'i seçin.

    Portalda giden ilke düzenleyicisinde kod parçacıklarını göster seçeneğinin ekran görüntüsü.

  4. Sağ pencerede, Dönüştürme ilkeleri'nin altında İçerikteki URL'leri maskele'yi seçin.

    <redirect-content-urls /> öğesi imleçte eklenir.

    Portalda içerik ilkesine maske URL'leri ekleme işleminin ekran görüntüsü.

  5. Kaydet'i seçin.

Hız sınırı ilkesi ekleyerek (azaltma) bir API’yi koruma

Bu bölümde, API'nin geliştiriciler tarafından aşırı kullanılmaması için hız sınırlarını yapılandırarak arka uç API'nize nasıl koruma ekleneceği gösterilmektedir. Bu örnekte sınır, her abonelik kimliği için 15 saniyede üç çağrıya ayarlanmıştır. 15 saniye sonra bir geliştirici API'yi çağırmayı yeniden deneyebilir.

  1. Tanıtım Konferans API'si>Tasarımı>Tüm işlemler'i seçin.

  2. Gelen işleme bölümünde kod düzenleyicisi (</>) simgesini seçin.

    Portalda gelen ilke kodu düzenleyicisine gezinme işleminin ekran görüntüsü.

  3. İmleci öğenin içinde <inbound> boş bir satıra getirin. Ardından ekranın sağ üst köşesindeki Kod parçacıklarını göster'i seçin.

    Portalda gelen ilke düzenleyicisinde kod parçacıklarını göster seçeneğinin ekran görüntüsü.

  4. Sağ pencerede, Erişim kısıtlama ilkeleri'nin altında Anahtar başına çağrı hızını sınırla'yı seçin.

    <rate-limit-by-key /> öğesi imleçte eklenir.

    Portalda anahtar ilkesi başına sınır çağrı oranı ekleme işleminin ekran görüntüsü.

  5. <rate-limit-by-key /> öğesindeki <inbound> kodunuzu aşağıdaki kodla değiştirin. Ardından Kaydet'i seçin.

    <rate-limit-by-key calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
    

Dönüştürmeleri test etme

Bu noktada kod düzenleyicisindeki koda bakarsanız ilkeleriniz aşağıdaki koda benzer:

<policies>
   <inbound>
     <rate-limit-by-key calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
     <base />
   </inbound>
   <backend>
     <base />
   </backend>
   <outbound>
     <set-header name="X-Powered-By" exists-action="delete" />
     <set-header name="X-AspNet-Version" exists-action="delete" />
     <redirect-content-urls />
     <base />
   </outbound>
   <on-error>
     <base />
   </on-error>
</policies>

Bu bölümün geri kalanında, bu makalede ayarladığınız ilke dönüştürmeleri test edilmektedir.

Gizlenmiş yanıt üst bilgilerini test etme

  1. Tanıtım Konferans API'si Testi'ne> tıklayın.

  2. GetSpeakers işlemini seçin ve Gönder'i seçin.

    Gördüğünüz gibi X-AspNet-Version ve X-Powered-By üst bilgileri kaldırıldı:

    Portalda soyulmuş yanıt üst bilgilerini gösteren ekran görüntüsü.

Değiştirilen URL’yi test etme

  1. Tanıtım Konferans API'si Testi'ne> tıklayın.

  2. GetSpeakers işlemini seçin ve Gönder'i seçin.

    Gördüğünüz gibi URL'ler değiştirilir.

    Portalda değiştirilen URL'leri gösteren ekran görüntüsü.

Hız sınırını test etme (azaltma)

  1. Tanıtım Konferans API'si Testi'ne> tıklayın.

  2. GetSpeakers işlemini seçin. Art arda dört kez gönder'i seçin.

    İsteği dört kez gönderdikten sonra 429 Çok Fazla İstek yanıtı alırsınız.

    Portaldaki yanıtta Çok Fazla İstek'i gösteren ekran görüntüsü.

  3. 15 saniye veya daha fazla bekleyin ve yeniden Gönder'i seçin. Bu defa 200 OK yanıtını almanız gerekir.

Özet

Bu öğreticide, şunların nasıl yapıldığını öğrendiniz:

  • Yanıt üst bilgilerini gizlemek için API’yi dönüştürme
  • API yanıtının gövdesindeki özgün URL'leri API Management ağ geçidi URL'leriyle değiştirme
  • Hız sınırı ilkesi ekleyerek (azaltma) bir API’yi koruma
  • Dönüştürmeleri test etme

Sonraki adımlar

Sonraki öğreticiye ilerleyin: