---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/license-policy.md
  - https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/license-policy.md
title: Как настроить политику лицензий в виде кода в SourceCraft
description: Следуя данной инструкции, вы сможете описать политику лицензий зависимостей в репозитории SourceCraft с помощью конфигурационного файла licenses.yaml.
---
> **Documentation Index:** Fetch the complete configuration index at https://sourcecraft.dev/portal/docs/ru/llms.txt


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

В SourceCraft политику управления лицензиями зависимостей можно описать в виде кода (Policy as Code) с помощью конфигурационного файла `.sourcecraft/security/licenses.yaml`. Платформа автоматически проверяет лицензии всех зависимостей репозитория и отмечает те, у которых уровень риска превышает допустимый. Подробнее об анализе зависимостей в инструкции [Анализ уязвимостей в зависимостях репозитория SourceCraft](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/supply-chain.md).

[Пример репозитория с настроенной политикой лицензий в SourceCraft](https://sourcecraft.dev/examples/appsec-licenses)

Чтобы настроить политику лицензий в виде кода:
1. [Включите](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/scanning-switch.md) в репозитории анализ уязвимостей в зависимостях.
1. [Создайте](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/add-file-repo.md) в репозитории файл `.sourcecraft/security/licenses.yaml` со следующим содержимым:

    ```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`:
      * `0`–`2` — лицензия полностью приемлема;
      * `3`–`6` — лицензия требует внимания;
      * `7`–`9` — лицензия нежелательна;
      * `10` — лицензия запрещена.

    {% note tip %}

    Помимо политики лицензий на уровне репозитория вы можете аналогичным образом задать политику на уровне организации. Для этого:
    1. [Создайте](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/repo-create.md) в организации специальный репозиторий с названием `.sourcecraft`.
    1. Аналогичным образом добавьте в репозиторий файл `.sourcecraft/security/licenses.yaml` с описанием политики.

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

    {% endnote %}

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

    <!-- source: ru/_includes/sourcecraft/commit-message.md -->
    1. В правом верхнем углу нажмите **Сохранить изменения**.
    1. В открывшемся окне настройте параметры внесения изменений:

        <!-- source: ru/_includes/sourcecraft/commit-message-settings.md -->
        * В поле **Сообщение об изменениях** укажите комментарий, который опишет внесенные изменения.
        * В блоке **Ветка изменений** выберите, в какую ветку внести изменения. При необходимости создайте новую ветку.
        * В блоке **Действие после сохранения изменений** выберите действие после сохранения изменений: `Сохранить и создать новое предложение изменений` или `Просто сохранить`.
        <!-- endsource: ru/_includes/sourcecraft/commit-message-settings.md -->

    1. Подтвердите внесение изменений.
    <!-- endsource: ru/_includes/sourcecraft/commit-message.md -->

## Проверьте работу политики {#how-it-works}

Проверка лицензий зависимостей осуществляется следующим образом:
1. При каждом коммите в ветку по умолчанию SourceCraft сканирует зависимости репозитория.
1. Для каждой зависимости определяется ее лицензия.
1. Лицензия сопоставляется с конфигурацией по цепочке приоритетов: политика в сканируемом репозиторий → политика в репозиторий `.sourcecraft` → общая политика SourceCraft.
1. Если уровень риска лицензии превышает допустимый порог, зависимость отмечается в разделе <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><path fill="currentColor" fill-rule="evenodd" d="m3.003 4.702 4.22-2.025a1.8 1.8 0 0 1 1.554 0l4.22 2.025a.89.89 0 0 1 .503.8V6a8.55 8.55 0 0 1-3.941 7.201l-.986.631a1.06 1.06 0 0 1-1.146 0l-.986-.63A8.55 8.55 0 0 1 2.5 6v-.498c0-.341.196-.652.503-.8m3.57-3.377L2.354 3.35A2.39 2.39 0 0 0 1 5.502V6a10.05 10.05 0 0 0 4.632 8.465l.986.63a2.56 2.56 0 0 0 2.764 0l.986-.63A10.05 10.05 0 0 0 15 6v-.498c0-.918-.526-1.755-1.354-2.152l-4.22-2.025a3.3 3.3 0 0 0-2.852 0M8 4.75a.75.75 0 0 1 .75.75v2a.75.75 0 0 1-1.5 0v-2A.75.75 0 0 1 8 4.75m1 5.75a1 1 0 1 1-2 0 1 1 0 0 1 2 0" clip-rule="evenodd"/></svg> **Безопасность** репозитория или организации на вкладках <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><path fill="currentColor" fill-rule="evenodd" d="M13.5 10.421V5.475l-2 .714V8.25a.75.75 0 0 1-1.5 0V6.725l-2.25.804v6.088l4.777-1.792a1.5 1.5 0 0 0 .973-1.404m-2.254-5.734 1.6-.571a2 2 0 0 0-.175-.104L9.499 2.427a1.5 1.5 0 0 0-1.197-.063l-.941.353 3.724 1.862q.09.045.16.108M5.444 3.435l3.878 1.94-2.273.811-3.805-1.903q.108-.063.23-.109zm.806 4.029L2.5 5.589v5.057a1.5 1.5 0 0 0 .83 1.342l2.92 1.46zM1 5.579c0-.436.094-.856.266-1.236a.75.75 0 0 1 .2-.37c.342-.54.855-.968 1.48-1.203L7.777.96a3 3 0 0 1 2.394.125l3.172 1.586A3 3 0 0 1 15 5.354v5.067a3 3 0 0 1-1.947 2.809l-4.828 1.81a3 3 0 0 1-2.395-.125l-3.172-1.586A3 3 0 0 1 1 10.646z" clip-rule="evenodd"/></svg> **Пакеты** и <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><path fill="currentColor" fill-rule="evenodd" d="M5 2.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3M2 4a3 3 0 1 1 5.895.79L9.85 5.908a3 3 0 1 1 0 4.185L7.895 11.21A3.003 3.003 0 0 1 5 15a3 3 0 1 1 2.15-5.092L9.105 8.79a3 3 0 0 1 0-1.58L7.15 6.092A3 3 0 0 1 2 4m3 6.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3M13.5 8a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0" clip-rule="evenodd"/></svg> **Карта зависимостей**.

Подробнее на странице [Анализ уязвимостей в зависимостях репозитория SourceCraft](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/supply-chain.md).

### Полезные ссылки {#see-also}

* [Репозиторий appsec-licenses в SourceCraft](https://sourcecraft.dev/examples/appsec-licenses)
* [Безопасность в SourceCraft](https://sourcecraft.dev/portal/docs/ru/sourcecraft/security/security-overview.md)
* [Анализ уязвимостей в зависимостях репозитория SourceCraft](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/supply-chain.md)
* [Центр контроля уязвимостей в SourceCraft](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/security-dashboard.md)
* [Включить и выключить сканирование безопасности в репозитории SourceCraft](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/scanning-switch.md)
