CloudEvents şemasıyla uç nokta doğrulama
Web kancaları, Azure Event Grid'den olay almanın birçok yolu arasında yer alır. Yeni bir olay hazır olduğunda Event Grid hizmeti, istek gövdesindeki olay bilgileriyle yapılandırılmış uç noktaya bir HTTP isteği oluşturur.
Web kancalarını destekleyen diğer birçok hizmet gibi Event Grid de web kancası uç noktanıza olay göndermeye başlamadan önce web kancası uç noktanızın sahipliğini kanıtlamanızı gerektirir. Bu gereksinim, kötü amaçlı bir kullanıcının uç noktanızı olaylarla dolup taşmasını önler.
CloudEvents v1.0 ile uç nokta doğrulaması
CloudEvents v1.0, HTTP OPTIONS yöntemini kullanarak kendi kötüye kullanım koruma semantiğini uygular. Çıkış için CloudEvents şemasını kullandığınızda Event Grid, Event Grid doğrulama olay mekanizması yerine CloudEvents v1.0 kötüye kullanım korumasını kullanır.
CloudEvent v1.0 kötüye kullanım koruması
Bildirimlerin rastgele HTTP uç noktalarına kaydedilmesine ve teslimine izin veren herhangi bir sistem, kötü amaçlı olarak veya yanlışlıkla böyle istekler beklemeyen ve kayıt yapan tarafın böyle bir kayıt gerçekleştirme yetkisi olmayan bir sistemin adresini kaydedecek şekilde kötüye kullanılabilir. Aşırı durumlarda, rastgele bir web sitesine yönelik hizmet reddi saldırıları başlatmak için bir bildirim altyapısı kötüye kullanılabilir.
Gönderenin bu şekilde kötüye kullanılmasına karşı korumak için, meşru bir teslim hedefinin, ona gönderilen bildirimleri kabul ettiğini belirtmesi gerekir.
Teslimat sözleşmesine ulaşmak aşağıdaki doğrulama el sıkışması kullanılarak gerçekleştirilir. El sıkışma, kayıt zamanında hemen veya teslimden hemen önce bir "ön kontrol" isteği olarak yürütülebilir.
El sıkışmanın bir kimlik doğrulaması veya yetkilendirme bağlamı oluşturmayı hedeflemediğini anlamak önemlidir. Yalnızca göndereni trafiği beklemeden bir hedefe göndermeye göndermeye karşı korumaya hizmet eder. Bu belirtim bir yetkilendirme modelinin kullanılmasını zorunlu kılsa da, bu web sitesi erişim denetimi uygulamaz ve bu nedenle üst bilgiyi yoksayarsa Authorization
, herhangi bir rastgele web sitesini istenmeyen trafikten korumak için yeterli değildir.
Teslim hedefleri kötüye kullanım koruma özelliğini desteklemeLIDIR. Bir hedef özelliği desteklemiyorsa, gönderen hedefe hiç göndermemeyi veya yalnızca çok düşük bir istek oranıyla göndermemeyi seçebilir.
Doğrulama isteği
Doğrulama isteği HTTP OPTIONS yöntemini kullanır. İstek, kayıtlı olan tam kaynak hedef URI'sine yönlendirilir. Doğrulama isteğiyle, gönderen hedefden bildirim gönderme izni ister ve istenen istek hızını (dakika başına istekler) bildirebilir. Teslim hedefi bir izin bildirimi ve izin verilen istek oranıyla yanıt verir. Aşağıda, doğrulama isteğine dahil edilmeye yönelik üst bilgi alanlarından birkaçı yer alır.
Web Kancası-İstek-Kaynak
Üst WebHook-Request-Origin
bilgi doğrulama isteğine eklenmelidir ve bu gönderenden bildirim gönderme izni ister ve gönderen sistemi tanımlayan bir Etki Alanı Adı Sistemi (DNS) ifadesi içerir, örneğin eventemitter.example.com
. Değerin amacı, tek bir ana bilgisayar yerine belirli bir sistem adına hareket eden tüm gönderen örneklerini özetlemektir.
El sıkışmadan sonra ve izin verildiyse, gönderen her teslim isteği için istek üst bilgisini, bu üst bilgiyle eşleşen değerle birlikte kullanmalıdır Origin
.
Örnek:
WebHook-Request-Origin: eventemitter.example.com
Doğrulama yanıtı
Yalnızca teslim hedefi olayların teslimine izin verirse ve üst bilgilerini ekleyerek WebHook-Allowed-Origin
WebHook-Allowed-Rate
isteği yanıtlamaK ZORUNDADIR. Teslim hedefi geri çağırma yoluyla izin vermeyi seçerse yanıt üst bilgilerini saklar.
Teslim hedefi olayların teslimine izin vermiyorsa veya olayların teslimini beklemiyorsa ve yine de HTTP OPTIONS yöntemini işlerse, mevcut yanıt onay olarak yorumlanmamalıdır ve bu nedenle el sıkışması durum kodlarına dayanamaz. Teslim hedefi aksi takdirde HTTP OPTIONS yöntemini işlemiyorsa, SEÇENEKLER desteklenmiyor gibi HTTP durum kodu 405 ile yanıt vermelidir.
OPTIONS yanıtı POST yöntemine Allow
izin verilen üst bilgiyi içermelidir. Kaynakta diğer yöntemlere izin verilebilir, ancak işlevleri bu belirtim kapsamının dışındadır.
Web Kancası İzin Verilen Çıkış Noktası
Teslim WebHook-Allowed-Origin
hedefi, kaynak hizmet tarafından bildirim teslimini kabul ettiğinde üst bilgi döndürülmelidir. Değeri, üst bilgide sağlanan kaynak adı veya teslim hedefinin WebHook-Request-Origin
tüm kaynaklardan gelen bildirimleri desteklediğini belirten tek bir yıldız karakteri ('*') olmalıdır.
WebHook-Allowed-Origin: eventemitter.example.com
Or
WebHook-Request-Origin: *
Önemli
Kötüye kullanım koruması hakkında daha fazla bilgi için olay teslim belirtimi için HTTP 1.1 Web Kancaları'nda kötüye kullanım koruması bölümüne bakın.
İlgili içerik
Olay aboneliği doğrulama sorunlarını gidermeyi öğrenmek için aşağıdaki makaleye bakın: Olay aboneliği doğrulama sorunlarını giderme.