Управление API
Управление API — это сервис для администрирования API. В сервисе можно:
-
Собрать все API в одном месте;
Импортируйте ваши API в сервис с помощью веб-интерфейса. При импорте сервис проверит соответствие описания API спецификации OpenAPI.
-
Конфигурировать API;
Управляйте жизненным циклом и доступностью API.
-
Подключить политики к API;
Устанавливайте лимиты или квоты, требование авторизации или срок доступа ключей. Созданная политика может распространяться на несколько API.
-
Управлять списком поставщиков или потребителей API;
Храните данные о поставщиках и потребителях API. К каждому из них можно добавить контакты ответственных лиц, чтобы всегда знать к кому обратиться.
-
Добавить плагины к методам API;
С помощью плагинов можно, например, изменить метод запроса или подключить защиту от SQL-инъекций.
-
Маскировать данные;
При журналировании запросов конфиденциальные данные можно заменить на произвольные символы или фиктивные данные. Полезно, если вы работайте с персональными данными. Маскирование поддерживается в теле и заголовках запроса, параметрах пути URL и параметрах запроса Query Path.
-
Получить аналитику по использованию API.
Просматривайте статистику по API или потребителям в виде графиков и диаграмм. Отображаемые данные можно отфильтровать по потребителям, дате и времени.
А также:
- Настроить аутентификацию для API;
- Экспортировать описание API;
- Сравнить API между собой;
- Управлять SSL-сертификатами;
- Вести различные справочники;
- Настроить кэширование безопасных запросов к Endpoint'у;
- Управлять версиями API;
- Посмотреть журнал запросов к API.
Управление API поставляется вместе с Аудитом.
К Управлению API можно подключить следующие модули:
- Мониторинг
- Журналирование
- Трассир овка
Подробнее о сервисах на соответствующих страницах.
Состав сервиса
Схема связей между компонентами зависит от выбранной заказчиком конфигурации. При полной конфигурации схема выглядит следующим образом:
На схеме:
- Сервис конвертации — сервис для конвертации расширенной спецификации API в ApiDefinition.
- База данных (PostgreSQL) — база данных для хранения настроек Управления API и настроек шлюзов.
- Сервис проверки электронной подписи — сервис для проверки электронной подписи Реестра API при импорте в Управление API расширенной спецификации API.
- Библиотека для отправки и обработки изменений — библиотека для инструментов резервирования Управления API.
- Аудит — сервис для получения и хранения событий аудита.
- UI сервиса.
- Backend сервиса.
- База данных (PostgreSQL) — база данных для хранения настроек Управления API и настроек шлюзов.
- Ролевая модель — сервис для хранения списка пользователей и присвоенных им ролей.
- Сбор аналитики по использованию API из OpenSearch.
- Multi Data Centre Bridge (MDCB) — сервис–мост для централизованного управления несколькими независимыми кластерами Tyk. Обеспечивает плавный переход API между средами, зонами доступности и сегментированными узлами.
- Платформа API (изолированная от внешней сети).
- OpenSearch — долговременное хранилище событий и логов шлюза Tyk–Gateway.
- Очередь сообщений (RabbitMQ) — очередь доставки изменений настроек API и доступов к ним для MDCB.
- Kafka адаптер — адаптер между MDCB и Kafka шлюзов различных систем, которые не могут подключиться к Управлению API по протоколу gRPC.
- Реестр API — сервис для проектирования и управления спецификациями API.
- Сервис сбора аналитики с Платформ API.
- Очередь сообщений (Kafka) — распределенная платформа для обработки потоков данных.
- Журналирование — сервис для сре днесрочного хранения логов системы.
- Прикладной и системный мониторинг — сервис для отслеживания состояния программной и аппаратной частей сервиса.
- Платформа API (с доступом к внешней сети).
Стек
Технологический стек Управление API представлен в следующей таблице.
Компонент | Описание |
---|---|
Astra Linux | ОС для виртуальных серверов |
Kubernetes Cluster | Платформа контейнеризации приложений |
NGINX | Реверсивный прокси для балансировки нагрузки и обеспечения отказоустойчивости сервиса |
PostgreSQL | СУБД для хранения API и справочников |
OpenSearch | Долговременное хранилище логов событий шлюза API |
RabbitMQ | Брокер сообщений для доставки описаний API в Multi Data Centre Bridge |
Prometheus | Мониторинг приложений |
Kafka | Распределенная платформа для обработки потоков данных |