Welche Berechtigungen benötigt eine GitHub App, um auf Repository-Daten zuzugreifen?
- Einführung
- Grundverständnis der Berechtigungen
- Typische Berechtigungen für den Zugriff auf Repository-Daten
- Beispiele relevanter Repository-Berechtigungen
- Erteilung und Einschränkung der Berechtigungen
- Zusammenfassung
Einführung
GitHub Apps sind spezielle Anwendungen, die in GitHub-Repositorys integriert werden können, um automatisierte Workflows
zu ermöglichen, Aktionen auszuführen oder Informationen zu verarbeiten. Damit eine GitHub App auf Repository-Daten zugreifen kann,
benötigt sie bestimmte Berechtigungen, die definieren, auf welche Ressourcen und in welchem Umfang die App zugreifen darf.
Grundverständnis der Berechtigungen
GitHub Apps arbeiten mit einem fein granularen Berechtigungssystem, das verschiedene Kategorien von Zugriffskontrollen umfasst.
Jede Berechtigung steht in Verbindung mit bestimmten API-Endpunkten und definiert, welche Aktionen (Lesen, Schreiben, Administration) die App durchführen darf.
Diese Berechtigungen müssen beim Erstellen der App oder bei der Installation auf bestimmte Repositorys explizit festgelegt werden.
Ohne die entsprechenden Berechtigungen kann die App nicht auf die gewünschten Repository-Daten zugreifen.
Typische Berechtigungen für den Zugriff auf Repository-Daten
Für den Zugriff auf Repository-Daten sind vor allem Berechtigungen im Bereich Repository relevant. Dabei unterscheidet man zwischen Leseberechtigungen,
Schreibrechten und administrativen Rechten. Leseberechtigungen erlauben der App beispielsweise, Informationen über den Quellcode, Branches, Commits, Pull Requests oder Issues auszulesen.
Schreibrechte gestatten das Ändern von Inhalten, wie etwa das Erstellen von Branches, Commit-Vorgängen oder das Verwalten von Pull Requests.
Administrative Berechtigungen umfassen tiefere Eingriffe, etwa das Löschen eines Repositorys oder das Konfigurieren seiner Einstellungen.
Beispiele relevanter Repository-Berechtigungen
Typischerweise beinhaltet der Zugriff auf Repository-Daten die "Repository Contents"-Berechtigung zum Lesen oder Schreiben von Dateien und Verzeichnissen im Quellcode.
Weiterhin sind "Issues" und "Pull Requests" Berechtigungen relevant, wenn die App mit den entsprechenden Elementen interagieren soll.
Ebenfalls wichtig können Berechtigungen für "Actions", "Environments" oder "Workflows" sein, falls die App Automatisierungen steuern oder anpassen will.
Erteilung und Einschränkung der Berechtigungen
Beim Einrichten der GitHub App oder deren Installation durch einen Repository-Administrator wird festgelegt, welche Berechtigungen die App erhält.
Es ist grundsätzlich empfehlenswert, nur die minimal notwendigen Rechte zu erteilen, um die Sicherheit zu gewährleisten und den Zugriff bestmöglich einzuschränken.
GitHub zwingt zumindest für öffentliche Apps zur transparenten Angabe der benötigten Berechtigungen beim Installationsprozess.
Zusammenfassung
Um auf Repository-Daten zugreifen zu können, benötigt eine GitHub App spezifische Berechtigungen, die im Bereich Repository definiert sind.
Diese reichen von Leserechten für den Quellcode bis hin zu Schreib- oder Administrationsrechten, je nach Funktionalität der App.
Die sorgfältige Auswahl und Vergabe dieser Berechtigungen ist entscheidend für eine sichere und effiziente Nutzung der GitHub App.
