Configurer des autorisations de référentiel de contrôle de code source à l’aide de GitHub
L’implémentation des autorisations de référentiel GitHub de manière optimale implique de trouver un équilibre approprié entre faciliter la collaboration et protéger les bases de code contre les abus et les mauvaises utilisations. GitHub prend en charge les contrôles d’accès affinés qui permettent aux équipes d’interagir efficacement entre elles, tout en conservant les principes de confidentialité, de sécurité et d’intégrité des données.
Le modèle d’autorisation diffère selon le type de compte GitHub. Il existe cinq types de comptes que les individus et les organisations peuvent créer :
-
GitHub Gratuit pour les comptes personnels : gratuit pour une utilisation individuelle, y compris des collaborateurs illimités sur des référentiels publics illimités avec un ensemble de fonctionnalités complet et sur des référentiels privés illimités avec un ensemble de fonctionnalités limité, comme
problèmes et requêtes de tirage. - GitHub Pro : pour les développeurs professionnels, notamment des dépôts publics et privés illimités, des collaborateurs illimités et des outils de révision de code avancés.
- GitHub Gratuit pour les organisations : gratuit pour les organisations, y compris des collaborateurs illimités sur des référentiels publics illimités avec un ensemble de fonctionnalités complet et sur des référentiels privés illimités avec un ensemble de fonctionnalités limité. Outre les fonctionnalités disponibles avec GitHub Free pour les comptes personnels, GitHub Free pour les organisations offre des limites plus élevées de minutes GitHub Actions par mois et un stockage de packages GitHub supérieur.
- Équipe GitHub : pour les équipes, y compris toutes les fonctionnalités de GitHub Pro, ainsi que les autorisations d’équipe et d’utilisateur, les outils de révision de code et les outils et fonctionnalités avancés dans les référentiels privés.
- GitHub Enterprise : pour les organisations de niveau entreprise, y compris toutes les fonctionnalités de GitHub Team, ainsi que les fonctionnalités de sécurité au niveau de l’entreprise, telles que l’authentification unique, les journaux d’audit et les contrôles de conformité. Ce plan est auto-hébergé et peut être exécuté localement ou dans un environnement cloud (GitHub Enterprise Cloud).
Autorisations de dépôt dans GitHub Gratuit pour les comptes personnels
GitHub Gratuit pour les comptes personnels : Pour les dépôts publics, tout le monde peut voir et forker le dépôt. Pour les référentiels privés, le propriétaire du référentiel a un contrôle total sur qui peut accéder au référentiel et y contribuer, avec jusqu’à trois collaborateurs autorisés. Il ne peut y avoir qu’un seul propriétaire afin que les autorisations de propriété ne puissent pas être partagées avec un autre compte personnel. En outre, dans un référentiel privé, les propriétaires de référentiels ne peuvent accorder qu’un accès en écriture aux collaborateurs. En d’autres termes, les collaborateurs ne peuvent pas avoir accès en lecture seule aux référentiels appartenant à un compte personnel.
Autorisations de dépôt dans GitHub Pro
GitHub Pro inclut tous les mêmes niveaux d’autorisation de dépôt que GitHub Gratuit pour les comptes personnels, mais avec des fonctionnalités de collaboration plus avancées, telles que les branches protégées et les propriétaires de code.
Autorisations de dépôt dans GitHub Free pour les organisations
GitHub Gratuit pour les organisations inclut la possibilité de créer des équipes, qui peuvent être autorisées à accéder à des référentiels spécifiques avec différents niveaux d’autorisation. Teams peut bénéficier d’un accès en écriture ou d’un accès administrateur, et des rôles personnalisés peuvent être créés pour accorder des autorisations spécifiques à différents utilisateurs ou groupes.
Le rôle non administratif par défaut pour les utilisateurs d’une organisation est le membre de l’organisation. Par défaut, les membres de l’organisation disposent de quelques autorisations, notamment la possibilité de créer des référentiels.
D’autres rôles d’organisation ont des droits d'accès avancés aux dépôts, tels que :
- Modérateurs de l’organisation : masquer les commentaires dans les référentiels publics appartenant à l’organisation.
- gestionnaires de sécurité : lire tous les référentiels de l’organisation.
- Propriétaires : toutes les autorisations liées au référentiel, y compris l’ajout de collaborateurs, ainsi que l’écriture dans et la suppression de référentiels.
Les propriétaires d’organisation peuvent définir des autorisations de base qui s’appliquent à tous les membres d’une organisation lors de l’accès à l’un de ses référentiels. Les autorisations de base ne s’appliquent pas aux collaborateurs externes. L’octroi d’un niveau d’accès supérieur pour les référentiels individuels remplace l’autorisation de base.
L’accès personnalisé aux référentiels peut être implémenté en affectant des rôles de référentiel intégrés aux membres de l’organisation et aux collaborateurs externes. Ces rôles sont les suivants :
- Lire : Recommandé pour les contributeurs non codés qui souhaitent pouvoir passer en revue le contenu du référentiel.
- Triage : Recommandé pour les contributeurs qui doivent gérer de manière proactive les problèmes, les discussions et les pull requests sans accès en écriture.
- Écriture : Recommandé pour les contributeurs qui effectuent un push actif vers le référentiel.
- Maintenir : recommandé pour les responsables de projet qui doivent gérer le référentiel sans accéder à des actions sensibles ou destructrices.
- Administrateur : Recommandé pour les personnes qui ont besoin de privilèges complets, notamment des actions sensibles et destructrices telles que la gestion de la sécurité ou la suppression du référentiel.
Autorisations de dépôt sur GitHub Team
GitHub Team inclut tous les mêmes niveaux d’autorisation de dépôt que GitHub Gratuit pour les organisations, avec l’ajout de la prise en charge des équipes et des fonctionnalités de sécurité plus avancées telles que les plages d’adresses IP autorisées et l’authentification de niveau entreprise. Les équipes sont des groupes de membres de l’organisation. Les propriétaires de l'organisation et les responsables d'équipe peuvent accorder aux équipes l'autorisation d'accéder aux dépôts.
Autorisations de dépôt dans GitHub Enterprise Cloud
GitHub Enterprise Cloud est conçu pour les organisations de niveau entreprise et inclut toutes les fonctionnalités de GitHub Team, ainsi que celles à l'échelle de l'entreprise.
fonctionnalités de sécurité telles que l’authentification unique, les journaux d’audit et les contrôles de conformité. GitHub Enterprise Cloud prend en charge un contrôle très granulaire des autorisations de référentiel, notamment la possibilité de gérer les autorisations au niveau de la branche. Les propriétaires d’organisations peuvent également créer des rôles personnalisés pour accorder des autorisations plus granulaires à différents utilisateurs ou équipes que ceux disponibles avec les rôles intégrés de lecture, de tri, d’écriture, d’écriture, de maintenance et d’administrateur.