API-beleidsregels implementeren
Azure API Management
Fiodar Sazanavets
Senior Software Engineer at Microsoft
Introductie tot API-beleidsregels
Als een portier: checkt wie binnenkomt
Als snelheidsborden: regelt de doorstroming
Beschermt API’s door onruststokers te blokkeren
Knijpt requests af zodat niemand het systeem overspoelt
Alles in/uit de API-gateway wordt door regels gestuurd
Overzicht API Management-beleidsregels
Beleidsregels zijn krachtige regels in eenvoudige XML
Zie ze als een request-responsepijplijn
Je kunt op verschillende punten regels toevoegen om verkeer te sturen
Beste deel: je hoeft je backend-code niet aan te passen
Voorbeeld: backward compatibility
Beleidsbereiken
Beleidsregels kunnen globaal en organisatiebreed zijn
Deze regels sturen alle API’s
Kunnen op individuele API’s worden toegepast
Beheer per specifiek product
Kunnen op individuele endpoints worden toegepast
Voor fijnmazige controle
Inbound-beleidsregels
Bij een request checkt APIM eerst de inbound-beleidsregels
Voorbeeld: maak oude app-versies compatibel met nieuwe API’s door payload aan te vullen
Inbound-regels beschermen tegen kwaadwillenden
Ze detecteren foutieve requests of ontbrekende data
Deze vroege vangrail voorkomt dat foute data services bereikt
Beveiliging en throttling
Deze knijpen te drukke clients af: eerlijk gebruik en bescherming van de backend
Inbound-beleidsregels regelen ook de security
Veelgebruikt: een JWT (JSON Web Token) valideren
Zie een JWT als een digitale ID die de client meestuurt
De validate-jwt-regel checkt of het geldig is, niet verlopen, en van een vertrouwde issuer (bijv. Entra ID)
Voor strakkere controle: rate limiting en quota-beleid
Outbound-beleidsregels
Na backend-verwerking passen outbound-beleidsregels responses aan vóór terugsturen
Denk aan een restaurant: request -> keuken (backend) -> uitgifte (outbound)
Outbound-regels kunnen:
Ongewenste delen verwijderen (bv. gevoelige headers)
Instructies toevoegen (bv. caching-directives)
Formaat wijzigen (bv. XML naar JSON)
Responses voldoen zo aan de verwachtingen, los van de backend
Laten we oefenen!
Azure API Management
Preparing Video For Download...