
Приложение GitHub для настройки и применения политик безопасности
[!IMPORTANT] Размещаемое OpenSSF приложение Allstar GitHub App было выведено из эксплуатации. Сам Allstar, подпроект OpenSSF Scorecard, продолжает поддерживаться — теперь вы должны запускать его самостоятельно, либо как GitHub Action, либо как фоновый сервис.
Подробнее см. ossf/allstar#881.
Если ваша организация полагалась на размещаемое приложение, см. Миграция с размещаемого приложения.
Allstar — это GitHub App, который непрерывно отслеживает организации или репозитории GitHub на предмет соблюдения лучших практик безопасности. Если Allstar обнаруживает нарушение политики безопасности, он создаёт проблему, чтобы уведомить владельца репозитория или организации. Для некоторых политик безопасности Allstar также может автоматически изменять настройку проекта, которая вызвала нарушение, возвращая её в ожидаемое состояние.
Цель Allstar — дать вам тонко настроенный контроль над файлами и настройками, которые влияют на безопасность ваших проектов. Вы можете выбирать, какие политики безопасности отслеживать как на уровне организации, так и на уровне репозитория, и как обрабатывать нарушения политик. Вы также можете разрабатывать или вносить вклад в новые политики.
Allstar разрабатывается как часть проекта OpenSSF Scorecard.
Если Allstar создаёт проблемы, которые вам не нужны, следуйте этим инструкциям, чтобы отказаться от участия.
Allstar очень гибок в настройке. Существует три основных уровня управления:
Эти конфигурации выполняются в репозитории .allstar организации.
Уровень репозитория: Сопровождающие репозитория в организации, использующей
Allstar, могут выбрать, согласиться ли на применение политик уровня организации
в своём репозитории или отказаться от них. Примечание: эти элементы управления уровня репозитория работают только тогда, когда "переопределение
репозитория" разрешено в настройках уровня организации. Эти конфигурации выполняются
в каталоге .allstar репозитория.
Уровень политики: Администраторы или сопровождающие могут выбирать, какие политики
включены для конкретных репозиториев и какие действия Allstar предпринимает при
нарушении политики. Эти конфигурации выполняются в yaml-файле политики либо в
репозитории .allstar организации (администраторы), либо в каталоге
.allstar репозитория (сопровождающие).
Перед установкой Allstar на уровне организации вам следует примерно решить, на скольких репозиториях вы хотите, чтобы Allstar работал. Это поможет вам выбрать между стратегиями Opt-In и Opt-Out.
Стратегия Opt In позволяет вам вручную добавлять репозитории, на которых вы хотите, чтобы Allstar работал. Если вы не укажете ни одного репозитория, Allstar не будет работать, несмотря на установку. Выбирайте стратегию Opt In, если хотите применять политики только к небольшому числу ваших общих репозиториев или хотите опробовать Allstar на одном репозитории, прежде чем включать его на большем количестве. Начиная с версии v4.3, поддерживаются glob-шаблоны для простого добавления нескольких репозиториев со схожими именами.
Стратегия Opt Out (рекомендуется) включает Allstar для всех репозиториев и позволяет вам вручную выбирать репозитории для отказа от применения политик Allstar. Вы также можете отказаться от всех публичных репозиториев или всех приватных репозиториев. Выбирайте этот вариант, если хотите запустить Allstar на всех репозиториях в организации или хотите отказаться только от небольшого числа репозиториев или от репозиториев определённого типа (например, публичных или приватных). Начиная с версии v4.3, поддерживаются glob-шаблоны для простого добавления нескольких репозиториев со схожими именами.
| Opt Out (рекомендуется) optOutStrategy = true |
Opt In optOutStrategy = false |
|
|---|---|---|
| Поведение по умолчанию | Все репозитории включены | Ни один репозиторий не включён |
| Добавление репозиториев вручную | Ручное добавление репозиториев отключает Allstar для этих репозиториев | Ручное добавление репозиториев включает Allstar для этих репозиториев |
| Дополнительные конфигурации | optOutRepos: Allstar будет отключён для перечисленных репозиториев optOutPrivateRepos: если true, Allstar будет отключён для всех приватных репозиториев optOutPublicRepos: если true, Allstar будет отключён для всех публичных репозиториев (optInRepos: этот параметр будет проигнорирован) |
optInRepos: Allstar будет включён для перечисленных репозиториев (optOutRepos: этот параметр будет проигнорирован) |
| Переопределение репозитория | Если true: Репозитории могут отказаться от применения политик Allstar своей организации,
используя настройки в собственном файле репозитория. Настройки opt-in уровня организации, которые
применяются к этому репозиторию, игнорируются. Если false: репозитории не могут отказаться от применения политик Allstar, настроенных на уровне организации. |
Если true: Репозитории могут согласиться на применение политик Allstar своей организации, даже
если они не настроены для репозитория на уровне организации. Настройки opt-out уровня организации,
которые применяются к этому репозиторию, игнорируются. Если false: Репозитории не могут согласиться на применение политик Allstar, если они не настроены на уровне организации. |