Implementowanie zasad API
Azure API Management
Fiodar Sazanavets
Senior Software Engineer at Microsoft
Wprowadzenie do zasad API
Jak bramkarz: sprawdza, kto wchodzi
Jak
znaki ograniczenia prędkości
: kontroluje przepływ ruchu
Chroni API, blokując niepożądanych użytkowników
Ogranicza żądania, by nikt nie przeciążył systemu
Wszystko przechodzące przez bramę API jest kontrolowane przez zasady
Omówienie zasad API Management
Zasady to zestaw reguł zapisanych w prostym formacie XML
Można je traktować jako
potok żądań i odpowiedzi
Reguły można dodawać na różnych etapach, aby kształtować ruch
Nie trzeba modyfikować kodu backendu
Przykład: zgodność wsteczna
Zakresy zasad
Zasady mogą być globalne i obowiązywać w całej organizacji
Reguły te dotyczą wszystkich API
Można je stosować do poszczególnych API
Umożliwiają zarządzanie konkretnym produktem
Można je stosować do poszczególnych punktów końcowych
Służą do szczegółowej kontroli
Zasady przychodzące
Po odebraniu żądania APIM najpierw ocenia
zasady przychodzące
Przykład: Zapewnienie zgodności starych wersji aplikacji z nowymi API przez uzupełnianie danych
Zasady przychodzące chronią przed złośliwymi próbami
Wykrywają nieprawidłowe żądania lub brakujące dane
Ta wczesna bariera zapobiega docieraniu błędnych danych do usług
Bezpieczeństwo i ograniczanie ruchu
Ograniczają nadmiernych klientów, zapewniając uczciwe użycie i ochronę backendu
Zasady przychodzące odpowiadają również za
bezpieczeństwo
Typowa zasada: walidacja JWT (JSON Web Token)
JWT to cyfrowy dowód tożsamości przesyłany przez klienta
Zasada validate-jwt sprawdza, czy token jest prawidłowy, aktualny i pochodzi od zaufanego wystawcy (np. Entra ID)
Silniejsza kontrola: zasady limitowania żądań i przydziałów
Zasady wychodzące
Po przetworzeniu przez backend
zasady wychodzące
modyfikują odpowiedzi przed ich zwróceniem
Analogia do restauracji: zamówienie -> kuchnia (backend) -> stanowisko wykańczania (zasady wychodzące)
Zasady wychodzące mogą:
Usuwać niepożądane elementy (np. wrażliwe nagłówki)
Dodawać instrukcje (np. dyrektywy buforowania)
Zmieniać format (np. konwertować XML na JSON)
Odpowiedzi spełniają oczekiwania klientów niezależnie od przygotowania backendu
Czas na ćwiczenia!
Azure API Management
Preparing Video For Download...