Интеграция с CodeScoring.OSA
CodeScoring.Save можно использовать с OSA Proxy в двух схемах: OSA Proxy перед Save или между Save и внешним реестром. В обеих схемах OSA Proxy проверяет проходящие через него запросы через CodeScoring.OSA и блокирует небезопасные компоненты в зависимости от выбранного work-mode.
OSA Proxy перед Save
Пакетные менеджеры обращаются к OSA Proxy, а Save выступает его upstream-репозиторием:
URL репозитория Save указывается в поле registry репозитория OSA Proxy. Клиенты настраиваются на URL OSA Proxy. Проверка выполняется и при скачивании пакетов, уже находящихся в кэше Save.
Пример конфигурации OSA Proxy
Конфигурация выполняется в сервисе OSA Proxy. Для каждого поддерживаемого формата включается соответствующая секция и задаётся список репозиториев:
Для PyPI дополнительно указывается packages-registry, для Go — sumdb-registry, для Docker — auth-token-url, если upstream registry требует отдельный token service.
OSA Proxy между Save и внешним реестром
Пакетные менеджеры обращаются к Save, а proxy-репозиторий Save получает компоненты через OSA Proxy:
В OSA Proxy укажите внешний реестр в поле registry, например:
В Save создайте или отредактируйте Maven proxy-репозиторий и задайте Proxy URL: https://osa-proxy.example.com/maven-central/. Пакетные менеджеры подключаются к этому репозиторию Save по обычному URL https://save.example.com/cs-save/maven/<project>/<repository>/.
Настройки подключения OSA Proxy к CodeScoring в секции codescoring одинаковы для обеих схем.
В этой схеме OSA Proxy проверяет запросы, которые Save отправляет во внешний источник. Пакеты, которые Save отдаёт из собственного кэша без обращения к upstream, повторно через OSA Proxy не проходят.
Режимы работы
Поведение проверки управляется параметром work-mode. Его можно задать глобально в секции codescoring или переопределить на уровне отдельного репозитория.
Поддерживаются режимы:
warmup— загрузка данных в кэш CodeScoring без блокировки компонентов;spectator— загрузка данных в кэш CodeScoring без блокировки компонентов, с сохранением результатов запросов компонентов в платформе;moderate— блокировка компонентов, не прошедших проверку политик; загрузка непросканированных компонентов разрешена;strict— блокировка компонентов, не прошедших проверку политик; загрузка непросканированных компонентов запрещена;strict_wait— блокировка компонентов, не прошедших проверку политик; для непросканированных компонентов выполняется ожидание проверки.
Ограничения
Проверка через OSA Proxy применяется к трафику, который проходит через OSA Proxy. Чтобы проверять скачивание из hosted-репозитория Save, разместите OSA Proxy перед ним и укажите URL hosted-репозитория в registry. Публикация артефактов в Save сама по себе не запускает проверку OSA Proxy.
Политики безопасности настраиваются в CodeScoring. OSA Proxy использует CodeScoring API для сканирования компонентов, получения информации о пакетах и проверки политик, но не создаёт политики внутри Save.
