[ MSP, API'ler ve entegrasyonlar ]

İzlenebilir bir kimlik doğrulama API'si kanıt yolu tasarlayın

Kimlik bilgilerini saklamadan sözleşme sürümlerini, koleksiyonun eksiksizliğini, yeniden deneme sonuçlarını ve insan kararlarını koruyan bir API kanıt yolu tasarlayın.

EmailAuth araştırma ekibi tarafından · 6 dakikalık okuma

[ Anahtar noktalar ]

  • Gerçek uç nokta sözleşmesini sabitleyin ve toplama sınırlarını koruyun.
  • Kısmi hataları gizlemeden sayfalandırmayı kaydedin ve sonuçları yeniden deneyin.
  • Olay kimliğini, doğrulamayı ve kopyaları açık uygulama sorunları olarak ele alın.
  • Ham gözlemleri, türetilmiş yorumları ve onayları ayrı tutun.
Bu sayfada

Sonucu açıklayan bir yol oluşturun

Kimlik doğrulama API'si kanıt takibi, başka bir incelemecinin neyin talep edildiğini, neyin iade edildiğini, neyin atlandığını ve uygulamanın sonuca nasıl ulaştığını yeniden yapılandırmasına olanak sağlamalıdır. Başarı rozeti veya büyük bir JSON dosyası yeterli değildir. İz, kaynak gözlemlerini yerel dönüşümlerden ve bunları takip eden insan kararlarından ayırmalıdır.

Bu makalede önerilen bir tasarım açıklanmaktadır. Hiçbir EmailAuth API'si, bağlayıcısı, olay akışı veya denetim özelliği doğrulanmadı. Hiçbir kimlik bilgisi, müşteri hesabı, API çağrısı veya tarama kullanılmadı. Kamu standartları ve sağlayıcı referansları 8 Kasım 2026'da gözden geçirildi. Örnekler, yürütülen demirbaşlar veya operasyonel transkriptler değil, tasarım örnekleridir.

Sözleşmeyi ve tahsilat sınırını sabitleyin

Sağlayıcıyı, uç noktayı, HTTP yöntemini, hesabı veya kiracı kapsamını ve gerekli izni adlandırın. Şema veya belge sürümünü, istemci sürümünü ve koleksiyon yapılandırmasını koruyun. Değişen bir dokümantasyon URL'si, değişmez bir sürüm pini değildir; tarihli bir yakalamayı koruyun ve doğrulanması gerekenleri kaydedin. Daha sonraki ayrıştırıcıların eski kanıtları sessizce yeniden yorumlamaması için sözleşme tanımlayıcısını her koleksiyon çalıştırmasında tutun.

Zaman penceresini, filtreleri ve beklenen tamamlanma sinyalini tanımlayın. Route 53 belgelenmiş liste işlemi, ad, tür ve varsa tanımlayıcı için IsTruncated ve devam değerlerini kullanır. Cloudflare DNS listesi uç noktası bunun yerine sayfa parametrelerini ve sonuç bilgilerini açıklar. Bunlar, kimlik doğrulama raporlama API'si için değiştirilebilir tarifler değil, farklı sözleşme örnekleridir. Route 53 Ve Cloudflare.

Sırları saklamadan yeterli bağlamı yakalayın

Bir yerel çalıştırma tanımlayıcısı atayın ve istek süresini, yanıt süresini, uç nokta şablonunu, gizli olmayan kaynak referansını, yanıt durumunu ve belgelenen herhangi bir sağlayıcı istek tanımlayıcısını kaydedin. Onaylanmış yanıt içeriğini veya korumalı yapı referansını özet ve koleksiyon kaynağıyla birlikte koruyun. Karma, daha sonraki bayt değişikliklerinin algılanmasına yardımcı olabilir; kaynağın doğru olduğunu veya bir koleksiyonun eksiksiz olduğunu kanıtlayamaz.

Kanıt izinde yetkilendirme başlıklarını, erişim belirteçlerini, imzalama sırlarını veya sınırsız hata ayıklama dökümlerini saklamayın. İncelenmiş bir alan izin verilenler listesi kullanın ve belge düzenleme kurallarını kullanın. Redakte edilmiş bir türev, orijinalin muhafaza edilmesinin gerekçeli ve yetkili olduğu durumlarda kontrollü orijinale olan bağlantıyı muhafaza etmelidir. OWASP'ın günlük kaydı kılavuzu, yararlı olay içeriğini, doğrudan günlüğe kaydedilmemesi gereken kimlik bilgilerinden ve hassas verilerden ayırır. OWASP Günlüğe Kaydetme Hile Sayfası.

Sayfalandırmanın eksiksizliğini kayıtlı bir sonuç haline getirin

Beklenen her devam adımını ve sonucunu izleyin. Sayfa tanımlayıcılarını veya işaretçilerini, öğe sayımlarını, mükerrer tespitleri ve terminal durumunu koruyun. Orta sayfa başarısız olursa, başarılı gözlemleri saklayın ancak koleksiyonu kısmi olarak etiketleyin. Gelen alt kümeden "başarısız gönderen yok" sonucunu çıkarmayın. Önbelleğe alınmış önceki bir başarı, mevcut çalıştırmanın tamamlanmamış durumunun üzerine yazmamalıdır.

Ayrıca sayfalar arasındaki tutarlılığı da göz önünde bulundurun. Route 53 listeleme sırasındaki kayıt değişikliklerinin eski ve yeni görünümleri karıştırabileceği konusunda uyarıyor. Diğer API'ler farklı anlık görüntü garantileri sunabilir veya hiç sunmayabilir. Gerçek sözleşmeyi, gözlemlenen tahsilat aralığını ve eşzamanlı değişiklik belirsizliğini kaydedin. Tam bir geçiş, otomatik olarak tek bir atomik anlık görüntü değildir.

Aktarım yeniden denemelerini mantıksal işlemden ayırın

Belgelenen hizmet sözleşmesini kullanarak yeniden denenebilir sonuçları sınıflandırın. Hız sınırı sinyallerine saygı gösterin, sınırlı geri çekilme uygulayın ve deneme sayılarını ve nihai tükenmeyi koruyun. Cloudflare HTTP 429'u ve yeniden deneme davranışını belgeliyor ancak bu, başka bir sağlayıcının kotasını veya yeniden deneme politikasını oluşturmaz. Yeniden denemek, ilk toplama işleminin geciktiği veya eksik olduğu gerçeğini ortadan kaldırmamalıdır. Cloudflare hız sınırı belgeleri.

HTTP yönteminin semantiği de önemlidir. Eşgüçlülük, tekrarlanan özdeş isteklerin aynı amaçlanan etkiye sahip olduğu anlamına gelir; her yanıtın aynı olması veya her işlemin zararsız olması anlamına gelmez. Belirsiz bir değişiklik isteğini yalnızca bir istemcinin zaman aşımına uğraması nedeniyle otomatik olarak yeniden yürütmeyin. Bu iş akışı salt okunurdur; gelecekteki herhangi bir yazma yolunun ayrı bir yetkilendirmeye ve doğrulanmış bir sonuç kontrolüne ihtiyacı vardır. RFC 9110 , bölüm 9.2.2.

Olay alımı için belgelenmiş bir olay kimliği ve dayanıklı bir yineleme işleme kuralı tanımlayın. Sağlayıcı teslimatı yeniden deneyebilir veya ilgili olayları beklenmedik bir sırayla gönderebilir. Bir olayı kabul etmeden önce göndereni söz konusu sağlayıcının desteklenen mekanizmasını kullanarak doğrulayın, ardından paylaşılan sırrı günlüğe kaydetmeden doğrulama ve işleme sonuçlarını kaydedin. OWASP'ın web kancası kılavuzu, belirli bir kimlik doğrulama satıcısının imzalı olayları uyguladığının kanıtı değil, güvenlik tasarımı desteğidir. OWASP Web Kancası Güvenliği.

Dönüşümleri ve kararları ayrı kayıtlar olarak koruyun

Ayrıştırıcı sürümünü, normalleştirme kurallarını ve reddedilen girişleri kaydedin. Sağlayıcının zaman damgalarını besleme süresinden ve analiz zamanından farklı tutun. İçin DMARC Satırları birleştirmeden önce verileri toplayın, raporlama organizasyonunu, raporlama aralığını ve rapor kimliğini koruyun. RFC 9990 raporlama yapısını tanımlar; belirli bir API sarmalayıcının her raporu döndürdüğünü veya her alanı koruduğunu belirlemez. RFC 9990.

Temel gözlemi yeniden yazmak yerine, analistin yorumunu ve insan onayını yeni kayıtlar olarak ekleyin. Bir düzeltme neyin yerine geçtiğini ve nedenini tanımlamalıdır. Erişim kısıtlamaları, saklama ve yetkili açıklamanın kendilerine ait sahipleri olması gerekir. Teknik olarak ayrıntılı bir iz, kararla ilgisi olmayan geniş bir mesaj içeriği veya müşteri bilgisi deposu haline gelmemelidir.

Güvenilirliği talep etmeden önce fikstürleri belirtin

Önerilen fikstür seti, temiz bir çok sayfalı geçişi, tekrarlanan kayıtları, yinelenen olayları, gecikmiş bir olayı, hız sınırı duraklamasını, tükenmiş yeniden denemeleri ve daha önceki başarının ardından kısmi bir başarısızlığı kapsamalıdır. Bir şema değişikliğini ve reddedilen bir yetkilendirme girişimini ekleyin. Beklenen sonuçlar, hangi kanıtların kullanılabilir kaldığını ve hangi sonuçların saklanması gerektiğini tanımlamalıdır. Bu makale için bu vakaların hiçbiri idam edilmedi.

Tam orijinal kanıt gereksinimi açıktır: Sürüme sabitlenmiş bir API sözleşmesi ve sayfalandırma, yinelenen olaylar, yeniden denemeler ve kısmi hatalar için sabitler. Tarihli kamuya açık referanslar ve bu anlatım, gerçek bir entegrasyon için tamamlanmış bir sözleşme veya fikstür paketi değil, hazırlık niteliğindedir. Bağımsız inceleme, teknik ve güvenlik kabulü, onaylanmış operasyonel kanıtlar, görsel kontroller ve sahibin yayınlama izni henüz tamamlanmamıştır.

[ Götürmek ]

Sınırlı kaynak gözlemleri ve dönüşümleri yoluyla sonuçların izini sürün; Başarılı bir istek veya içerik karması, tam veya doğru bir kanıt oluşturmaz.

[ Role göre ]

Bu sizin için ne anlama geliyor?

Sonraki pratik adımlar için rolünüzü seçin.

API sorumlusu

Bütünlüğü makine tarafından okunabilir hale getirin

Bağdaştırıcı, daha sonraki bir incelemecinin günlük hacminden tahminde bulunmadan tam bir geçişi yararlı bir kısmi sonuçtan ayırt edebilmesine yetecek kadar sözleşme durumunu korumalıdır.

Sonraki adımlar

  1. İstemci ve ayrıştırıcı sürümleriyle uç nokta ve şema referanslarını kaydedin.
  2. Devam işaretlerini, terminal koşullarını ve tutarlılık sınırlamalarını koruyun.
  3. Aşağı yöndeki özetleri uygulamadan önce kısmi, başarısız ve tam sonuçları tanımlayın.

Güvenlik mühendisi

Yolu gizli bir mağazaya dönüşmekten koruyun

Denetlenebilirlik, sınırsız istek dökümlerini değil, seçici bağlamı gerektirir. Olay doğrulama ve güvenli günlük kaydı birlikte incelenmelidir.

Sonraki adımlar

  1. Taşıyıcı kimlik bilgilerini ve imza sırlarını normal kanıt kayıtlarından hariç tutun.
  2. Belgelenen sağlayıcı mekanizmasını kullanarak gelen olayın orijinalliğini doğrulayın.
  3. Orijinaller ve düzenlenmiş türevler için erişim, saklama ve açıklama sahiplerini atayın.

Kanıt incelemecisi

Gözlemleri yeniden yazmadan kararı yeniden oluşturun

Yararlı bir iz, hangi kaynak olgularının bir sonucu desteklediğini ve belirsizliğin nerede kaldığını ortaya çıkarır. Düzeltmeler ve onaylar, kendilerinden önceki verilerden ayırt edilebilir olmalıdır.

Sonraki adımlar

  1. Toplama, dönüştürme ve insan kararı kayıtları aracılığıyla bir sonucun izini sürün.
  2. Eksik sayfaların, gecikmiş olayların veya reddedilen girişlerin belirtilen popülasyonu değiştirip değiştirmediğini kontrol edin.
  3. Gerçek sözleşme ve önerilen arıza tespitleri bağımsız olarak değerlendirilinceye kadar güvenilirlik iddialarını saklı tutun.

[ SSS ]

Sık sorulan sorular

Mevcut dokümantasyon URL'sini saklamak bir API sözleşmesini sabitlemek için yeterli mi?

Hayır. Canlı bir URL değişebilir. Mevcut olduğunda değişmez bir satıcı sürümünü koruyun, aksi takdirde tarihli bir belge veya şema yakalamasını saklayın ve sınırlamayı kaydedin. Ayrıca kullanılan istemci, ayrıştırıcı ve fikstür versiyonlarını da tanımlayın.

Yanıt özeti API kanıtlarının doğru olduğunu kanıtlıyor mu?

Bir özet, tutulan baytlardan sonraki farkları tespit edebilir. Bu baytların ticari doğruluğunu doğrulamaz, tam sayfalama oluşturmaz veya kaynağın ilgili tüm trafiği gözlemlediğini kanıtlamaz.

Belirtilen satıcı örnekleri arasında hangi sayfalandırma ayrıntıları farklılık gösteriyor?

Route 53 IsTruncated artı devam adını, tipini ve isteğe bağlı tanımlayıcıyı açıklar. Cloudflare sayfa parametrelerini ve sonuç bilgilerini açıklar. Bir bağdaştırıcının, bu mekanizmaların eşdeğer olduğunu varsaymak yerine kendi uç noktasının sözleşmesine uyması gerekir.

İki başarıdan sonra üçüncü sayfa başarısız olduğunda iz ne söylemelidir?

Başarılı sayfaları bağlamlarıyla birlikte koruyun, başarısızlığı koruyun ve çalışmayı kısmi olarak işaretleyin. Daha sonraki herhangi bir yeniden başlatmayı, zaman ve tutarlılık sınırlarını gösterecek kadar ayrı olarak kaydedin. Boş bir son sayfa üretmeyin.

Zaman aşımına uğrayan tüm istekler otomatik olarak yeniden oynatılabilir mi?

Hayır. Sözleşme, yöntem semantiği ve uygulamaya ilişkin belirsizlik önemlidir. Bu tasarım salt okunurdur. Belirsiz bir değişiklik operasyonu, kör bir tekrardan ziyade kendi onayına ve sonuç kontrollerine ihtiyaç duyacaktır.

Webhook imzası yinelenen işleme ihtiyacını ortadan kaldırır mı?

Hayır. Orijinallik ve tekrar işleme farklı sorulardır. Desteklenen imza mekanizmasını doğrulayın, ardından aynı mantıksal olayın iki kez uygulanmasını önlemek için belgelenmiş bir olay kimliği ve dayanıklı işleme kuralları kullanın.

Tekrarlanabilirlik için yetkilendirme başlıkları dahil edilmeli mi?

Hayır. Taşıyıcı belirtecini veya imzalama sırrını değil, gizli olmayan bağlamı ve kimlik bilgisi referansını koruyun. Gözden geçirilmiş alan seçimini ve düzeltmeyi kullanın, saklanan orijinalleri koruyun ve kanıt erişimini amacına göre kısıtlayın.

Gerekli sözleşme ve arıza demirbaşları burada sağlandı mı?

Hayır. Makale bunların yapısını önermektedir ancak gerçek bir entegrasyon veya yürütülen fikstür sonuçları için versiyona bağlı bir sözleşme sunmamaktadır. Sayfalandırma, yinelenen olay, yeniden deneme ve kısmi arıza kanıtı, açık bir devreye alma kapısı olmaya devam ediyor.

[ Kaynaklar ]

Kaynaklar

  1. Amazon Route 53 : ListResourceRecordSets
  2. Cloudflare : API hız sınırları
  3. Cloudflare API: DNS Kayıtlarını Listeleme
  4. OWASP Günlüğe Kaydetme Hile Sayfası
  5. OWASP Web Kancası Güvenliği Hile Sayfası
  6. RFC 9110 : HTTP Anlambilimi
  7. RFC 9990 : DMARC Toplu Raporlama

[ Sözlük ]

Sözlük

Sözleşme pini
Yalnızca tarihli, değiştirilebilir bir belge yakalamanın mevcut olduğu durumlarda, açık sınırlamalarla, bir entegrasyon için kullanılan tam arayüz tanımına ilişkin tutulan bir referans.
Devam kanıtı
Kaydedilen sayfalama işaretleri ve sonuçların, bir koleksiyonun nasıl ilerlediğini ve belgelenen sonuna ulaşıp ulaşmadığını açıklaması gerekiyordu.
Kanıt özeti
İçeriklerinin doğruluğunu veya eksiksizliğini bağımsız olarak belirlemeden, daha sonraki değişiklikleri tespit etmek için tutulan baytlardan hesaplanan değer.
Olay tekilleştirme
Belgelenmiş bir mantıksal olayın tekrarlanan dağıtımını tanıyan ve etkisinin tekrar uygulanmasını önleyen uygulama mantığı.
Dönüşüm kaynağı
Kaynak materyal, işleme versiyonları, normalizasyon seçenekleri ve türetilmiş sonuçlar arasında korunan bağlantı.

Kurumsal menşe

Neden en iyi finans kurumları ve hükümetler e-posta güvenlik kontrol panellerini kullanımdan kaldırdı.

Geleneksel e-posta kimlik doğrulama platformları size bir gösterge tablosu satar ve mühendislerinizden bu işi yapmalarını ister. Riskli ortamlarda, manuel gözetim, gecikmeli uygulama, konfigürasyon kayması ve izlenmeyen gölge alanlar anlamına gelir.

EmailAuth aracılı e-posta kaynak platformudur. Temsilcilerimiz uyguluyor p=reject, üçüncü taraf gönderenleri uyumlu tutun ve alan adlarınızı tam sürüme taşıyın RFC 9989 döngüdeki insan tarafından denetlenebilirliğe sahip yeni DMARC standardı uyumluluğu.

Hükümetler Büyük işletmeler 1. Seviye finans kurumları

SaaS · Özel kiracılık · Şirket içi hava boşluklu · BYOK şifrelemesi

Bilgi Bankası