Реалізація політик API
Azure API Management
Fiodar Sazanavets
Senior Software Engineer at Microsoft
Вступ до політик API
Як швейцар: перевіряє, хто заходить
Як знаки обмеження швидкості: керують потоком трафіку
Захищайте API, блокуючи порушників
Дозуйте запити, щоб ніхто не перевантажив систему
Усе, що входить/виходить через API Gateway, контролюють політики
Огляд політик API Management
Політики — це набір потужних правил, написаних простою XML
Думайте про них як про конвеєр запиту й відповіді
Ви можете вставляти правила на різних етапах, щоб формувати трафік
Найкраще: не потрібно чіпати бекенд-код
Приклад: зворотна сумісність
Область дії політик
Політики можуть бути глобальними для всієї організації
Ці правила керують усіма API
Можуть застосовуватися до окремих API
Дозволяють керувати конкретним продуктом
Можуть застосовуватися до окремих ендпоінтів
Використовуються для тонкого контролю
Inbound-політики
Коли надходить запит, APIM спочатку оцінює inbound-політики
Приклад: зробити старі версії застосунку сумісними з новими API, доповнивши дані в payload
Inbound-політики можуть захищати від зловмисних спроб
Вони виявляють некоректні запити або відсутні дані
Цей ранній барʼєр не пускає хибні дані до сервісів
Безпека та обмеження трафіку
Вони обмежують надмірних клієнтів, забезпечуючи чесне використання та захист бекенду
Inbound-політики також відповідають за безпеку
Поширена політика: валідувати JWT (JSON Web Token)
Думайте про JWT як про цифрове посвідчення клієнта
Політика validate-jwt перевіряє, чи він справжній, не прострочений і від довіреного емітента (напр., Entra ID)
Для жорсткішого контролю: політики лімітування швидкості та квот
Outbound-політики
Після обробки на бекенді outbound-політики коригують відповіді перед поверненням
Як у ресторані: запит → кухня (бекенд) → станція подачі (outbound-політики)
Outbound-політики можуть:
Прибирати зайве (напр., чутливі заголовки)
Додавати інструкції (напр., директиви кешування)
Змінювати формат (напр., перетворювати XML на JSON)
Відповіді відповідають очікуванням клієнта, незалежно від підготовки на бекенді
Давайте потренуємось!
Azure API Management
Preparing Video For Download...