Implementarea politicilor API
Azure API Management
Fiodar Sazanavets
Senior Software Engineer at Microsoft
Introducere în politicile API
Ca un controlor: verifică cine intră
Ca
limitele de viteză
: controlează fluxul de trafic
Protejează API-urile prin blocarea cererilor problematice
Limitează cererile pentru a preveni supraîncărcarea sistemului
Tot ce intră/iese prin API Gateway este controlat prin politici
Prezentare generală a politicilor API Management
Politicile sunt un set de reguli puternice scrise în XML simplu
Se pot vedea ca un
pipeline de cereri și răspunsuri
Regulile pot fi inserate în diferite etape pentru a modela traficul
Avantaj major: codul backend nu necesită modificări
Exemplu: compatibilitate retroactivă
Domenii de aplicare ale politicilor
Politicile pot fi globale, la nivel de organizație
Aceste reguli controlează toate API-urile
Pot fi aplicate API-urilor individuale
Permit gestionarea unui produs specific
Pot fi aplicate endpoint-urilor individuale
Folosite pentru control granular
Politici de intrare
La primirea unei cereri, APIM evaluează mai întâi
politicile de intrare
Exemplu: compatibilitate între versiuni vechi și API-uri noi prin augmentarea datelor
Politicile de intrare protejează împotriva tentativelor malițioase
Detectează cereri malformate sau date lipsă
Această barieră timpurie împiedică datele invalide să ajungă la servicii
Securitate și limitare a traficului
Acestea limitează clienții excesivi, asigurând utilizare echitabilă și protecția backend-ului
Politicile de intrare gestionează și
securitatea
O politică frecventă: validarea unui JWT (JSON Web Token)
JWT-ul funcționează ca un act de identitate digital trimis de client
Politica validate-jwt verifică dacă acesta este legitim, neexpirat și de la un emitent de încredere (ex.: Entra ID)
Pentru control sporit: politici de limitare a ratei și cote de utilizare
Politici de ieșire
După procesarea în backend,
politicile de ieșire
ajustează răspunsurile înainte de returnare
Similar unui restaurant: cerere -> bucătărie (backend) -> stație de finisare (politici de ieșire)
Politicile de ieșire pot:
Elimina elemente nedorite (ex.: headere sensibile)
Adăuga instrucțiuni (ex.: directive de caching)
Transforma formatul (ex.: conversie XML în JSON)
Răspunsurile corespund așteptărilor clientului, indiferent de pregătirea backend-ului
Să exersăm!
Azure API Management
Preparing Video For Download...