Реалізація політик API

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Вступ до політик API

Політики керування API

  • Як швейцар: перевіряє, хто заходить
  • Як знаки обмеження швидкості: керують потоком трафіку
  • Захищайте API, блокуючи порушників
  • Дозуйте запити, щоб ніхто не перевантажив систему
  • Усе, що входить/виходить через API Gateway, контролюють політики
Azure API Management

Огляд політик API Management

Політики APIM

  • Політики — це набір потужних правил, написаних простою XML
  • Думайте про них як про конвеєр запиту й відповіді
  • Ви можете вставляти правила на різних етапах, щоб формувати трафік
  • Найкраще: не потрібно чіпати бекенд-код
Azure API Management

Приклад: зворотна сумісність

Зворотна сумісність через APIM

Azure API Management

Область дії політик

  • Політики можуть бути глобальними для всієї організації
    • Ці правила керують усіма API
  • Можуть застосовуватися до окремих API
    • Дозволяють керувати конкретним продуктом
  • Можуть застосовуватися до окремих ендпоінтів
    • Використовуються для тонкого контролю

Scopes політик

Azure API Management

Inbound-політики

  • Коли надходить запит, APIM спочатку оцінює inbound-політики
  • Приклад: зробити старі версії застосунку сумісними з новими API, доповнивши дані в payload
  • Inbound-політики можуть захищати від зловмисних спроб
  • Вони виявляють некоректні запити або відсутні дані
  • Цей ранній барʼєр не пускає хибні дані до сервісів

Доповнення вхідних даних

Валідація запитів

Azure API Management

Безпека та обмеження трафіку

Inbound-політика для безпеки

Дотримання квот запитів

  • Вони обмежують надмірних клієнтів, забезпечуючи чесне використання та захист бекенду
  • Inbound-політики також відповідають за безпеку
  • Поширена політика: валідувати JWT (JSON Web Token)
  • Думайте про JWT як про цифрове посвідчення клієнта
  • Політика validate-jwt перевіряє, чи він справжній, не прострочений і від довіреного емітента (напр., Entra ID)
  • Для жорсткішого контролю: політики лімітування швидкості та квот
Azure API Management

Outbound-політики

  • Після обробки на бекенді outbound-політики коригують відповіді перед поверненням
  • Як у ресторані: запит → кухня (бекенд) → станція подачі (outbound-політики)
  • Outbound-політики можуть:
    • Прибирати зайве (напр., чутливі заголовки)
    • Додавати інструкції (напр., директиви кешування)
    • Змінювати формат (напр., перетворювати XML на JSON)

Доповнення даних у відповіді

Трансформація відповіді

  • Відповіді відповідають очікуванням клієнта, незалежно від підготовки на бекенді
Azure API Management

Давайте потренуємось!

Azure API Management

Preparing Video For Download...