Implementera API-policyer

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Introduktion till API-policyer

API Management-policyer

  • Som en dörrvakt: kontrollerar vem som släpps in
  • Som hastighetsskyltar: reglerar trafikflödet
  • Skyddar API:er genom att blockera oönskade anrop
  • Begränsar förfrågningar så att ingen överbelastar systemet
  • Allt som passerar API Gateway styrs av policyer
Azure API Management

Översikt över API Management-policyer

APIM-policyer

  • Policyer är kraftfulla regler skrivna i enkel XML
  • Tänk på dem som en pipeline för förfrågningar och svar
  • Du kan infoga regler i olika steg för att forma trafiken
  • Det bästa: du behöver inte ändra din backendkod
Azure API Management

Exempel: bakåtkompatibilitet

Bakåtkompatibilitet via APIM

Azure API Management

Policyomfång

  • Policyer kan vara globala och organisationsövergripande
    • Dessa regler gäller för alla API:er
  • Kan tillämpas på enskilda API:er
    • Gör det möjligt att hantera en specifik produkt
  • Kan tillämpas på enskilda slutpunkter
    • Används för detaljerad styrning

Policyomfång

Azure API Management

Inkommande policyer

  • När en förfrågan anländer utvärderar APIM inkommande policyer först
  • Exempel: Gör äldre appversioner kompatibla med nya API:er genom att komplettera nyttolastdata
  • Inkommande policyer kan skydda mot skadliga försök
  • De upptäcker felaktiga förfrågningar eller saknade data
  • Detta tidiga skydd hindrar felaktig data från att nå tjänsterna

Inkommande datatillägg

Förfrågningsvalidering

Azure API Management

Säkerhet och begränsning

Inkommande policy för säkerhet

Tillämpa förfrågningskvoter

  • Dessa begränsar överdrivna klienter och säkerställer rättvis användning och skydd av backend
  • Inkommande policyer ansvarar även för säkerhet
  • En vanlig policy: validera ett JWT (JSON Web Token)
  • Tänk på ett JWT som ett digitalt ID-kort som skickas av klienten
  • Policyn validate-jwt kontrollerar att det är giltigt, inte utgånget och från en betrodd utfärdare (t.ex. Entra ID)
  • För starkare kontroll: policyer för hastighetsbegränsning och kvoter
Azure API Management

Utgående policyer

  • Efter backendbearbetning justerar utgående policyer svaren innan de returneras
  • Tänk på det som en restaurangbeställning: förfrågan → kök (backend) → anrättningsstation (utgående policyer)
  • Utgående policyer kan:
    • Ta bort oönskade delar (t.ex. känsliga headers)
    • Lägga till instruktioner (t.ex. cachedirektiv)
    • Ändra format (t.ex. konvertera XML till JSON)

Utökning av svarsdata

Svarstransformation

  • Svaren uppfyller klienternas förväntningar, oavsett hur backend förberett dem
Azure API Management

Nu kör vi en övning!

Azure API Management

Preparing Video For Download...