[ MSP, interfejsy API i integracje ]

Ocena API uwierzytelniania: zakres, pochodzenie i limity szybkości

Oceń interfejs API raportowania uwierzytelniania, testując jego kontrakt, pochodzenie i zachowanie w przypadku awarii przed zatwierdzeniem przepływu pracy.

Przez zespół badawczy EmailAuth · 3 minuty czytania

[Kluczowe punkty]

  • Oceń interfejs API raportowania uwierzytelniania, testując jego kontrakt, pochodzenie i zachowanie w przypadku awarii przed zatwierdzeniem przepływu pracy.
  • Traktuj paginację, autoryzację i ponowne uruchomienie jako osobne testy akceptacyjne w ramach przypiętej umowy z dostawcą.
Na tej stronie

Ocena API powinna odpowiedzieć na pytanie, czy klient może wiarygodnie odzyskać zamierzone dowody, a nie na to, czy przykładowe żądanie zwraca HTTP 200. Najpierw zdefiniuj przepływ pracy: na przykład wyeksportuj otrzymane dowody od jednego klienta raporty zbiorcze do prywatnego magazynu dowodów bez utraty stron i mieszania najemców. Unikaj zakładania, że ​​jakikolwiek wymieniony produkt oferuje ten interfejs, dopóki nie zostanie zweryfikowana jego bieżąca umowa.

Przypnij umowę i granice

Zapisz dostawcę, punkt końcowy, wersję API, metodę uwierzytelniania, granicę dzierżawcy, pola, reguły paginacji i udokumentowane limity. Oddziel tożsamość raportu od chwili jego otrzymania i okresu, którego dotyczy. Określ, czy interfejs API zwraca surowe raporty, znormalizowane wiersze, czy wyniki pochodne. Są to różne populacje dowodów i wymagają różnych zasad uzgadniania.

Dokumentacja wersji API GitHuba ilustruje jawny wybór wersji za pomocą X-GitHub-Api-Version. To konkretny przykład praktyki wersjonowania, a nie dowód, że GitHub eksportuje DMARC raporty. Aby dokonać faktycznej oceny, przed testowaniem zapisz te szczegóły w możliwej do sprawdzenia notatce do umowy. Ten przewodnik nie zawiera umowy z dostawcą, punktu końcowego ani możliwości produktu.

Sprawdź pochodzenie i pola

W przypadku znormalizowanego wiersza zachowaj osobę zgłaszającą, identyfikator raportu, pierwotny okres, godzinę otrzymania i odcisk palca źródła, jeśli jest dostępny. Zachowaj oryginalny artefakt pod zatwierdzonymi środkami kontroli przechowywania. RFC 9990 jest głównym punktem odniesienia dla struktury raportu zbiorczego. Wygodny schemat JSON nie może przekształcić zgłoszonych liczników w dowód dostarczenia wiadomości ani odzyskać informacji, których odbiorca nigdy nie dostarczył.

Zapytaj, w jaki sposób usługa reprezentuje częściowe przetworzenie, zniekształcone raporty, poprawione dane i brakujące okresy gromadzenia danych. Cicho pominięta strona może spowodować, że wiarygodne dane będą błędne. Poproś o próbkę zawierającą znane błędy i porównaj ją z niezależnie zliczonymi danymi wejściowymi, a nie tylko z innym ekranem zasilanym przez ten sam eksport.

Celowo ćwicz ścieżki niepowodzeń

Przetestuj wynik wielostronicowy, pusty wynik, zduplikowane dane wejściowe, dwa rekordy dzielące sygnaturę czasową, odwołane poświadczenie, żądanie między dzierżawcami i przejściowy błąd. Postępuj zgodnie z udokumentowanymi linkami kontynuacyjnymi lub kursorami. Do ograniczania szybkości, statusu rekordu, odpowiednich nagłówków i zasad ponawiania. Najlepsze praktyki GitHuba zalecają przestrzeganie sygnałów ograniczających przepływność i unikanie niekontrolowanej współbieżności; Dokładne limity nadal należą do faktycznej umowy o świadczenie usług.

Załóżmy, że pierwsza strona jest zapisana, ale strona druga nie działa. HTTP 200 dla pierwszego żądania nie może uzasadniać pełnego eksportu; zachowaj status częściowy i skorzystaj z obsługiwanego przez dostawcę procesu kontynuacji lub ponownego uruchomienia. Oddzielnie pomyślnie uwierzytelnione żądanie innego autoryzowanego dzierżawcy testowego musi zostać odrzucone, jeśli obiekt wywołujący nie ma tego uprawnienia. Te hipotetyczne przypadki testują różne wymagania: kompletność i autoryzację.

W przypadku testu ponawiania należy rozróżnić udokumentowaną odpowiedź dotyczącą ograniczenia szybkości od trwałego błędu uprawnień. Dokumentacja dotycząca limitów szybkości GitHuba wyjaśnia, że ​​może zgłosić ograniczenie szybkości za pomocą 403 lub 429, więc nie klasyfikuj każdego 403 jako trwale niemożliwego do ponownej próby bez przeczytania kontekstu błędu i udokumentowanych nagłówków. Zastosuj ograniczone reguły oczekiwania i ponawiania próby rzeczywistego dostawcy. Nie wykonano tutaj żadnego zegara wirtualnego, testu ponownego uruchomienia, wezwania dostawcy ani kontroli dostępu na żywo.

Zdecyduj, co jest dopuszczalne

Utwórz zapis oceny zawierający listę każdego wymaganego zachowania, uzyskanych dowodów i pozostałej niepewności. Traktuj brakującą izolację dzierżawcy lub nieodwracalną utratę danych jako warunki zatrzymania. Brak poświadczeń produkcyjnych nie musi uniemożliwiać oceny dokumentów, ale uniemożliwia twierdzenie, że przetestowano kontrolę dostępu na żywo.

Uzgodnij z właścicielem usługi kolejny krok: uzyskaj piaskownicę, zaimplementuj chroniony adapter lub zawęź przepływ pracy do obsługiwanych eksportów. Zachowaj przypiętą umowę i elementy testowe, aby móc później ocenić zmianę dostawcy. Ogranicz oświadczenia dotyczące konkretnego produktu do udokumentowanych i zaobserwowanych możliwości; w tym przewodniku nie jest weryfikowana żadna integracja API EmailAuth .

[Na wynos]

Traktuj paginację, autoryzację i ponowne uruchomienie jako osobne testy akceptacyjne w ramach przypiętej umowy z dostawcą.

[ Według roli ]

Co to oznacza dla Ciebie

Wybierz swoją rolę, aby uzyskać praktyczne dalsze kroki.

Administrator IT / poczty

Przypnij i odtwórz ponownie umowę

Powtarzalne testy ujawniają dryf.

Kolejne kroki

  1. Zachowaj wersję API.
  2. Sprawdź każdą kontynuację.
  3. Uzgodnij znane sumy.

CISO / SecOps

Wprowadź obowiązkowe testy dostępu

Poprawność danych obejmuje granice najemców.

Kolejne kroki

  1. Przejrzyj przyznane zakresy.
  2. Przetestuj cofnięty dostęp.
  3. Śledź niezweryfikowane kontrole.

Założyciel / Nietechniczny

Oceń zamierzony wynik

Odpowiedź demonstracyjna nie ustanawia użytecznej usługi.

Kolejne kroki

  1. Zdefiniuj kryteria akceptacji.
  2. Wymagaj dowodów z nieudanych spraw.
  3. Unikaj nieobsługiwanych obietnic integracji.

[ Często zadawane pytania ]

Często zadawane pytania

Czy HTTP 200 wystarczy, aby przejść ocenę?

Nie. Sprawdź kompletność, zakres, pochodzenie i sposób odzyskiwania.

Jaką umowę zawiera ten przewodnik?

Nic. Przypnij rzeczywistą wersję dostawcy, zakres dzierżawy, pola, paginację i limity przed ich oceną.

Czy źródło GitHub ustanawia interfejs API DMARC ?

Nie. Dokumentuje praktyki inżynieryjne API, a nie możliwości eksportu raportów uwierzytelniających.

Po co zachować surowy raport?

Wspiera pochodzenie i ponowne przetwarzanie w przypadku zmiany znormalizowanych interpretacji, z zastrzeżeniem zatwierdzonego przechowywania.

Co powinien zapisywać test graniczny?

Status, udokumentowane nagłówki, zachowanie oczekiwania i ograniczony wynik odzyskiwania.

Jak przetestować pełną paginację?

Porównaj zebrane tożsamości i sumy z niezależnie znanym zestawem wejściowym.

Czy hipotetyczne przypadki świadczą o izolacji najemców?

Nie. Definiują oczekiwane zachowanie; rzeczywista usługa wymaga autoryzowanych testów dozwolonych i zabronionych.

Kiedy należy zakończyć ocenę?

Gdy jest to wymagane, nie można bezpiecznie ustalić sposobu odzyskania strat lub uprawnień.

[ Źródła ]

Źródła

  1. Raportowanie zbiorcze RFC 9990 DMARC

    Sekcje §3.1 · §3.1.1.4 · §3.1.2 · §3.5.1 · §3.5.4 · §4 · §7 · §8

  2. Najlepsze praktyki GitHub REST API

    Sekcje Unikaj równoczesnych żądań · Odpowiednio obsługuj błędy związane z limitem szybkości · Nie analizuj ręcznie adresów URL · Używaj żądań warunkowych

  3. Wersje API REST GitHub

    Sekcje Określanie wersji API

  4. Paginacja GitHub REST API

    Sekcje Korzystanie z nagłówków linków · Zmiana liczby elementów na stronie

  5. Limity szybkości interfejsu API REST GitHub

    Sekcje Przekroczenie limitu stawki

[ Słowniczek ]

Słowniczek

Przypięta umowa API
Zachowana wersja i specyfikacja zachowania dla integracji.
Pochodzenie
Informacje łączące dane uzyskane z ich pierwotnym źródłem i historią przetwarzania.

Pochodzenie przedsiębiorstwa

Dlaczego najlepsze instytucje finansowe i rządy wycofali swoje panele bezpieczeństwa poczty e-mail.

Tradycyjne platformy uwierzytelniania poczty e-mail oferują pulpit nawigacyjny i proszą inżynierów o wykonanie pracy. W środowiskach o dużej stawce ręczny nadzór oznacza opóźnione egzekwowanie, zmianę konfiguracji i niemonitorowane domeny-cienie.

EmailAuth to platforma agentowego pochodzenia wiadomości e-mail. Nasi agenci egzekwują p=reject, dostosuj zewnętrznych nadawców i przenieś swoje domeny do pełnych adresów RFC 9989 zgodność, nowy standard DMARC , z możliwością kontroli przez człowieka.

Rządy Duże przedsiębiorstwa Instytucje finansowe poziomu 1

SaaS · Dedykowany najem · Lokalne rozwiązanie typu air-gapped · Szyfrowanie BYOK

Baza wiedzy