Über GitHub Actions-Berechtigungen für dein Repository
Standardmäßig ist GitHub Actions in allen Repositorys und in allen Organisationen aktiviert. Du kannst GitHub Actions deaktivieren oder auf Aktionen und wiederverwendbare Workflows in deiner Organisation beschränken. Weitere Informationen zu GitHub Actions findest du unter Schreiben von Workflows.
Du kannst GitHub Actions für dein Repository aktivieren. Wenn Sie GitHub Actions aktivieren, können Workflows Aktionen und wiederverwendbare Workflows in Ihrem Repository und anderen öffentlichen Repositorys ausführen. Du kannst GitHub Actions für dein Repository komplett deaktivieren. Wenn Du GitHub Actions deaktivierst, werden keine Workflows in Deinem Repository ausgeführt.
Alternativ kannst du GitHub Actions in deinem Repository aktivieren, jedoch die Aktionen und wiederverwendbaren Workflows einschränken, die ein Workflow ausführen kann.
GitHub Actions-Berechtigungen für dein Repository verwalten
Du kannst GitHub Actions für ein Repository deaktivieren oder eine Richtlinie einrichten, mit der konfiguriert wird, welche Aktionen und wiederverwendbare Workflows im Repository verwendet werden können.
Note
Möglicherweise kannst du diese Einstellungen nicht verwalten, wenn deine Organisation über eine Außerkraftsetzungsrichtlinie verfügt oder von einem Unternehmen mit einer Außerkraftsetzungsrichtlinie verwaltet wird. Weitere Informationen findest du unter GitHub Actions für deine Organisation Deaktivieren oder Einschränken oder Erzwingen von Richtlinien für GitHub Actions in deinem Unternehmen.
-
Navigieren Sie auf GitHub zur Hauptseite des Repositorys.
-
Wähle unter dem Namen deines Repositorys die Option Einstellungen aus. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.
-
Klicke in der linken Seitenleiste auf Aktionen und dann auf Allgemein.
-
Wähle unter „Actions permissions" (Berechtigungen für Aktionen) eine Option aus.
Wenn du OWNER zulassen und NICHT-OWNER, Aktionen und wiederverwendbare Workflows auswählen auswählst, werden Aktionen und wiederverwendbare Workflows innerhalb deiner Organisation zugelassen, und es stehen zusätzliche Optionen zur Verfügung, um andere spezifische Aktionen und wiederverwendbare Workflows zuzulassen. Weitere Informationen findest du unter Zulassen der Ausführung ausgewählter Aktionen und wiederverwendbarer Workflows.
Wenn du Aktionen und wiederverwendbare Workflows nur in deiner Organisation zulässt, blockiert die Richtlinie jeglichen Zugriff auf Aktionen, die von GitHub erstellt wurden. Auf die Aktion
actions/checkout
könnte also beispielsweise nicht zugegriffen werden. -
Klicken Sie auf Speichern.
Zulassen ausgewählter Aktionen und das Ausführen wiederverwendbarer Workflows
Wenn du OWNER zulassen und NICHT-OWNER, Aktionen und wiederverwendbare Workflows auswählen auswählst, werden lokale Aktionen und wiederverwendbare Workflows zugelassen, und du verfügst über zusätzliche Optionen, andere spezifische Aktionen und wiederverwendbare Workflows zu erlauben:
Note
Möglicherweise kannst du diese Einstellungen nicht verwalten, wenn deine Organisation über eine Außerkraftsetzungsrichtlinie verfügt oder von einem Unternehmen mit einer Außerkraftsetzungsrichtlinie verwaltet wird. Weitere Informationen findest du unter GitHub Actions für deine Organisation Deaktivieren oder Einschränken oder Erzwingen von Richtlinien für GitHub Actions in deinem Unternehmen.
-
Zulassen von Aktionen, die durch GitHub erstellt wurden: Du kannst alle durch GitHub erstellte Aktionen zum Verwenden durch Workflows erlauben. Aktionen, die durch GitHub erstellt wurden, befinden sich in den Organisationen
actions
undgithub
. Weitere Informationen findest du in den Organisationenactions
undgithub
. -
Marketplace-Aktionen durch überprüfte Ersteller zulassen: Du kannst zulassen, dass alle von verifizierten Erstellern erstellten GitHub Marketplace-Aktionen in Workflows genutzt werden können. Wenn GitHub die Ersteller*innen der Aktion als Partnerorganisation verifiziert hat, wird der Badge neben der Aktion auf dem GitHub Marketplace angezeigt.
-
Zulassen angegebener Aktionen und wiederverwendbarer Workflows: Du kannst Workflows darauf beschränken, Aktionen und wiederverwendbare Workflows in spezifischen Organisationen und Repositorys zu verwenden. Angegebene Aktionen können nicht auf mehr als 1000 festgelegt werden.
Um den Zugriff auf bestimmte Tags oder Commit-SHA-Werte einer Aktion oder eines wiederverwendbaren Workflows einzuschränken, verwende dieselbe Syntax, die im Workflow genutzt wird, um die Aktion oder den wiederverwendbaren Workflow auszuwählen.
- Für eine Aktion ist die Syntax
OWNER/REPOSITORY@TAG-OR-SHA
. Verwende beispielsweiseactions/javascript-action@v1.0.1
zum Auswählen eines Tags oderactions/javascript-action@a824008085750b8e136effc585c3cd6082bd575f
zum Auswählen eines SHA-Werts. Weitere Informationen findest du unter Verwenden von vordefinierten Bausteinen im Workflow. - Für einen wiederverwendbaren Workflow ist die Syntax
OWNER/REPOSITORY/PATH/FILENAME@TAG-OR-SHA
. Beispiel:octo-org/another-repo/.github/workflows/workflow.yml@v1
. Weitere Informationen findest du unter Wiederverwenden von Workflows.
Du kannst das Platzhalterzeichen
*
verwenden, um Muster abzugleichen. Um beispielsweise alle Aktionen und wiederverwendbaren Workflows in Organisationen zu erlauben, die mitspace-org
beginnen, kannst duspace-org*/*
angeben. Um alle Aktionen und wiederverwendbaren Workflows in Repositorys zu erlauben, die mit „octocat“ beginnen, kannst du*/octocat**@*
verwenden. Weitere Informationen zur Verwendung des*
-Platzhalters findest du unter Workflowsyntax für GitHub Actions.Note
Bei GitHub Free-Plänen, GitHub Pro-Plänen, GitHub Free-Plänen für Organisationen oder GitHub Team-Plänen ist die Option Allow specified actions and reusable workflows nur für öffentliche Repositorys verfügbar.
- Für eine Aktion ist die Syntax
In dieser Prozedur wird gezeigt, wie du der Zulassungsliste bestimmte Aktionen und wiederverwendbare Workflows hinzufügst.
-
Navigieren Sie auf GitHub zur Hauptseite des Repositorys.
-
Wähle unter dem Namen deines Repositorys die Option Einstellungen aus. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.
-
Klicke in der linken Seitenleiste auf Aktionen und dann auf Allgemein.
-
Wähle unter "Actions permissions" (Aktionenberechtigungen) OWNER zulassen und NICHT-OWNER, Aktionen und wiederverwendbare Workflows auswählen aus, und füge die erforderlichen Aktionen zu der Liste hinzu.
-
Klicke auf Speichern.
Steuern von Änderungen von Forks zu Workflows in öffentlichen Repositorys
Jede Person kann ein öffentliches Repository forken und dann einen Pull Request übermitteln, um Änderungen an den GitHub Actions-Workflows des Repositorys vorzuschlagen. Workflows von Forks haben zwar keinen Zugriff auf vertrauliche Daten wie Geheimnisse, können aber für die Verwalter störend sein, wenn sie zu missbräuchlichen Zwecken geändert werden.
Um dies zu verhindern, werden Workflows in Pull Requests an öffentliche Repositorys von einigen externen Mitwirkenden nicht automatisch ausgeführt, sondern müssen möglicherweise zuerst genehmigt werden. Je nach der Einstellung „Genehmigung für die Ausführung von Fork-Pull-Request-Workflows von Mitwirkenden“ werden Workflows für Pull Requests für öffentliche Repositorys nicht automatisch ausgeführt und müssen möglicherweise genehmigt werden, wenn Folgendes zutrifft:
- Der Pull Request wurde von einem Benutzer erstellt, der gemäß der ausgewählten Richtlinie eine Genehmigung benötigt.
- Das Pull Request-Ereignis wurde von einem Benutzer ausgelöst, der gemäß der ausgewählten Richtlinie eine Genehmigung benötigt.
Standardmäßig ist bei allen erstmaligen Mitwirkenden eine Genehmigung zum Ausführen von Workflows erforderlich.
Workflows, die durch pull_request_target
-Ereignisse ausgelöst wurden, werden im Kontext des Basisbranch ausgeführt. Da der Basisbranch als vertrauenswürdig betrachtet wird, werden die von diesen Ereignissen ausgelösten Workflows immer ausgeführt, unabhängig von den Genehmigungseinstellungen. Weitere Informationen zum pull_request_target
-Ereignis findest du unter Ereignisse zum Auslösen von Workflows.
Warning
Durch diese Richtlinien zur Genehmigung von Workflows soll der Kreis der Benutzer eingeschränkt werden, die Workflows in GitHub Actions-Runnern ausführen können, die bei der Verwendung von auf GitHub Runnern zu unerwartetem Ressourcen- und Computeverbrauch führen können. Wenn du selbstgehostete Runner verwendest und der Benutzer die Genehmigung in der festgelegten Genehmigungsrichtlinie umgehen darf oder der Pull Request genehmigt wird, wird potenziell bösartiger, vom Benutzer gesteuerter Workflowcode automatisch ausgeführt. Du musst das Risiko der Ausführung dieses Codes in deiner Infrastruktur berücksichtigen und solltest die Sicherheitsempfehlungen für selbstgehostete Runner unabhängig von den verwendeten Genehmigungseinstellungen lesen und befolgen. Weitere Informationen finden Sie unter „Sicherheitshärtung für GitHub Actions“.
Du kannst dieses Verhalten für ein Repository mithilfe des nachstehenden Verfahrens konfigurieren. Durch Ändern dieser Einstellung wird die auf Organisations- oder Unternehmensebene festgelegte Konfiguration außer Kraft gesetzt.
-
Navigieren Sie auf GitHub zur Hauptseite des Repositorys.
-
Wähle unter dem Namen deines Repositorys die Option Einstellungen aus. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.
-
Klicke in der linken Seitenleiste auf Aktionen und dann auf Allgemein.
-
Wähle unter Genehmigung für die Ausführung von Fork-Pull-Request-Workflows von Mitwirkenden, welche Teilmenge von Benutzern eine Genehmigung braucht, bevor Workflows für deren Pull Requests ausgeführt werden. Sowohl der Autor des Pull Requests als auch der Akteur des Pull Request-Ereignisses, das den Workflow auslöst, werden überprüft, um festzustellen, ob eine Genehmigung erforderlich ist. Wenn eine Genehmigung erforderlich ist, muss ein Benutzer mit Schreibzugriff auf das Repository den auszuführenden Pull Request-Workflow genehmigen. Weitere Informationen finden Sie unter „Genehmigen von Workflowausführungen über öffentliche Forks“.
Warning
Wenn nur für erstmalig Mitwirkende eine Genehmigung erforderlich ist (die ersten beiden Einstellungen), benötigt ein Benutzer, der bereits Commits oder Pull Requests in das Repository gemergt hat, keine Genehmigung. Ein böswilliger Benutzer kann diese Anforderung erfüllen, indem er einen einfachen Tippfehler oder eine andere harmlose Änderung in einem selbst verfassten Pull Request oder in einem Pull Request eines anderen Benutzers von einem Maintainer akzeptieren lässt.
- Erfordern Sie eine Genehmigung für erstmalige Mitwirkende, die neu bei GitHub sind. Nur Benutzer, die neu auf GitHub sind und noch keinen Commit oder Pull Request in dieses Repository gemergt haben, benötigen eine Genehmigung zum Ausführen von Workflows.
- Genehmigung für erstmalige Mitwirkende erforderlich. Nur Benutzer, die noch keinen Commit oder Pull Request in dieses Repository gemergt haben, benötigen eine Genehmigung zum Ausführen von Workflows.
- Genehmigung für alle externen Mitwirkenden anfordern Alle Benutzer, die nicht Mitglied oder Besitzer dieses Repositorys und nicht Mitglied der Organisation sind, benötigen eine Genehmigung zum Ausführen von Workflows.
-
Klicke auf Speichern, um die Einstellung zu übernehmen.
Weitere Informationen zum Genehmigen von Workflowausführungen, für die diese Richtlinie gilt, findest du unter Genehmigen von Workflowausführungen über öffentliche Forks.
Aktivieren von Workflows für Forks privater Repositorys
Wenn du für deine privaten Repositorys Forks verwendest, kannst du Richtlinien konfigurieren, die steuern, wie Benutzer Workflows für pull_request
-Ereignisse ausführen können. Du kannst diese Richtlinieneinstellungen für Organisationen oder Repositorys konfigurieren. Dies ist jedoch nur für private Repositorys verfügbar.
Wenn eine Richtlinie für ein Organisation deaktiviert ist, kann sie für ein Repository nicht aktiviert werden.
- Ausführen von Workflows aus Fork-Pull Requests: Ermöglicht Benutzern das Ausführen von Workflows aus Fork-Pull Requests mit einem
GITHUB_TOKEN
mit ausschließlicher Leseberechtigung und ohne Zugriff auf geheime Schlüssel. - Senden von Schreibtoken an Workflows aus Pull Requests: Ermöglicht Pull Requests aus Forks die Verwendung eines
GITHUB_TOKEN
mit Schreibberechtigung. - Senden von Geheimnissen an Workflows aus Pull Requests: Stellt dem Pull Request alle Geheimnisse zur Verfügung.
- Genehmigung für Fork-Pull Request-Workflows erforderlich: Workflows, die ohne Schreibberechtigung für Pull Requests von Projektmitarbeiter*innen ausgeführt werden, müssen von einer Person mit Schreibberechtigung genehmigt werden, bevor sie ausgeführt werden können.
Konfigurieren der Forkrichtlinie für ein privates Repository
-
Navigieren Sie auf GitHub zur Hauptseite des Repositorys.
-
Wähle unter dem Namen deines Repositorys die Option Einstellungen aus. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.
-
Klicke in der linken Seitenleiste auf Aktionen und dann auf Allgemein.
-
Wähle unter Pull Request-Workflows forken deine Optionen aus.
-
Klicke auf Speichern, um die Einstellung zu übernehmen.
Festlegen der Berechtigungen von GITHUB_TOKEN
für dein Repository
Du kannst die Standardberechtigungen festlegen, die dem GITHUB_TOKEN
erteilt werden. Weitere Informationen zum GITHUB_TOKEN
findest du unter Automatische Tokenauthentifizierung. Du kannst eine eingeschränkte Gruppe von Berechtigungen als Standard festlegen oder freizügige Einstellungen vornehmen.
Die Standardberechtigungen können auch in den Organisationseinstellungen konfiguriert werden. Wenn dein Repository zu einer Organisation gehört und ein restriktiverer Standardwert in den Organisationseinstellungen ausgewählt wurde, wird dieselbe Option in deinen Repositoryeinstellungen ausgewählt, und die zulässige Option wird deaktiviert.
Jeder mit Schreibzugriff auf ein Repository kann die dem GITHUB_TOKEN
erteilten Berechtigungen ändern und Zugriff nach Bedarf hinzufügen oder entfernen, indem er den permissions
-Schlüssel in der Workflowdatei bearbeitet. Weitere Informationen findest du unter permissions
.
Konfigurieren der GITHUB_TOKEN
-Standardberechtigungen
Wenn du in deinem persönlichen Konto ein neues Repository erstellst, verfügt GITHUB_TOKEN
standardmäßig nur über Lesezugriff für die Bereiche contents
und packages
. Wenn du ein neues Repository in einer Organisation erstellst, wird die Einstellung von den Organisationseinstellungen übernommen.
-
Navigieren Sie auf GitHub zur Hauptseite des Repositorys.
-
Wähle unter dem Namen deines Repositorys die Option Einstellungen aus. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.
-
Klicke in der linken Seitenleiste auf Aktionen und dann auf Allgemein.
-
Wähle unter „Workflowberechtigungen“ aus, ob
GITHUB_TOKEN
über Lese- und Schreibzugriff für alle Berechtigungen (die permissive Einstellung) oder nur über Lesezugriff für die Berechtigungencontents
und die Berechtigungpackages
(die eingeschränkte Einstellung). -
Klicke auf Save (Speichern), um die Einstellungen zu übernehmen.
Verhindern, dass GitHub Actions Pullanforderungen erstellen oder genehmigen
Du kannst zulassen oder verhindern, dass GitHub Actions-Workflows Pull Requests aus erstellen oder entfernen.
Wenn du in deinem persönlichen Konto ein neues Repository erstellst, dürfen Workflows standardmäßig keine Pull Requests erstellen oder genehmigen. Wenn du ein neues Repository in einer Organisation erstellst, wird die Einstellung von den Organisationseinstellungen übernommen.
-
Navigieren Sie auf GitHub zur Hauptseite des Repositorys.
-
Wähle unter dem Namen deines Repositorys die Option Einstellungen aus. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.
-
Klicke in der linken Seitenleiste auf Aktionen und dann auf Allgemein.
-
Verwende unter "Workflow permissions" (Workflowberechtigungen) die Einstellung Allow GitHub Actions to create and approve pull requests (GitHub Actions zum Erstellen und Genehmigen von Pullanforderungen berechtigen), um zu konfigurieren, ob
GITHUB_TOKEN
Pullanforderungen erstellen und genehmigen kann. -
Klicke auf Save (Speichern), um die Einstellungen zu übernehmen.
Zulassen des Zugriffs auf Komponenten in einem privaten Repository
Aktionen und wiederverwendbare Workflows in deinen privaten Repositorys können für andere private Repositorys freigegeben werden, die denselben Benutzer*innen oder derselben Organisation gehören. Weitere Informationen zu privaten Repositorys findest du unter Informationen zu Repositorys.
Du kannst die folgenden Schritte ausführen, um zu konfigurieren, ob von außerhalb des Repositorys auf Aktionen und wiederverwendbare Workflows in einem privaten Repository zugegriffen werden kann. Weitere Informationen findest du unter Freigeben von Aktionen und Workflows in deinem privaten Repository und Freigeben von Aktionen und Workflows in deiner Organisation. Alternativ kannst du die REST-API verwenden, um Details zur Zugriffsebene festzulegen oder abzurufen. Weitere Informationen findest du unter REST-API-Endpunkte für GitHub-Actions-Berechtigungen und unter REST-API-Endpunkte für GitHub-Actions-Berechtigungen.
Verwalten des Zugriffs für ein privates Repository
-
Navigiere auf GitHub zur Hauptseite des privaten Repositorys.
-
Wähle unter dem Namen deines Repositorys die Option Einstellungen aus.
-
Klicke in der linken Seitenleiste auf Aktionen und dann auf Allgemein.
-
Wähle unter Access (Zugriff) eine der Zugriffseinstellungen aus:
- Not accessible (Nicht zugänglich): Workflows in anderen Repositorys können nicht auf dieses Repository zugreifen.
- Zugriff über Repositorys im Besitz von „BENUTZERNAME“ – Workflows in anderen Repositorys im Besitz derselben Benutzer*innen können auf die Aktionen und wiederverwendbaren Workflows in diesem Repository zugreifen. Der Zugriff ist nur von privaten Repositorys aus zulässig.
-
Klicke auf Save (Speichern), um die Einstellungen zu übernehmen.
Verwalten des Zugriffs für ein privates Repository in einer Organisation
-
Navigiere auf GitHub zur Hauptseite des privaten Repositorys.
-
Wähle unter dem Namen deines Repositorys die Option Einstellungen aus.
-
Klicke in der linken Seitenleiste auf Aktionen und dann auf Allgemein.
-
Wähle unter Access (Zugriff) eine der Zugriffseinstellungen aus:
- Not accessible (Nicht zugänglich): Workflows in anderen Repositorys können nicht auf dieses Repository zugreifen.
- Zugriff über Repositorys in der Organisation „NAME DER ORGANISATION“ – Workflows in anderen Repositorys, die Teil der Organisation „NAME DER ORGANISATION“ sind, können auf die Aktionen und wiederverwendbaren Workflows in diesem Repository zugreifen. Der Zugriff ist nur von privaten Repositorys aus zulässig.
-
Klicke auf Save (Speichern), um die Einstellungen zu übernehmen.
Konfigurieren des Aufbewahrungszeitraums für GitHub Actions-Artefakte und -Protokolle in deinem Repository
Du kannst den Aufbewahrungszeitraum für GitHub Actions-Artefakte und -Protokolle in deinem Repository konfigurieren.
Standardmäßig werden die von Workflows generierten Artefakte und Protokolldateien 90 Tage lang aufbewahrt und dann automatisch gelöscht. Du kannst den Aufbewahrungszeitraum abhängig von der Art des Repositorys anpassen:
- Öffentliche Repositorys: Der Aufbewahrungszeitraum kann auf einen beliebigen Wert zwischen einem Tag und 90 Tagen festgelegt werden.
- Private Repositorys: Der Aufbewahrungszeitraum kann auf einen beliebigen Wert zwischen einem Tag und 400 Tagen festgelegt werden.
Der angepasste Aufbewahrungszeitraum gilt nur für neue Artefakte und Protokolldateien. Er gilt nicht rückwirkend für bereits vorhandene Objekte. Bei verwalteten Repositorys und Organisationen darf der maximale Aufbewahrungszeitraum den von der verwaltenden Organisation oder vom verwaltenden Unternehmen festgelegten Grenzwert nicht übersteigen.
Du kannst auch einen benutzerdefinierten Aufbewahrungszeitraum für ein bestimmtes Artefakt definieren, das von einem Workflow erstellt wurde. Weitere Informationen findest du unter Entfernen von Workflowartefakten.
Festlegen des Aufbewahrungszeitraums für ein Repository
-
Navigieren Sie auf GitHub zur Hauptseite des Repositorys.
-
Wähle unter dem Namen deines Repositorys die Option Einstellungen aus. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.
-
Klicke in der linken Seitenleiste auf Aktionen und dann auf Allgemein.
-
Gib unter Artefakt und Protokollaufbewahrung einen neuen Wert ein.
-
Klicke auf Speichern, um die Änderungen zu übernehmen.