
GitHub App per impostare e applicare policy di sicurezza
[!IMPORTANT] L'app GitHub Allstar ospitata da OpenSSF è stata ritirata. Allstar, il sottoprogetto OpenSSF Scorecard, continua comunque a essere mantenuto — ora devi eseguirlo tu stesso, sia come GitHub Action sia come demone di servizio.
Vedi ossf/allstar#881 per maggiori dettagli.
Se la tua organizzazione faceva affidamento sull'app ospitata, vedi Migrazione dall'app ospitata.
Allstar è una GitHub App che monitora continuamente organizzazioni o repository GitHub per verificare l'aderenza alle best practice di sicurezza. Se Allstar rileva una violazione di una policy di sicurezza, crea un problema 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 Allstar crea problemi indesiderati, segui queste istruzioni per disattivarlo.
Allstar è altamente configurabile. Ci sono tre livelli principali di controlli:
Queste configurazioni vengono effettuate nel repository .allstar dell'organizzazione.
Livello repository: I manutentori dei repository in un'organizzazione che usa
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
"repo override" è 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 Allstar intraprende 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 operi. 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 operi. Se non specifichi alcun repository, Allstar non verrà eseguito nonostante sia installato. Scegli la strategia Opt In se vuoi applicare policy solo su un numero limitato 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 di Allstar. Puoi anche scegliere di escludere tutti i repository pubblici, o tutti i repository privati. Scegli questa opzione se vuoi eseguire Allstar su tutti i repository di un'organizzazione, o se vuoi escludere solo un numero limitato 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 (Consigliato) optOutStrategy = true |
Opt In optOutStrategy = false |
|
|---|---|---|
| Comportamento predefinito | Tutti i repository sono abilitati | Nessun repository è abilitato |
| Aggiunta manuale di repository | Aggiungere manualmente repository disabilita Allstar su quei repository | Aggiungere manualmente repository abilita Allstar su quei repository |
| Configurazioni aggiuntive | optOutRepos: Allstar sarà disabilitato sui repository elencati optOutPrivateRepos: se true, Allstar sarà disabilitato su tutti i repository privati optOutPublicRepos: se true, Allstar sarà disabilitato su tutti i repository pubblici (optInRepos: questa impostazione verrà ignorata) |
optInRepos: Allstar sarà abilitato sui repository elencati (optOutRepos: questa impostazione verrà ignorata) |
| Override del repository | Se true: I repository possono escludersi dalle applicazioni Allstar della loro organizzazione
usando le impostazioni nel proprio file di repository. Le impostazioni di inclusione a livello di organizzazione che
si applicano a quel repository vengono ignorate. Se false: i repository non possono escludersi dalle applicazioni Allstar configurate a livello di organizzazione. |
Se true: I repository possono includersi nelle applicazioni Allstar della loro organizzazione anche
se non sono configurati per il repository a livello di organizzazione. Le impostazioni di esclusione a livello di organizzazione
che si applicano a quel repository vengono ignorate. Se false: I repository non possono includersi nelle applicazioni Allstar se non sono configurati a livello di organizzazione. |