В SourceCraft политику управления лицензиями зависимостей можно описать в виде кода (Policy as Code) с помощью конфигурационного файла .sourcecraft/security/licenses.yaml. Платформа автоматически проверяет лицензии всех зависимостей репозитория и отмечает те, у которых уровень риска превышает допустимый. Подробнее об анализе зависимостей в инструкции Анализ уязвимостей в зависимостях репозитория SourceCraft.
version — версия схемы конфигурации. Актуальная версия — 0.0.1.
licenses — словарь лицензий с уровнем риска для каждой.
risk — целое числовое значение риска от 0 до 10:
0–2 — лицензия полностью приемлема;
3–6 — лицензия требует внимания;
7–9 — лицензия нежелательна;
10 — лицензия запрещена.
Совет
Помимо политики лицензий на уровне репозитория вы можете аналогичным образом задать политику на уровне организации. Для этого:
Создайте в организации специальный репозиторий с названием .sourcecraft.
Аналогичным образом добавьте в репозиторий файл .sourcecraft/security/licenses.yaml с описанием политики.
При анализе зависимостей приоритет имеет политика, установленная в проверяемом репозитории. Если файла .sourcecraft/security/licenses.yaml в репозитории нет, применяется политика из репозитория .sourcecraft. Если и она не настроена, используется общая конфигурация SourceCraft по умолчанию.
Чтобы сохранить изменения:
В правом верхнем углу нажмите Сохранить изменения.
В открывшемся окне настройте параметры внесения изменений:
В поле Сообщение об изменениях укажите комментарий, который опишет внесенные изменения.
В блоке Ветка изменений выберите, в какую ветку внести изменения. При необходимости создайте новую ветку.
В блоке Действие после сохранения изменений выберите действие после сохранения изменений: Сохранить и создать новое предложение изменений или Просто сохранить.
Подтвердите внесение изменений.
Проверьте работу политики
Проверка лицензий зависимостей осуществляется следующим образом:
При каждом коммите в ветку по умолчанию SourceCraft сканирует зависимости репозитория.
Для каждой зависимости определяется ее лицензия.
Лицензия сопоставляется с конфигурацией по цепочке приоритетов: политика в сканируемом репозиторий → политика в репозиторий .sourcecraft → общая политика SourceCraft.
Если уровень риска лицензии превышает допустимый порог, зависимость отмечается в разделе Безопасность репозитория или организации на вкладках Пакеты и Карта зависимостей.