Отключение Swagger API Explorer
В этом руководстве объясняется, как отключить отображение спецификации Swagger в Harbor Portal для сред с повышенными требованиями безопасности.
Это часто требуется, когда инструменты сканирования безопасности или стандарты соответствия выявляют экспозицию Swagger/OpenAPI как риск.
При отключении запросы к /swagger.json и /swagger.yaml возвращают 404, однако это не удаляет пункт API Explorer в интерфейсе Harbor.
Содержание
Предварительные требованияОбзорШаги настройкиШаг 1: Обновление Helm-параметров HarborШаг 2: Применение конфигурацииШаг 3: Проверка результатаИтогFAQОтключает ли эта настройка API Harbor?Почему меню API Explorer всё ещё отображается после отключения Swagger?Работает ли эта настройка в режиме ingress?Предварительные требования
- Рабочий экземпляр Harbor, управляемый Harbor CE Operator
- Права на обновление пользовательского ресурса Harbor в целевом пространстве имён
- Доступ к домену Harbor для проверки после внесения изменений
Обзор
Ключевая настройка в экземпляре Harbor
- Helm-параметр:
spec.helmValues.portal.swagger.enabled
Общий процесс
Шаги настройки
Шаг 1: Обновление Helm-параметров Harbor
Обновите конфигурацию экземпляра Harbor:
Шаг 2: Применение конфигурации
Примените обновление пользовательского ресурса Harbor в вашем кластере.
После применения дождитесь завершения развертывания компонента Harbor Portal.
Шаг 3: Проверка результата
Проверьте эндпоинты спецификации Swagger:
Ожидаемый результат: оба запроса возвращают 404 Not Found.
Итог
Установив spec.helmValues.portal.swagger.enabled=false, вы блокируете экспозицию спецификации Swagger из Harbor Portal, при этом API-сервисы Harbor остаются доступными для обычных интеграций.
FAQ
Отключает ли эта настройка API Harbor?
Нет. Она влияет только на экспозицию спецификации Swagger в Portal (/swagger.json и /swagger.yaml).
Бизнес-API Harbor, такие как /api/v2.0/**, остаются доступными.
Почему меню API Explorer всё ещё отображается после отключения Swagger?
Настройка не удаляет пункт меню или маршрут в UI.
Она лишь заставляет эндпоинты спецификации Swagger возвращать 404, поэтому страница explorer не может загрузить спецификации API.
Работает ли эта настройка в режиме ingress?
Да. Настройка применяется в компоненте Portal и действует независимо от режима экспозиции (ingress, nodePort, clusterIP, loadBalancer или route).