
GitHub App per impostare e applicare policy di sicurezza
[!IMPORTANT] La GitHub App Allstar ospitata da OpenSSF è stata ritirata. Allstar, il sottoprogetto di OpenSSF Scorecard, continua a essere mantenuto — ora devi eseguirlo autonomamente, sia come GitHub Action sia come daemon di servizio.
Consulta ossf/allstar#881 per maggiori dettagli.
Se la tua organizzazione faceva affidamento sull'app ospitata, consulta Migrazione dall'app ospitata.
Allstar è una GitHub App che monitora continuamente organizzazioni o repository GitHub per verificarne l'aderenza alle best practice di sicurezza. Se Allstar rileva una violazione di una policy di sicurezza, crea una issue per avvisare il proprietario del repository o dell'organizzazione. Per alcune policy di sicurezza, Allstar può anche modificare automaticamente l'impostazione del progetto che ha causato la violazione, ripristinandola allo stato previsto.
L'obiettivo di Allstar è darti un controllo finemente calibrato sui file e sulle impostazioni che influiscono sulla sicurezza dei tuoi progetti. Puoi scegliere quali policy di sicurezza monitorare sia a livello di organizzazione sia a livello di repository, e come gestire le violazioni delle policy. Puoi anche sviluppare o contribuire con nuove policy.
Allstar è sviluppato come parte del progetto OpenSSF Scorecard.
Se ricevi issue indesiderate create da Allstar, segui queste istruzioni per disattivarle.
Allstar è altamente configurabile. Esistono tre livelli principali di controllo:
Queste configurazioni vengono effettuate nel repository .allstar dell'organizzazione.
Livello repository: i manutentori dei repository in un'organizzazione che utilizza
Allstar possono scegliere di includere o escludere il proprio repository dalle applicazioni
a livello di organizzazione. Nota: questi controlli a livello di repository funzionano solo quando l'"override
del repository" è consentito nelle impostazioni a livello di organizzazione. Queste configurazioni vengono
effettuate nella directory .allstar del repository.
Livello policy: gli amministratori o i manutentori possono scegliere quali policy
sono abilitate su repository specifici e quali azioni intraprende Allstar quando una policy
viene violata. Queste configurazioni vengono effettuate in un file yaml di policy nel
repository .allstar dell'organizzazione (amministratori) o nella directory
.allstar del repository (manutentori).
Prima di installare Allstar a livello di organizzazione, dovresti decidere approssimativamente su quanti repository vuoi che Allstar venga eseguito. Questo ti aiuterà a scegliere tra le strategie Opt-In e Opt-Out.
La strategia Opt In ti consente di aggiungere manualmente i repository su cui vuoi che Allstar venga eseguito. Se non specifichi alcun repository, Allstar non verrà eseguito nonostante sia installato. Scegli la strategia Opt In se vuoi applicare le policy solo su un piccolo numero dei tuoi repository totali, o se vuoi provare Allstar su un singolo repository prima di abilitarlo su altri. Dalla release v4.3, sono supportati i glob per aggiungere facilmente più repository con un nome simile.
La strategia Opt Out (consigliata) abilita Allstar su tutti i repository e ti consente di selezionare manualmente i repository da escludere dalle applicazioni delle policy di Allstar. Puoi anche scegliere di escludere tutti i repo pubblici, o tutti i repo privati. Scegli questa opzione se vuoi eseguire Allstar su tutti i repository di un'organizzazione, o se vuoi escludere solo un piccolo numero di repository o un tipo specifico (ad es. pubblico vs. privato) di repository. Dalla release v4.3, sono supportati i glob per aggiungere facilmente più repository con un nome simile.
| Opt Out (Consigliata) optOutStrategy = true |
Opt In optOutStrategy = false |
|
|---|---|---|
| Comportamento predefinito | Tutti i repo sono abilitati | Nessun repo è abilitato |
| Aggiunta manuale dei repository | L'aggiunta manuale dei repo disabilita Allstar su quei repo | L'aggiunta manuale dei repo abilita Allstar su quei repo |
| Configurazioni aggiuntive | optOutRepos: Allstar sarà disabilitato sui repo elencati optOutPrivateRepos: se true, Allstar sarà disabilitato su tutti i repo privati optOutPublicRepos: se true, Allstar sarà disabilitato su tutti i repo pubblici (optInRepos: questa impostazione sarà ignorata) |
optInRepos: Allstar sarà abilitato sui repo elencati (optOutRepos: questa impostazione sarà ignorata) |
| Override del Repo | Se true: i repo possono escludersi dalle applicazioni delle policy di Allstar della loro organizzazione
utilizzando le impostazioni nel proprio file di repo. Le impostazioni di opt-in a livello di org che
si applicano a quel repository vengono ignorate. Se false: i repo non possono escludersi dalle applicazioni delle policy di Allstar come configurate a livello di org. |
Se true: i repo possono aderire alle applicazioni delle policy di Allstar della loro organizzazione anche
se non sono configurati per il repo a livello di org. Le impostazioni di opt-out a livello di org
che si applicano a quel repository vengono ignorate. Se false: i repo non possono aderire alle applicazioni delle policy di Allstar se non sono configurati a livello di org. |