Öğ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
Önkoşullar
- Azure API Management terminolojisini öğrenin.
- Azure API Management'ta ilke kavramını anlayın.
- Şu hızlı başlangıcı tamamlayın: Azure API Management örneği oluşturma.
- Ayrıca, şu öğreticiyi tamamlayın: İlk API'nizi içeri aktarma ve yayımlama.
API Management örneğinize gidin
Azure portal, API Management Hizmetleri' ni arayıp seçin.
API Management Services sayfasında 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:
- Hizmet API Management API'ler'i seçin.
- API listesinden Demo Conference API'sini seçin.
- Ekranın üst kısmında Test sekmesini seçin.
- GetSpeakers işlemi seçin ve Gönder'i seçin.
Özgün yanıt aşağıdakine benzer şekilde ilerler:
Gördüğünüz gibi yanıt, X-AspNet-Version ve X-Powered-By üst bilgilerini içerir.
Dönüştürme ilkesi ayarlama
Tanıtım Konferansı API'si > Tasarım Tüm > işlemler'i seçin.
Giden işleme bölümünde kod düzenleyicisi ( </> ) simgesini seçin.
İmleci giden < öğenin > içine getirin ve sağ üst köşedeki Kod parçacıklarını göster'i seçin.
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.
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" />
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:
Tanıtım Konferansı API'si > Test'i seçin.
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:
Dönüştürme ilkesi ayarlama
- Tanıtım Konferansı API'si Tüm > işlemler Tasarım'ı > seçin.
- Giden işleme bölümünde kod düzenleyicisi ( </> ) simgesini seçin.
- İmleci giden < öğenin > içine getirin ve sağ üst köşedeki Kod parçacıklarını göster'i seçin.
- Sağ pencerede Dönüştürme ilkeleri'nin altında İçerikte URL'leri maskele'yi seçin.
- 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.
Tanıtım Konferansı API'si Tüm > işlemler Tasarım'ı > seçin.
Gelen işleme bölümünde kod düzenleyicisi ( </> ) simgesini seçin.
İmleci gelen < öğenin içine > getirin ve sağ üst köşedeki Kod parçacıklarını göster'i seçin.
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.
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
Tanıtım Konferansı API'si > Test'i seçin.
GetSpeakers işlemi seçin ve Gönder'i seçin.
Gördüğünüz gibi üst bilgiler çıkarılmış:
Değiştirilen URL’yi test etme
Tanıtım Konferansı API'si > Test'i seçin.
GetSpeakers işlemi seçin ve Gönder'i seçin.
Gördüğünüz gibi URL değiştirilmiştir.
Hız sınırını test etme (azaltma)
Tanıtım Konferansı API'si > Test'i seçin.
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.
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: