
Приложение GitHub для настройки и применения политик безопасности
[!IMPORTANT] Размещённое в OpenSSF приложение Allstar для GitHub выведено из эксплуатации. Сам Allstar, подпроект OpenSSF Scorecard, продолжает поддерживаться — теперь вам нужно запускать его самостоятельно, либо как GitHub Action, либо как сервисный демон.
Подробности см. в ossf/allstar#881.
Если ваша организация полагалась на размещённое приложение, см. Переход с размещённого приложения.
Allstar — это приложение GitHub, которое непрерывно отслеживает соблюдение лучших практик безопасности в организациях или репозиториях GitHub. Если Allstar обнаруживает нарушение политики безопасности, оно создаёт issue, чтобы уведомить владельца репозитория или организации. Для некоторых политик безопасности Allstar также может автоматически изменить настройку проекта, вызвавшую нарушение, вернув её в ожидаемое состояние.
Цель Allstar — дать вам точно настроенный контроль над файлами и настройками, которые влияют на безопасность ваших проектов. Вы можете выбрать, какие политики безопасности отслеживать как на уровне организации, так и на уровне репозитория, и как обрабатывать нарушения политик. Вы также можете разрабатывать или предлагать новые политики.
Allstar разрабатывается как часть проекта OpenSSF Scorecard.
Если Allstar создаёт нежелательные issue, следуйте этим указаниям, чтобы отказаться.
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, если они не настроены на уровне организации. |