Реализация политик API
Azure API Management
Fiodar Sazanavets
Senior Software Engineer at Microsoft
Введение в политики API
Как охранник на входе: проверяет, кому можно войти
Как
знак ограничения скорости
: управляет потоком трафика
Защищают API, блокируя нежелательных клиентов
Ограничивают запросы, чтобы никто не перегрузил систему
Всё, что входит и выходит через API Gateway, управляется политиками
Обзор политик управления API
Политики — это набор мощных правил, написанных на простом XML
Представьте их как
конвейер обработки запросов и ответов
Правила можно добавлять на разных этапах для управления трафиком
Главное преимущество: не нужно изменять код бэкенда
Пример: обратная совместимость
Области применения политик
Политики могут быть глобальными и применяться ко всей организации
Такие правила управляют всеми API
Могут применяться к отдельным API
Позволяют управлять конкретным продуктом
Могут применяться к отдельным эндпоинтам
Используются для точечного управления
Входящие политики
При получении запроса APIM сначала применяет
входящие политики
Пример: обеспечение совместимости старых версий приложений с новыми API за счёт дополнения данных
Входящие политики защищают от вредоносных запросов
Они обнаруживают некорректные запросы или отсутствующие данные
Этот барьер предотвращает попадание плохих данных в сервисы
Безопасность и ограничение запросов
Они ограничивают чрезмерно активных клиентов, обеспечивая справедливое использование и защиту бэкенда
Входящие политики также отвечают за
безопасность
Распространённая политика: проверка JWT (JSON Web Token)
JWT — это цифровое удостоверение личности, которое клиент отправляет вместе с запросом
Политика validate-jwt проверяет его подлинность, срок действия и доверенность издателя (например, Entra ID)
Для более строгого контроля: политики ограничения частоты запросов и квот
Исходящие политики
После обработки бэкендом
исходящие политики
корректируют ответ перед отправкой
Представьте ресторан: запрос → кухня (бэкенд) → станция оформления блюд (исходящие политики)
Исходящие политики могут:
Удалять лишнее (например, чувствительные заголовки)
Добавлять инструкции (например, директивы кэширования)
Изменять формат (например, конвертировать XML в JSON)
Ответы соответствуют ожиданиям клиента вне зависимости от формата бэкенда
Давайте потренируемся!
Azure API Management
Preparing Video For Download...