Implementowanie zasad API

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Wprowadzenie do zasad API

Zasady API Management

  • 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
Azure API Management

Omówienie zasad API Management

Zasady APIM

  • 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
Azure API Management

Przykład: zgodność wsteczna

Zgodność wsteczna przez APIM

Azure API Management

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

Zakresy zasad

Azure API Management

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

Wzbogacanie danych przychodzących

Walidacja żądań

Azure API Management

Bezpieczeństwo i ograniczanie ruchu

Zasady przychodzące dla bezpieczeństwa

Wymuszanie limitów żądań

  • 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
Azure API Management

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)

Wzbogacanie danych odpowiedzi

Transformacja odpowiedzi

  • Odpowiedzi spełniają oczekiwania klientów niezależnie od przygotowania backendu
Azure API Management

Czas na ćwiczenia!

Azure API Management

Preparing Video For Download...