Configurare le autorizzazioni del repository con GitHub
Configurare correttamente le autorizzazioni del repository GitHub significa trovare il giusto equilibrio tra aiutare i team a collaborare e proteggere il codice da un uso improprio. GitHub supporta controlli di accesso dettagliati che consentono ai team di collaborare in modo efficiente mantenendo al contempo la privacy, la sicurezza e l'integrità dei dati.
Il modello di autorizzazione è diverso a seconda del tipo di account GitHub disponibile. Esistono cinque tipi di account che possono essere creati da singoli utenti e organizzazioni:
- GitHub Gratuito per gli account personali - Gratuito per uso individuale, inclusi collaboratori illimitati su repository pubblici illimitati con tutte le funzionalità e su repository privati illimitati con funzionalità limitate, ad esempio problemi e richieste pull
- GitHub Pro : per sviluppatori professionisti, inclusi repository pubblici e privati illimitati, collaboratori illimitati e strumenti avanzati di revisione del codice
- GitHub Gratuito per le organizzazioni : gratuito per le organizzazioni, inclusi collaboratori illimitati su repository pubblici illimitati con tutte le funzionalità e su repository privati illimitati con funzionalità limitate. Include anche limiti più elevati per i minuti di GitHub Actions al mese e l'archiviazione di GitHub Packages rispetto agli account personali
- Team di GitHub : per i team, incluse tutte le funzionalità di GitHub Pro, oltre alle autorizzazioni di team e utente, agli strumenti di revisione del codice e agli strumenti avanzati per i repository privati
- GitHub Enterprise : per le organizzazioni a livello aziendale, incluse tutte le funzionalità del team GitHub, oltre a funzionalità di sicurezza a livello aziendale, ad esempio l'accesso Single Sign-On, i log di controllo e i controlli di conformità. Questo piano può essere autogestito in sede o in un ambiente cloud (il GitHub Enterprise Cloud)
Autorizzazioni del repository in GitHub Free per gli account personali
GitHub Gratuito per gli account personali: Per i repository pubblici, chiunque può visualizzare e creare una copia tramite fork del repository. Per i repository privati, il proprietario del repository ha il controllo completo su chi può accedere e contribuire al repository, con un massimo di tre collaboratori consentiti. Può esistere un solo proprietario, quindi le autorizzazioni di proprietà non possono essere condivise con un altro account personale. Inoltre, in un repository privato, i proprietari di repository possono concedere solo l'accesso in scrittura ai collaboratori. In altre parole, i collaboratori non possono avere accesso in sola lettura ai repository di proprietà di un account personale.
Autorizzazioni del repository in GitHub Pro
GitHub Pro include tutti gli stessi livelli di autorizzazione del repository di GitHub Gratuito per gli account personali, ma con funzionalità di collaborazione più avanzate, ad esempio rami protetti e proprietari di codice.
Autorizzazioni del repository in GitHub Gratuito per le organizzazioni
GitHub Gratuito per le organizzazioni include la possibilità di creare team, che possono essere autorizzati ad accedere a repository specifici con livelli di autorizzazione diversi. È possibile concedere a Teams l'accesso in scrittura o l'accesso amministratore e i ruoli personalizzati possono essere creati per concedere autorizzazioni specifiche a utenti o gruppi diversi.
Il ruolo predefinito non amministrativo per gli utenti di un'organizzazione è il membro dell'organizzazione. Per impostazione predefinita, i membri dell'organizzazione hanno alcune autorizzazioni, inclusa la possibilità di creare repository.
Altri ruoli dell'organizzazione hanno autorizzazioni elevate per i repository, ad esempio:
- Moderatori dell'organizzazione : può nascondere i commenti nei repository pubblici di proprietà dell'organizzazione
- Responsabili della sicurezza : può leggere tutti i repository nell'organizzazione
- Proprietari : disporre di tutte le autorizzazioni correlate al repository, inclusi l'aggiunta di collaboratori, la scrittura e l'eliminazione di repository
I proprietari dell'organizzazione possono impostare le autorizzazioni di base applicabili a tutti i membri di un'organizzazione quando accedono a uno dei relativi repository. Le autorizzazioni di base non si applicano ai collaboratori esterni. Concedere un livello di accesso superiore per i singoli repository sostituisce l'autorizzazione di base.
È possibile personalizzare l'accesso ai repository assegnando ruoli del repository predefiniti ai membri dell'organizzazione e ai collaboratori esterni. Questi ruoli includono:
- Lettura : consigliato per i collaboratori non di codice che vogliono essere in grado di esaminare il contenuto del repository
- Triage - consigliata per i collaboratori che devono gestire problemi, discussioni e pull request senza accesso in scrittura
- Scrittura: scelta consigliata per i collaboratori che eseguono attivamente il push nel repository
- Mantieni : consigliato per i project manager che devono gestire il repository senza accesso a azioni sensibili o distruttive
- Amministratore : consigliato per gli utenti che necessitano di privilegi completi, incluse azioni sensibili e distruttive, ad esempio la gestione della sicurezza o l'eliminazione del repository
Autorizzazioni del repository in GitHub Team
GitHub Team include tutti gli stessi livelli di autorizzazione del repository di GitHub Gratuito per le organizzazioni, con l'aggiunta del supporto per i team e funzionalità di sicurezza più avanzate, ad esempio intervalli IP autorizzati e autenticazione di livello aziendale. I team sono gruppi di membri dell'organizzazione. I proprietari dell'organizzazione e i gestori del team possono concedere ai team l'autorizzazione per i repository.
Autorizzazioni del repository in GitHub Enterprise Cloud
GitHub Enterprise Cloud è progettato per le organizzazioni a livello aziendale e include tutte le funzionalità di GitHub Team, nonché funzionalità di sicurezza a livello aziendale, ad esempio Single Sign-On, log di controllo e controlli di conformità. GitHub Enterprise Cloud supporta un controllo molto dettagliato sulle autorizzazioni del repository, inclusa la possibilità di gestire le autorizzazioni a livello di ramo. I proprietari dell'organizzazione possono anche creare ruoli personalizzati per concedere autorizzazioni più dettagliate a utenti o team diversi rispetto a quelli disponibili con i ruoli predefiniti di lettura, valutazione, scrittura, gestione e amministrazione.