Настроить политику лицензий в виде кода в SourceCraft

В SourceCraft политику управления лицензиями зависимостей можно описать в виде кода (Policy as Code) с помощью конфигурационного файла .sourcecraft/security/licenses.yaml. Платформа автоматически проверяет лицензии всех зависимостей репозитория и отмечает те, у которых уровень риска превышает допустимый. Подробнее об анализе зависимостей в инструкции Анализ уязвимостей в зависимостях репозитория SourceCraft.

Пример репозитория с настроенной политикой лицензий в SourceCraft

Чтобы настроить политику лицензий в виде кода:

  1. Включите в репозитории анализ уязвимостей в зависимостях.

  2. Создайте в репозитории файл .sourcecraft/security/licenses.yaml со следующим содержимым:

    version: 0.0.1
    licenses:
      MIT:
        risk: 0
      ISC:
        risk: 5
      BSD-3-Clause:
        risk: 10
    

    Где:

    • version — версия схемы конфигурации. Актуальная версия — 0.0.1.
    • licenses — словарь лицензий с уровнем риска для каждой.
    • risk — целое числовое значение риска от 0 до 10:
      • 02 — лицензия полностью приемлема;
      • 36 — лицензия требует внимания;
      • 79 — лицензия нежелательна;
      • 10 — лицензия запрещена.

    Совет

    Помимо политики лицензий на уровне репозитория вы можете аналогичным образом задать политику на уровне организации. Для этого:

    1. Создайте в организации специальный репозиторий с названием .sourcecraft.
    2. Аналогичным образом добавьте в репозиторий файл .sourcecraft/security/licenses.yaml с описанием политики.

    При анализе зависимостей приоритет имеет политика, установленная в проверяемом репозитории. Если файла .sourcecraft/security/licenses.yaml в репозитории нет, применяется политика из репозитория .sourcecraft. Если и она не настроена, используется общая конфигурация SourceCraft по умолчанию.

  3. Чтобы сохранить изменения:

    1. В правом верхнем углу нажмите Сохранить изменения.

    2. В открывшемся окне настройте параметры внесения изменений:

      • В поле Сообщение об изменениях укажите комментарий, который опишет внесенные изменения.
      • В блоке Ветка изменений выберите, в какую ветку внести изменения. При необходимости создайте новую ветку.
      • В блоке Действие после сохранения изменений выберите действие после сохранения изменений: Сохранить и создать новое предложение изменений или Просто сохранить.
    3. Подтвердите внесение изменений.

Проверьте работу политики

Проверка лицензий зависимостей осуществляется следующим образом:

  1. При каждом коммите в ветку по умолчанию SourceCraft сканирует зависимости репозитория.
  2. Для каждой зависимости определяется ее лицензия.
  3. Лицензия сопоставляется с конфигурацией по цепочке приоритетов: политика в сканируемом репозиторий → политика в репозиторий .sourcecraft → общая политика SourceCraft.
  4. Если уровень риска лицензии превышает допустимый порог, зависимость отмечается в разделе Безопасность репозитория или организации на вкладках Пакеты и Карта зависимостей.

Подробнее на странице Анализ уязвимостей в зависимостях репозитория SourceCraft.

Полезные ссылки