• Русский
  • Отключение Swagger API Explorer

    В этом руководстве объясняется, как отключить отображение спецификации Swagger в Harbor Portal для сред с повышенными требованиями безопасности.
    Это часто требуется, когда инструменты сканирования безопасности или стандарты соответствия выявляют экспозицию Swagger/OpenAPI как риск.
    При отключении запросы к /swagger.json и /swagger.yaml возвращают 404, однако это не удаляет пункт API Explorer в интерфейсе Harbor.

    Предварительные требования

    • Рабочий экземпляр Harbor, управляемый Harbor CE Operator
    • Права на обновление пользовательского ресурса Harbor в целевом пространстве имён
    • Доступ к домену Harbor для проверки после внесения изменений

    Обзор

    Ключевая настройка в экземпляре Harbor

    • Helm-параметр: spec.helmValues.portal.swagger.enabled

    Общий процесс

    ШагОперацияОписание
    1Обновление Helm-параметров HarborУстановить portal.swagger.enabled в false в spec.helmValues экземпляра Harbor
    2Применение конфигурацииПрименить изменения в CR Harbor и дождаться развертывания Portal
    3Проверка результатаУбедиться, что эндпоинты спецификации Swagger возвращают 404 и проверить отсутствие нежелательных эффектов

    Шаги настройки

    Шаг 1: Обновление Helm-параметров Harbor

    Обновите конфигурацию экземпляра Harbor:

    spec:
      helmValues:
        portal:
          swagger:
            enabled: false

    Шаг 2: Применение конфигурации

    Примените обновление пользовательского ресурса Harbor в вашем кластере.
    После применения дождитесь завершения развертывания компонента Harbor Portal.

    Шаг 3: Проверка результата

    Проверьте эндпоинты спецификации Swagger:

    curl -I https://<harbor-domain>/swagger.json
    curl -I https://<harbor-domain>/swagger.yaml

    Ожидаемый результат: оба запроса возвращают 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).