Note
Nur Organisationen, die GitHub Enterprise Cloud verwenden, können benutzerdefinierte Repositoryrollen erstellen.Weitere Informationen zum kostenlosen Testen von GitHub Enterprise Cloud findest du unter Eine Testversion von GitHub Enterprise Cloud einrichten.
Informationen zu benutzerdefinierten Repositoryrollen
Zum Ausführen von Aktionen für GitHub Enterprise Cloud, z. B. zum Erstellen eines Pull Requests in einem Repository oder zum Ändern der Abrechnungseinstellungen einer Organisation, muss eine Person über ausreichenden Zugriff auf das relevante Konto oder die entsprechende Ressource verfügen. Dieser Zugriff wird mit Berechtigungen gesteuert. Eine Berechtigung ist die Möglichkeit, eine bestimmte Aktion auszuführen. Die Möglichkeit, ein Issue zu löschen, ist beispielsweise eine Berechtigung. Eine Rolle ist eine Reihe von Berechtigungen, die du Personen oder Teams zuweisen kannst.
Innerhalb einer Organisation kannst du Rollen auf Organisations-, Team- und Repositoryebene zuweisen. Weitere Informationen zu den verschiedenen Rollenebenen findest du unter Rollen in einer Organisation.
Du kannst die Berechtigungen, die du auf Repositoryebene gewährst, präziser steuern, indem du bis zu fünf benutzerdefinierte Repositoryrollen erstellst. Eine benutzerdefinierte Repositoryrolle ist eine konfigurierbare Reihe von Berechtigungen mit einem benutzerdefinierten Namen, den du selbst auswählst. Weitere Informationen findest du unter Verwalten benutzerdefinierter Repositoryrollen für eine Organisation.
Nachdem du eine benutzerdefinierte Rolle erstellt hast, können Benutzer*innen mit Administratorzugriff auf ein Repository die Rolle einer Person oder einem Team zuweisen. Weitere Informationen findest du unter Den Zugriff einer Person auf ein Repository einer Organisation verwalten und Den Teamzugriff auf ein Repository einer Organisation verwalten.
Du kannst auch die REST-API verwenden, um benutzerdefinierte Repositoryrollen zu erstellen und zu verwalten. Weitere Informationen finden Sie unter REST-API-Endpunkte für benutzerdefinierte Repositoryrollen.
Benutzerdefinierte Repositoryrollen verwalten den Zugriff auf bestimmte Repositorys in Ihrer Organisation. Um Zugriff auf alle Repositorys zu gewähren und den Zugriff auf die Verwaltungseinstellungen Ihrer Organisation zu steuern, können Sie benutzerdefinierte Organisationsrollen verwenden. Weitere Informationen findest du unter Informationen zu benutzerdefinierten Organisationsrollen.
Benutzerdefinierte Organisationsrollen unterscheiden sich von Repositoryrollen dahingehend, dass Berechtigungen für alle aktuellen und zukünftigen Repositorys in der Organisation gewährt werden. Benutzerdefinierte Repositoryrollen ermöglichen es Ihnen jedoch, Berechtigungen für bestimmte Repositorys innerhalb der Organisation zu erteilen.
Informationen zur geerbten Rolle
Wenn du eine benutzerdefinierte Repositoryrolle erstellst, beginnst du mit einer geerbten Rolle aus einer Reihe vordefinierter Optionen. Die geerbte Rolle bestimmt die anfänglichen Berechtigungen für die benutzerdefinierte Rolle. Anschließend kannst du die Rolle weiter anpassen, indem du zusätzliche Berechtigungen für sie auswählst. Eine vollständige Liste der verfügbaren Berechtigungen findest du unter Zusätzliche Berechtigungen für benutzerdefinierte Rollen.
Deine Optionen für die geerbte Rolle werden für verschiedene Arten von Mitwirkenden in deinem Repository standardisiert.
Geerbte Rolle | Vorgesehener Zweck |
---|---|
Lesen | Personen, die nicht zum Code beitragen und sich das Projekt nur ansehen oder darüber sprechen möchten |
Eingrenzung | Mitwirkende, die ohne Schreibzugriff proaktiv Issues und Pull Requests verwalten müssen |
Schreiben | Organisationsmitglieder und Projektmitarbeiter*innen, die aktiv an dein Projekt pushen |
Verwalten | Projektmanager*innen, die das Repository ohne Zugriff auf vertrauliche oder destruktive Aktionen verwalten müssen |
Beispiele für benutzerdefinierte Rollen
Hier findest du einige Beispiele für benutzerdefinierte Repositoryrollen, die du konfigurieren kannst.
Benutzerdefinierte Repositoryrolle | Zusammenfassung | Geerbte Rolle | Zusätzliche Berechtigungen |
---|---|---|---|
Security Engineer | Kann am Code mitwirken und die Sicherheitspipeline verwalten | Verwalten | Löschen von Ergebnissen des Codescans |
Contractor | Kann Webhooks-Integrationen entwickeln | Schreiben | Verwalten von Webhooks |
Community-Manager | Kann alle Communityinteraktionen durchführen, ohne Code beitragen zu können | Lesen | - Markieren eines Issue als Duplikat - Verwalten von GitHub-Seiteneinstellungen - Verwalten von Wiki-Einstellungen - Festlegen der Vorschau für soziale Netzwerke - Bearbeiten von Repositorymetadaten - Triagediskussionen |
Zusätzliche Berechtigungen für benutzerdefinierte Rollen
Nachdem du eine geerbte Rolle ausgewählt hast, kannst du zusätzliche Berechtigungen für deine benutzerdefinierte Rolle auswählen.
Du kannst nur zusätzliche Berechtigungen auswählen, die noch nicht in der geerbten Rolle enthalten sind. Wenn die geerbte Rolle beispielsweise Schreibzugriff auf ein Repository bietet, ist die Berechtigung „Pull Request schließen“ bereits in der geerbten Rolle enthalten.
Diskussionen
- Erstellen einer Diskussionskategorie
- Bearbeiten einer Diskussionskategorie
- Löschen einer Diskussionskategorie
- Markieren oder Aufheben der Markierung von Diskussionsantworten
- Ausblenden oder Einblenden von Diskussionskommentaren
- Konvertieren von Issues in Diskussionen
Weitere Informationen findest du unter Dokumentation zu GitHub Discussions.
Issue und Pull Requests
- Zuweisen oder Entfernen eines Benutzers
- Hinzufügen oder Entfernen einer Bezeichnung
Problem
- Schließen eines Issue
- Nochmaliges Öffnen eines geschlossenen Issue
- Löschen eines Issue
- Markieren eines Issue als Duplikat
Pull Request
- Schließen eines Pull Request
- Nochmaliges Öffnen eines geschlossenen Pull Request
- Anfordern einer Pull-Request-Review
Repository
- Festlegen von Meilensteinen
- Verwalten von Wiki-Einstellungen
- Verwalten von Projekteinstellungen
- Verwalten von Pull Request-Zusammenführungseinstellungen
- Verwalten von GitHub Pages-Einstellungen (siehe Eine Veröffentlichungsquelle für deine GitHub Pages-Website konfigurieren)
- Verwalten von Webhooks
- Verwalten von Bereitstellungsschlüsseln
- Bearbeiten von Repositorymetadaten
- Festlegen von Interaktionsgrenzwerten
- Festlegen der Vorschau für soziale Netzwerke
- Pushen an geschützte Branches
- Basisrolle muss
write
sein - Regeln zum Schutz von Branches gelten weiterhin
- Basisrolle muss
- Erstellen geschützter Tags
- Geschützte Tags löschen
- Umgehen des Branchschutzes
- Bearbeiten von Repositoryregeln
Sicherheit
- Anzeigen von code scanning-Ergebnissen
- Schließen oder erneutes Öffnen von code scanning-Ergebnissen
- Löschen von code scanning-Ergebnissen
- Anzeigen von Dependabot alerts
- Schließen oder erneutes Öffnen von Dependabot alerts
- Anzeigen von secret scanning-Ergebnissen
- Schließen oder erneutes Öffnen von secret scanning-Ergebnissen
Rangfolge für unterschiedliche Zugriffsstufen
Rollen und Berechtigungen sind additiv. Wenn eine Person auf verschiedenen Wegen unterschiedliche Zugriffsstufen erhält, z. B. die Teammitgliedschaft und die Basisberechtigungen für eine Organisation, verfügt der Benutzer über alle Zugriffserteilungen. Wenn eine Organisationsbesitzerin Organisationsmitgliedern beispielsweise eine benutzerdefinierte Rolle zuteilt, die die geerbte Rolle „Lesezugriff“ verwendet, und dann eine Organisationsbesitzerin die Basisberechtigung der Organisation auf „Schreibzugriff“ festlegt, verfügen Mitglieder mit dieser benutzerdefinierten Rolle über Schreibzugriff sowie über alle zusätzlichen Berechtigungen, die in der benutzerdefinierten Rolle enthalten sind.
Wenn einer Person widersprüchliche Zugriffsrechte erteilt wurden, wird auf der Seite für den Repositoryzugriff eine Warnung angezeigt. Die Warnung wird mit dem Hinweis „ Gemischte Rollen“ neben der Person mit dem widersprüchlichen Zugriff angezeigt. Um die Ursache des Zugriffskonflikts anzuzeigen, bewege den Mauszeiger auf das Warnsymbol, oder klicke auf Gemischte Rollen.
Um Probleme durch miteinander im Widerspruch stehende Zugriffsberechtigungen zu lösen, kannst du die Basisberechtigungen deiner Organisation oder den Zugriff des Teams anpassen oder die benutzerdefinierte Rolle bearbeiten. Weitere Informationen finden Sie unter: