Добавить API и создать подключение
С помощью этого руководства вы добавите Swagger спецификацию API в Мапиус и откроете доступ к API потребителю.
Чтобы добавить API и подключиться к нему:
- Добавьте поставщика API
- Добавьте спецификацию API
- Укажите параметры аутентификации API Gateway
- Активируйте API
- Добавьте потребителя и создайте подключение к API
- Подключитесь к API
Добавьте поставщика
-
Перейдите в раздел Администрирование → Поставщики API.
-
Нажмите кнопку Добавить поставщика.
-
На вкладке Данные заполните обязательные поля в блоках:
3.1. Бизнес данные:
- Наименование
- ГБЛ/ГФЛ (глобальная бизнес линия, глобальная функциональная линия)
- Информационная система
3.2. Контактное лицо:
- Ф.И.О.
- Адрес электронной почты
-
(необязательно) Перейдите на вкладку Рабочая группа и добавьте участников
-
Нажмите Сохранить.
У информационной системы может быть только один поставщик.
Созданный поставщик будет до ступен в разделе Администрирование → Поставщики API.
Добавьте спецификацию API
Имя API не должно совпадать с другими в рамках одного шлюза. Проверьте так ли это, перед добавлением API. Имя API - это поле title
в вашей спецификации.
-
Перейдите в раздел Администрирование → API.
-
Нажмите кнопку Проверить и импортировать API.
-
Выберите Спецификация в формате Swagger.
-
Нажмите кнопку Выбрать.
-
Загрузите описание API.
Требования к спецификации:
- Спецификация должна соответствовать стандарту OpenAPI 2.0 или OpenAPI 3.0.
- Формат:
.json
или.yaml
. - Размер файла не более 2МБ.
-
Нажмите кнопку Проверить. Система проверит файл и сформирует отчет о проверке. При наличии ошибок в описании API, исправьте их и загрузите спецификацию заново.
-
Нажмите кнопку Перейти к импорту.
-
Введите версию API.
-
Под полем ввода выберите Импорт нового API.
-
Нажмите кнопку Далее.
-
В выпадающем списке выберите поставщика, которого вы добавили ранее.
-
Нажмите кнопку Далее.
-
Укажите адрес сервиса в формате
protocol://service-address.ru
и базовый путь.внимани еБазовый путь должен быть уникальным в рамках шлюза.
-
(необязательно) Подключите балансировщик нагрузки:
14.1. Включите свич Включить балансировку нагрузки. Поле Адрес сервиса заменится на Адрес целевого сервиса.
14.2. Добавьте все адреса сервиса.примечаниеБалансировщик нагрузки использует алгоритм Round-robin.
-
Нажмите кнопку Импортировать.
Далее откроется окно с добавленной спецификацией API. Не закрывайте его, оно потребуется вам на следующих шагах.
Укажите параметры аутентификации API Gateway
-
На вкладке Настройки в разделе Аутентификация выберите:
1.1. Режим аутентификации:
JWT (JSON Web Token)
1.2. Название заголовка в запросе:sub
-
В этом же разделе укажите Открытый ключ.
-
В разделе Конфигурация аутентификации в поле Имя заголовка ключа аутентификации введите
Authorization
. -
На вкладке Расширенные настройки в разделе Прокси поставьте чекбокс Игнорировать проверку TLS.
Активируйте API
- На вкладке Настройки в разделе Ограничение частоты запросов и квоты укажите количество запросов и единицу времени. Если ограничение частоты запросов не требуется, включите свич Отключить ограничение частоты запросов в этом же разделе.
- В верхней панели переведите тумблер Активировать API в положение включено.
Верхняя панель может быть скрыта. Чтобы раскрыть верхнюю панель, нажмите символ слева от вкладки Настройки.
- Нажмите кнопку Сохранить.
- Подтвердите изменение лимитов.
Справа сверху появится уведомление о том, что описание API сохранено. Проверить активирован ли API можно на странице Администрирование → API. В строке с API в колонке Статус должно быть значение Активен.
Создайте подключение к API
-
Перейдите в раздел Администрирование → Подключения.
-
Нажмите кнопку Добавить.
-
Выберите поставщика.
-
Укажите API, который вы добавили ранее.
-
Добавьте потребителя API:
5.1. Включите свич Добавить нового потребителя.
5.2. Заполните поля Информационная система потребителя и Client_id (ТУЗ).примечаниеClient_id
— это логин из Единой платформы аутентификации или Keycloak. Используйте разные ТУЗ для каждого API.5.3. В блоке Рабочая группа ИС потребителя API добавьте в список минимум одного сотрудника. Для этого, нажмите кнопку Добавить и заполните все поля.
5.4. В блоке Ответственный выберите одного из сотрудников.примечаниеСозданный потребитель будет доступен в разделе Администрирование → Потребители.
-
Задайте лимиты или отключите их.
-
Нажмите кнопку Подключить.
После создания подключения сгенерируются ключ к API и политика. Ключ будет доступен в разделе Администрирование → Ключи, а политика — Администрирование → Политики.
Подключитесь к API
-
Отправьте запрос на сервер и получите JWT-токен. Пример запроса:
curl --location 'https://auth.YOURDOMAINHERE.ru/auth/realms/kubernetes/protocol/openid-connect/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=YOURLOGINHERE@domain.ru' \
--data-urlencode 'client_secret=YOURSECRETHERE' -
Скопируйте значение из поля
access_token
. -
Отправьте запрос к вашему API через API Gateway. Вызовите тот же запрос, что вы использовали ранее но:
- Поменяйте адрес сервиса на адрес, где развернут API Gateway Мапиус
- Добавьте в заголовок поле
Authorization
и укажите в нем полученный ранее JWT-токен
-
Отправьте запрос
Готово. Вы успешно добавили API в Мапиус и открыли доступ к API потребителю.