Konfigurieren von Berechtigungen im Quellcodeverwaltungsrepository mithilfe von GitHub

Abgeschlossen

Für eine optimale Implementierung von GitHub-Repositoryberechtigungen muss ein gutes Gleichgewicht zwischen einer einfacheren Zusammenarbeit und dem Schutz der Codebasis vor Missbrauch und falscher Verwendung gefunden werden. GitHub unterstützt differenzierte Zugriffssteuerungen, mit denen Teams effizient miteinander interagieren können und gleichzeitig die Grundsätze des Datenschutzes, der Sicherheit und der Integrität gewahrt werden.

Das Berechtigungsmodell unterscheidet sich je nach GitHub-Kontotyp. Es gibt fünf Arten von Konten, die Einzelpersonen und Organisationen erstellen können:

  • GitHub Free für persönliche Konten: Kann kostenlos von Einzelpersonen genutzt werden, einschließlich einer unbegrenzten Anzahl von Projektmitarbeitern bei beliebig vielen öffentlichen Repositorys mit vollem Funktionsumfang und bei beliebig vielen privaten Repositorys mit einem begrenzten Funktionsumfang, z. B.
    Issues und Pull Requests
  • GitHub Pro: Für professionelle Entwickler, einschließlich einer beliebigen Anzahl öffentlicher und privater Repositorys, einer unbegrenzten Anzahl von Projektmitarbeitern und erweiterter Code-Review-Tools
  • GitHub Free für Organisationen: Kann kostenlos von Organisationen genutzt werden, einschließlich einer unbegrenzten Anzahl von Projektmitarbeitern bei beliebig vielen öffentlichen Repositorys mit vollem Funktionsumfang und beliebig vielen privaten Repositorys mit einem begrenzten Funktionsumfang. Zusätzlich zu den Features, die mit GitHub Free für persönliche Konten verfügbar sind, bietet GitHub Free für Organisationen höhere Grenzwerte für GitHub Actions-Minuten pro Monat und einen größeren GitHub Packages-Speicher.
  • GitHub Team: Für Teams, einschließlich aller Features von GitHub Pro sowie Team- und Benutzerberechtigungen, Code-Review-Tools und erweiterter Tools und Features in privaten Repositorys.
  • GitHub Enterprise: Für Organisationen, die große Unternehmen sind, einschließlich aller Features von GitHub Team sowie Sicherheitsfeatures auf Unternehmensniveau, z. B. Single Sign-On, Überwachungsprotokolle und Compliancekontrollen. Bei diesem Plan wird GitHub selbst gehostet und kann lokal oder in einer Cloudumgebung (GitHub Enterprise Cloud) ausgeführt werden.

Repositoryberechtigungen in GitHub Free für persönliche Konten

GitHub Free für persönliche Konten: Öffentliche Repositorys kann jeder anzeigen und forken. Bei privaten Repositorys hat der Besitzer des Repositorys die volle Kontrolle darüber, wer auf das Repository zugreifen und daran mitwirken kann, wobei maximal drei Projektmitarbeiter zulässig sind. Es kann nur einen Besitzer geben, daher können anderen persönlichen Konten keine Besitzerberechtigungen erteilt werden. Darüber hinaus können Repositorybesitzer Projektmitarbeitern in einem privaten Repository nur Schreibzugriff gewähren. Mit anderen Worten: Projektmitarbeitern kann für Repositorys, die einem persönlichen Konto gehören, kein schreibgeschützter Zugriff gewährt werden.

Repositoryberechtigungen in GitHub Pro

GitHub Pro enthält die gleichen Berechtigungsebenen für Repositorys wie GitHub Free für persönliche Konten, jedoch mit erweiterten Zusammenarbeitsfeatures wie geschützten Branches und Codebesitzern.

Repositoryberechtigungen in GitHub Free für Organisationen

GitHub Free für Organisationen bietet die Möglichkeit, Teams zu erstellen, denen Zugriff auf bestimmte Repositorys mit unterschiedlichen Berechtigungsebenen gewährt werden kann. Teams kann Schreibzugriff oder Administratorzugriff gewährt werden, und es können benutzerdefinierte Rollen erstellt werden, um bestimmten Benutzern oder Gruppen bestimmte Berechtigungen zu erteilen.

In einer Organisation ist die Standardrolle bei Benutzern, die keine Administratoren sind, die des Organisationsmitglieds. Organisationsmitglieder verfügen standardmäßig über einige Berechtigungen, einschließlich der Möglichkeit, Repositorys zu erstellen.

Andere Organisationsrollen verfügen über höhere Berechtigungen für Repositorys, z. B.:

  • Organisationsmoderatoren: Ausblenden von Kommentaren in öffentlichen Repositorys, die der Organisation gehören
  • Sicherheitsmanager: Lesen aller Repositorys in der Organisation
  • Besitzer: Alle repositorybezogenen Berechtigungen, einschließlich des Hinzufügens von Projektmitarbeitern sowie des Schreibens in und des Löschens von Repositorys.

Organisationsbesitzer können Basisberechtigungen festlegen, die für alle Mitglieder einer Organisation gelten, wenn sie auf eines der Repositorys der Organisation zugreifen. Basisberechtigungen gelten nicht für externe Projektmitarbeiter. Durch die Gewährung einer höheren Zugriffsebene für einzelne Repositorys wird die Basisberechtigung außer Kraft gesetzt.

Der angepasste Zugriff auf Repositorys kann implementiert werden, indem Organisationsmitgliedern und externen Projektmitarbeitern integrierte Repositoryrollen zugewiesen werden. Folgende Rollen sind verfügbar:

  • Lesen: Diese Rolle wird für Benutzer empfohlen, die nicht am Code mitwirken und den Inhalt des Repositorys überprüfen möchten.
  • Selektierung: Diese Rolle wird für Mitwirkende empfohlen, die proaktiv Issues, Diskussionen und Pull Requests verwalten müssen, ohne dafür Schreibzugriff zu benötigen.
  • Schreiben: Diese Rolle wird für Mitwirkende empfohlen, die aktiv Änderungen in das Repository pushen.
  • Verwalten: Diese Rolle wird für Projektmanager empfohlen, die das Repository verwalten müssen, aber keinen Zugriff auf sensible oder destruktive Aktionen benötigen.
  • Administrator: Diese Rolle wird für Personen empfohlen, die sämtliche Berechtigungen benötigen, einschließlich sensibler und destruktiver Aktionen wie dem Verwalten der Sicherheit oder dem Löschen des Repositorys.

Repositoryberechtigungen in GitHub Team

GitHub Team enthält die gleichen Berechtigungsebenen für Repositorys wie GitHub Free für Organisationen und zusätzlich Unterstützung für Teams sowie erweiterte Sicherheitsfeatures wie autorisierte IP-Adressbereiche und Authentifizierung auf Unternehmensniveau. Teams sind Gruppen von Organisationsmitgliedern. Organisationsbesitzer und Teamverwalter können Teams Berechtigungen für Repositorys erteilen.

Repositoryberechtigungen in GitHub Enterprise Cloud

GitHub Enterprise Cloud ist für Organisationen konzipiert, bei denen es sich um große Unternehmen handelt, und enthält alle Features von GitHub Team sowie

Sicherheitsfeatures auf Unternehmensniveau, z. B. Single Sign-On, Überwachungsprotokolle und Compliancekontrollen. GitHub Enterprise Cloud unterstützt eine sehr differenzierte Kontrolle über Repositoryberechtigungen, einschließlich der Möglichkeit, Berechtigungen auf Branchebene zu verwalten. Organisationsbesitzer können auch benutzerdefinierte Rollen erstellen, um unterschiedlichen Benutzern oder Teams differenziertere Berechtigungen zu erteilen als über die integrierten Rollen „Lesen“, „Selektierung“, „Schreiben“, „Verwalten“ und „Administrator“.