Über GitHub Actions-Berechtigungen für deine Organisation
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 alle Repositories in deiner Organisation 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 alle Repositorys in deiner Organisation deaktivieren. Wenn Du GitHub Actions deaktivierst, werden keine Workflows in Deinem Repository ausgeführt.
Alternativ kannst du GitHub Actions für alle Repositorys in deiner Organisation aktivieren, aber die Aktionen und wiederverwendbaren Workflows einschränken, die von einem Workflow ausgeführt werden können.
GitHub Actions-Berechtigungen für deine Organisation verwalten
Du kannst GitHub Actions für alle Repositorys in deiner Organisation deaktivieren oder nur bestimmte Repositorys zulassen. Du kannst auch die Verwendung öffentlicher Aktionen und wiederverwendbarer Workflows einschränken, sodass Personen nur lokale Aktionen und wiederverwendbare Workflows in deiner Organisation verwenden können.
Note
Möglicherweise kannst du diese Einstellungen nicht verwalten, wenn deine Organisation von einem Unternehmen verwaltet wird, das über eine Außerkraftsetzungsrichtlinie verfügt. Weitere Informationen finden Sie unter Erzwingen von Richtlinien für GitHub Actions in deinem Unternehmen.
-
Wählen Sie in der oberen rechten Ecke von GitHub Ihr Profilfoto aus, und klicken Sie dann auf Ihre Organisationen.
-
Klicke neben der Organisation auf Einstellungen.
-
Klicke in der linken Seitenleiste auf Aktionen und dann auf Allgemein.
-
Wähle unter „Richtlinien“ 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. -
Klicke 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.Verwende
,
, um Muster zu trennen. Beispielsweise kannst duoctocat/*, octokit/*
angeben, zumoctocat
undoctokit
zuzulassen.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.
- Wählen Sie in der oberen rechten Ecke von GitHub Ihr Profilfoto aus, und klicken Sie dann auf Ihre Organisationen.
- Klicke neben der Organisation auf Einstellungen.
- Klicke in der linken Seitenleiste auf Aktionen und dann auf Allgemein.
- Wähle unter „Richtlinien“ OWNER zulassen und NICHT-OWNER, Aktionen und wiederverwendbare Workflows auswählen aus, und füge der Liste deine erforderlichen Aktionen und wiederverwendbaren Workflows hinzu.
- Klicken Sie auf Speichern.
Beschränken der Verwendung von selbstgehosteten Runnern
Es gibt keine Garantie, dass selbstgehostete Runner für GitHub auf kurzlebigen, bereinigten VMs gehostet werden. Infolgedessen können sie durch nicht vertrauenswürdigen Code in einem Workflow kompromittiert werden.
Ebenso können alle Benutzerinnen, die das Repository forken und Pull Requests starten können (üblicherweise Benutzerinnen mit Lesezugriff auf das Repository), die selbstgehostete Runnerumgebung kompromittieren. Dabei kann u. a. auf Geheimnisse und das GITHUB_TOKEN
zugegriffen werden, über das abhängig von den Einstellungen Schreibzugriff auf das Repository erlangt werden kann. Wenngleich der Zugriff auf Umgebungsgeheimnisse in Workflows durch die Verwendung von Umgebungen und erforderlichen Prüfungen gesteuert werden kann, werden diese Workflows nicht in einer isolierten Umgebung ausgeführt. Folglich müssen bei Ausführung in einem selbstgehosteten Runner dieselben Risiken berücksichtigt werden.
Aus diesen und anderen Gründen solltest du möglicherweise verhindern, dass Personen selbstgehostete Runner auf Repositoryebene erstellen.
Falls ein Repository bereits über selbstgehostete Runner verfügt, wenn du deren Verwendung deaktivierst, werden diese mit dem Status „Deaktiviert“ aufgeführt, und ihnen werden keine neuen Workflowaufträge zugewiesen.
Note
Wenn die Erstellung selbstgehosteter Runner auf Repositoryebene deaktiviert ist, können Workflows weiterhin auf selbstgehostete Runner auf Unternehmens- oder Organisationsebene zugreifen.
- Wählen Sie in der oberen rechten Ecke von GitHub Ihr Profilfoto aus, und klicken Sie dann auf Ihre Organisationen.
- Klicke neben der Organisation auf Einstellungen.
- Klicke in der linken Seitenleiste auf Aktionen und dann auf Allgemein.
- Verwenden das Dropdownmenü unter „Runner“, um deine bevorzugte Einstellung auszuwählen:
- Alle Repositorys: Selbstgehostete Runner können für jedes Repository in deiner Organisation verwendet werden.
- Ausgewählte Repositorys: Selbstgehostete Runner können nur für die von dir ausgewählten Repositorys verwendet werden.
- Deaktiviert: Selbstgehostete Runner können auf Repositoryebene nicht erstellt werden.
- Wenn du Ausgewählte Repositorys ausgewählt hast:
- Wähle aus.
- Aktiviere die Kontrollkästchen der Repositorys, für die du selbstgehostete Runner zulassen möchtest.
- Wähle Repositorys auswählen aus.
Konfigurieren der erforderlichen Genehmigung für Workflows aus öffentlichen Forks
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 eine Organisation mithilfe des nachstehenden Verfahrens konfigurieren. Durch Ändern dieser Einstellung wird die auf Unternehmensebene festgelegte Konfiguration außer Kraft gesetzt.
-
Wählen Sie in der oberen rechten Ecke von GitHub Ihr Profilfoto aus, und klicken Sie dann auf Ihre Organisationen.
-
Klicke neben der Organisation auf Einstellungen.
-
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 private Repositoryforks
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 eine Organisation deaktiviert ist, kann sie für Repositorys nicht aktiviert werden. Wenn eine Organisation eine Richtlinie aktiviert, kann die Richtlinie für einzelne Repositorys deaktiviert 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 privaten Forkrichtlinie für eine Organisation
- Wählen Sie in der oberen rechten Ecke von GitHub Ihr Profilfoto aus, und klicken Sie dann auf Ihre Organisationen.
- Klicke neben der Organisation auf Einstellungen.
- 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 deine Organisation
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.
Du kannst die Standardberechtigungen für GITHUB_TOKEN
in den Einstellungen für deine Organisation oder deine Repositorys festlegen. Wenn du in den Einstellungen deiner Organisation eine restriktive Option als den Standard festlegst, wird dieselbe Option auch in den Einstellungen für Repositorys innerhalb deiner Organisation ausgewählt, und die freizügige Option wird deaktiviert. Wenn deine Organisation zu einem GitHub Enterprise-Konto gehört und der einschränkendere Standard in den Unternehmenseinstellungen ausgewählt wurde, kannst du in den Organisationseinstellungen nicht die freizügigere Standardeinstellung auswählen.
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 eine neue Organisation erstellst, verfügt nur GITHUB_TOKEN
über Lesezugriff für die Bereiche contents
und packages
.
-
Klicken Sie in der oberen rechten Ecke von GitHub auf Ihr Profilfoto und dann auf Ihr Profil.
-
Wählen Sie in der oberen rechten Ecke von GitHub Ihr Profilfoto aus, und klicken Sie dann auf Ihre Organisationen.
-
Klicke neben der Organisation auf Einstellungen.
-
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.
Hindern von GitHub Actions am Erstellen oder Genehmigen von Pull Requests
Du kannst zulassen oder verhindern, dass GitHub Actions-Workflows Pull Requests aus erstellen oder entfernen.
Wenn du eine neue Organisation erstellst, dürfen Workflows standardmäßig keine Pull Requests erstellen oder genehmigen.
-
Klicken Sie in der oberen rechten Ecke von GitHub auf Ihr Profilfoto und dann auf Ihr Profil.
-
Wählen Sie in der oberen rechten Ecke von GitHub Ihr Profilfoto aus, und klicken Sie dann auf Ihre Organisationen.
-
Klicke neben der Organisation auf Einstellungen.
-
Klicke in der linken Seitenleiste auf Aktionen und dann auf Allgemein.
-
Verwende unter „Workflowberechtigungen“ die Einstellung GitHub Actions dasErstellen und Genehmigen von Pull Requests erlauben, um zu konfigurieren, ob
GITHUB_TOKEN
Pull Requests erstellen und genehmigen darf. -
Klicke auf Save (Speichern), um die Einstellungen zu übernehmen.
Verwalten des Cache für GitHub Actions für deine Organisation
Organisationsadministrator*innen können GitHub Actions für alle Repositorys in der Organisation verwalten.
Anzeigen des Cache für GitHub Actions nach Repository
Für jedes Repository in deiner Organisation kannst du einsehen, wie viel Cache ein Repository verwendet, wie viele aktive Caches vorhanden sind und ob ein Repository fast die gesamte Cachegröße nutzt. Weitere Informationen zur Cachenutzung und -entfernung findest du unter Abhängigkeiten zwischenspeichern um Workflows zu beschleunigen.
-
Klicken Sie in der oberen rechten Ecke von GitHub auf Ihr Profilfoto und dann auf Ihr Profil.
-
Wählen Sie in der oberen rechten Ecke von GitHub Ihr Profilfoto aus, und klicken Sie dann auf Ihre Organisationen.
-
Klicke neben der Organisation auf Einstellungen.
-
Klicke in der linken Randleiste auf Aktionen, und klicke dann auf Caches.
-
Überprüfe die Liste der Repositorys für weitere Informationen zu deinen Caches für GitHub Actions. Du kannst auf einen Repositorynamen klicken, um weitere Details zu den Caches des Repositorys anzuzeigen.