Implementace zásad API
Azure API Management
Fiodar Sazanavets
Senior Software Engineer at Microsoft
Úvod do zásad API
Jako vrátný: kontroluje, kdo smí vstoupit
Jako
dopravní značky
: řídí tok provozu
Chrání rozhraní API blokováním hrozeb
Omezuje požadavky, aby nikdo nepřetížil systém
Vše procházející API Gateway je řízeno zásadami
Přehled zásad API Management
Zásady jsou sada výkonných pravidel zapsaných v jednoduchém XML
Fungují jako
kanál pro zpracování požadavků a odpovědí
Pravidla lze vkládat v různých fázích pro řízení provozu
Kód backendu není třeba nijak upravovat
Příklad: zpětná kompatibilita
Rozsahy zásad
Zásady mohou být globální a platit pro celou organizaci
Tato pravidla řídí všechna rozhraní API
Lze je použít na jednotlivá rozhraní API
Umožňují správu konkrétního produktu
Lze je použít na jednotlivé koncové body
Slouží k podrobné kontrole
Příchozí zásady
Při příchodu požadavku APIM nejprve vyhodnotí
příchozí zásady
Příklad: Zajištění kompatibility starých verzí aplikací s novými rozhraními API rozšířením dat
Příchozí zásady chrání před škodlivými pokusy
Detekují chybně formátované požadavky nebo chybějící data
Tato ochrana zabrání přenosu chybných dat do služeb
Zabezpečení a omezování provozu
Tato omezení regulují nadměrné klienty a zajišťují spravedlivé využití a ochranu backendu
Příchozí zásady jsou také zodpovědné za
zabezpečení
Běžná zásada: ověření JWT (JSON Web Token)
JWT funguje jako digitální průkaz totožnosti zaslaný klientem
Zásada validate-jwt ověří jeho platnost, platnost doby expirace a důvěryhodnost vystavitele (např. Entra ID)
Pro silnější kontrolu: zásady omezení rychlosti a kvót
Odchozí zásady
Po zpracování backendem
odchozí zásady
upraví odpovědi před jejich odesláním
Analogie s restaurací: požadavek → kuchyně (backend) → výdejní stanice (odchozí zásady)
Odchozí zásady mohou:
Odstraňovat nežádoucí části (např. citlivé hlavičky)
Přidávat instrukce (např. direktivy pro ukládání do mezipaměti)
Měnit formát (např. převod XML na JSON)
Odpovědi splňují očekávání klienta bez ohledu na přípravu backendu
Pojďme procvičovat!
Azure API Management
Preparing Video For Download...