Configurare le autorizzazioni del repository del controllo del codice sorgente usando GitHub

Completato

L'implementazione delle autorizzazioni del repository GitHub in modo ottimale comporta la ricerca di un giusto equilibrio tra facilitare la collaborazione e proteggere le codebase da abusi e uso improprio. GitHub supporta controlli di accesso con granularità fine che consentono ai team di interagire in modo efficiente tra loro, mantenendo al tempo stesso i principi di privacy, sicurezza e integrità dei dati.

Il modello di autorizzazione varia a seconda del tipo di account GitHub. 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 un set di funzionalità completo e su repository privati illimitati con un set di funzionalità limitato, 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 un set di funzionalità completo e in repository privati illimitati con un set di funzionalità limitato. Oltre alle funzionalità disponibili con GitHub Gratuito per gli account personali, GitHub Gratuito per le organizzazioni offre limiti più elevati dei minuti di GitHub Actions al mese e l'archiviazione di GitHub Packages superiore.
  • GitHub Team: per i team, incluse tutte le funzionalità di GitHub Pro, nonché le autorizzazioni di team e utente, gli strumenti di revisione del codice e le funzionalità avanzate nei repository privati.
  • GitHub Enterprise: per le organizzazioni a livello aziendale, incluse tutte le funzionalità di GitHub Team, nonché funzionalità di sicurezza a livello aziendale, ad esempio l'accesso Single Sign-On, i log di controllo e i controlli di conformità. Questo piano è self-hosted e può essere eseguito in locale o in un ambiente cloud (GitHub Enterprise Cloud).

Autorizzazioni di repository in GitHub Free per gli account personali

GitHub Gratuito per gli account personali: Per i repository pubblici, chiunque può visualizzare e forkare un 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 in modo che le autorizzazioni di proprietà non possano 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 di 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 di repository in GitHub Gratuito per le organizzazioni

GitHub Gratuito per le organizzazioni include la possibilità di creare team, a cui è possibile concedere l'accesso a repository specifici con livelli di autorizzazione diversi. A Teams è possibile concedere 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: nascondere i commenti nei repository pubblici di proprietà dell'organizzazione.
  • responsabili della sicurezza: stanno leggendo tutti i repository dell'organizzazione.
  • proprietari: tutti i permessi correlati all'archivio, inclusa l'aggiunta di collaboratori, nonché le autorizzazioni di scrittura e l'eliminazione degli archivi.

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. La concessione di un livello di accesso superiore per singoli repository esegue l'override dell'autorizzazione di base.

L'accesso personalizzato ai repository può essere implementato assegnando ruoli del repository predefiniti ai membri dell'organizzazione e ai collaboratori esterni. Questi ruoli includono:

  • Leggi: Consigliato per i collaboratori non tecnici che desiderano poter esaminare il contenuto del repository.
  • Triage: consigliato per i collaboratori che gestiscono in modo proattivo problemi, discussioni e pull request senza accesso di scrittura.
  • Scrivere: È consigliato per i collaboratori che eseguono attivamente il push nel repository.
  • Manutenzione: consigliato per i project manager che devono gestire il repository senza accesso a azioni sensibili o distruttive.
  • Admin: Consigliato per gli utenti che necessitano di privilegi completi, incluse azioni sensibili e distruttive come la gestione della sicurezza o l'eliminazione del repository.

Autorizzazioni del repository nel 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 ai 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é le funzionalità di livello aziendale.

le funzionalità di sicurezza, come il Single Sign-On, i log di controllo e i controlli di conformità. GitHub Enterprise Cloud supporta un controllo molto granulare 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ù granulari a utenti o team diversi rispetto a quelli disponibili con i ruoli predefiniti di lettura, valutazione, scrittura, gestione e amministrazione.