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


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

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

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

Чтобы настроить политику лицензий в виде кода:
1. [Включите](https://vibe.sourcecraft.dev/portal/docs/ru/sourcecraft/operations/scanning-switch.md) в репозитории анализ уязвимостей в зависимостях.
1. [Создайте](https://vibe.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://vibe.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. Если уровень риска лицензии превышает допустимый порог, зависимость отмечается в разделе ![image](../../_assets/console-icons/shield-exclamation.svg) **Безопасность** репозитория или организации на вкладках ![image](../../_assets/console-icons/box.svg) **Пакеты** и ![image](../../_assets/console-icons/nodes-left.svg) **Карта зависимостей**.

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

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

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