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

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Введение в политики API

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

  • Как охранник на входе: проверяет, кому можно войти
  • Как знак ограничения скорости: управляет потоком трафика
  • Защищают API, блокируя нежелательных клиентов
  • Ограничивают запросы, чтобы никто не перегрузил систему
  • Всё, что входит и выходит через API Gateway, управляется политиками
Azure API Management

Обзор политик управления API

Политики APIM

  • Политики — это набор мощных правил, написанных на простом XML
  • Представьте их как конвейер обработки запросов и ответов
  • Правила можно добавлять на разных этапах для управления трафиком
  • Главное преимущество: не нужно изменять код бэкенда
Azure API Management

Пример: обратная совместимость

Обратная совместимость через APIM

Azure API Management

Области применения политик

  • Политики могут быть глобальными и применяться ко всей организации
    • Такие правила управляют всеми API
  • Могут применяться к отдельным API
    • Позволяют управлять конкретным продуктом
  • Могут применяться к отдельным эндпоинтам
    • Используются для точечного управления

Области применения политик

Azure API Management

Входящие политики

  • При получении запроса APIM сначала применяет входящие политики
  • Пример: обеспечение совместимости старых версий приложений с новыми API за счёт дополнения данных
  • Входящие политики защищают от вредоносных запросов
  • Они обнаруживают некорректные запросы или отсутствующие данные
  • Этот барьер предотвращает попадание плохих данных в сервисы

Дополнение входящих данных

Валидация запроса

Azure API Management

Безопасность и ограничение запросов

Входящая политика безопасности

Применение квот на запросы

  • Они ограничивают чрезмерно активных клиентов, обеспечивая справедливое использование и защиту бэкенда
  • Входящие политики также отвечают за безопасность
  • Распространённая политика: проверка JWT (JSON Web Token)
  • JWT — это цифровое удостоверение личности, которое клиент отправляет вместе с запросом
  • Политика validate-jwt проверяет его подлинность, срок действия и доверенность издателя (например, Entra ID)
  • Для более строгого контроля: политики ограничения частоты запросов и квот
Azure API Management

Исходящие политики

  • После обработки бэкендом исходящие политики корректируют ответ перед отправкой
  • Представьте ресторан: запрос → кухня (бэкенд) → станция оформления блюд (исходящие политики)
  • Исходящие политики могут:
    • Удалять лишнее (например, чувствительные заголовки)
    • Добавлять инструкции (например, директивы кэширования)
    • Изменять формат (например, конвертировать XML в JSON)

Дополнение данных ответа

Преобразование ответа

  • Ответы соответствуют ожиданиям клиента вне зависимости от формата бэкенда
Azure API Management

Давайте потренируемся!

Azure API Management

Preparing Video For Download...