Implementarea politicilor API

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Introducere în politicile API

Politici API Management

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

Prezentare generală a politicilor API Management

Politici APIM

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

Exemplu: compatibilitate retroactivă

Compatibilitate retroactivă prin APIM

Azure API Management

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

Domenii de aplicare ale politicilor

Azure API Management

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

Augmentarea datelor de intrare

Validarea cererilor

Azure API Management

Securitate și limitare a traficului

Politică de intrare pentru securitate

Impunerea cotelor de cereri

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

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)

Augmentarea datelor de răspuns

Transformarea răspunsului

  • Răspunsurile corespund așteptărilor clientului, indiferent de pregătirea backend-ului
Azure API Management

Să exersăm!

Azure API Management

Preparing Video For Download...