Implementera API-policyer
Azure API Management
Fiodar Sazanavets
Senior Software Engineer at Microsoft
Introduktion till API-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
Översikt över API Management-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
Exempel: bakåtkompatibilitet
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
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
Säkerhet och begränsning
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
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)
Svaren uppfyller klienternas förväntningar, oavsett hur backend förberett dem
Nu kör vi en övning!
Azure API Management
Preparing Video For Download...