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

Öğreticide, özel arka uçla ilgili bilgileri açığa çıkarmak için API'nizin nasıl dönüştürülmesi gerekir. Örneğin, arka uçta çalışan teknoloji yığınıyla ilgili bilgileri gizlemek istiyor olabilir. Api'nin HTTP yanıtının gövdesinde görünen özgün URL'leri gizlemek ve bunun yerine bunları APIM ağ geçidine yönlendirmek de iyi olabilir.

Bu öğreticide ayrıca Azure API Management ile hız sınırı yapılandırarak arka uç API'niz için koruma eklemenin ne kadar kolay olduğu da API Management. Örneğin, API'nin geliştiriciler tarafından fazla kullanmasını istemiyor olmak için API çağrılarının oranını sınırlamak istiyor olabilirsiniz. Daha fazla bilgi için bkz. API Management ilkeleri.

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

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

Portalda ilkeler

Önkoşullar

API Management örneğinize gidin

  1. Azure portal, API Management Hizmetleri' ni arayıp seçin.

    API Management hizmetleri seçin

  2. API Management Services 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 istemeyebilirsiniz HTTP üst bilgilerini nasıl gizleyebilirsiniz? Bu örnek, HTTP yanıtta aşağıdaki üst bilgileri silmeyi gösterir:

  • X-Powered-By
  • X-AspNet-Sürümü

Özgün yanıtı test etme

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

  1. Hizmet API Management API'ler'i seçin.
  2. API listesinden Demo Conference API'sini seçin.
  3. Ekranın üst kısmında Test sekmesini seçin.
  4. GetSpeakers işlemi seçin ve Gönder'i seçin.

Özgün yanıt aşağıdakine benzer şekilde ilerler:

Özgün API yanıtı

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

Dönüştürme ilkesi ayarlama

  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.

    Giden ilkesine gidin

  3. İmleci giden < öğenin > içine getirin ve sağ üst köşedeki Kod parçacıklarını göster'i seçin.

  4. Sağ pencerede Dönüştürme ilkeleri'nin altında HTTP üst bilginizi iki kez ayarla (iki ilke kod parçacığı eklemek için) öğesini seçin.

    HTTP üst bilgisi ilkesi ayarlama

  5. Kodunuzu <outbound> aşağıdaki gibi olacak şekilde değiştirme:

    <set-header name="X-Powered-By" exists-action="delete" />
    <set-header name="X-AspNet-Version" exists-action="delete" />
    

    HTTP üst bilgisini ayarla

  6. Kaydet’i seçin.

API yanıt gövdesindeki özgün URL’leri, APIM ağ geçidi URL’leri ile değiştirme

Bu bölümde, API'nin HTTP yanıtının gövdesinde görünen özgün URL'leri gizleme ve bunun yerine bunları APIM ağ geçidine yönlendirme hakkında bilgi veresiniz.

Özgün yanıtı test etme

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

  1. Tanıtım Konferansı API'si > Test'i seçin.

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

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

    Yanıt olarak özgün URL'ler

Dönüştürme ilkesi ayarlama

  1. Tanıtım Konferansı API'si Tüm > işlemler Tasarım'ı > seçin.
  2. Giden işleme bölümünde kod düzenleyicisi ( </> ) simgesini seçin.
  3. İmleci giden < öğenin > içine getirin ve sağ üst köşedeki Kod parçacıklarını göster'i seçin.
  4. Sağ pencerede Dönüştürme ilkeleri'nin altında İçerikte URL'leri maskele'yi seçin.
  5. Kaydet’i seçin.

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

Bu bölümde, hız sınırları yapılandırılarak arka uç API’niz için nasıl koruma ekleneceği gösterilmektedir. Örneğin, API'nin geliştiriciler tarafından fazla kullanımına izin vermek için API çağrılarının oranını sınırlamak istiyor olabilirsiniz. Bu örnekte, her abonelik kimliği için sınır 15 saniyede bir 3 çağrıya ayarlanır. 15 saniye sonra geliştirici, API’yi çağırmayı yeniden deneyebilir.

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

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

  3. İmleci gelen < öğenin içine > getirin ve sağ üst köşedeki Kod parçacıklarını göster'i seçin.

    Gelen ilkesi ayarlama

  4. Sağ pencerede Erişim kısıtlama ilkeleri'nin altında + Anahtar başına çağrı oranını sınırla'ya tıklayın.

  5. Rate-limit-by-key kodunuzu <inbound> (öğesinde) aşağıdaki kodla değiştirme:

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

Dönüştürmeleri test etme

Bu noktada kod düzenleyicisinde koda bakarsanız ilkeleriniz şöyle olur:

<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 > Test'i seçin.

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

    Gördüğünüz gibi üst bilgiler çıkarılmış:

    Çıkarılmış yanıt üst bilgileri

Değiştirilen URL’yi test etme

  1. Tanıtım Konferansı API'si > Test'i seçin.

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

    Gördüğünüz gibi URL değiştirilmiştir.

    Değiştirilmiş URL

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

  1. Tanıtım Konferansı API'si > Test'i seçin.

  2. GetSpeakers işlemini seçin. Arka arkaya üç kez gönder'i seçin.

    İsteği 3 kez gönderdikten sonra 429 Çok fazla istek yanıtı alırsiniz.

    Çok fazla istek var

  3. Yaklaşık 15 saniye bekleyip Gönder'i yeniden seçin. Bu defa 200 OK yanıtını almanız gerekir.

Sonraki adımlar

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 gövdesindeki özgün URL’leri, APIM ağ geçidi URL’leri ile değiştirme
  • Hız sınırı ilkesi ekleyerek (azaltma) bir API’yi koruma
  • Dönüştürmeleri test etme

Sonraki öğreticiye ilerleyin: