Hinweis
Schutzmechanismen für die Workflow-Ausführung befinden sich in Öffentliche Vorschau und können sich ändern.
Informationen zu Schutzmechanismen für die Workflow-Ausführung
Mit Workflowausführungsschutz können Sie eine Zulassungsliste definieren, die steuert, wer Workflows auslösen GitHub Actions kann und welche Ereignisse sie ausführen dürfen. Zuvor wurde ein Workflow basierend auf der Workflowdatei im Commit ausgeführt, der ihn ausgelöst hat, und ein Angreifer mit Repositoryzugriff könnte diese Datei ändern, um bösartigen Code auszuführen. Schutzmechanismen bei der Workflow-Ausführung schließen diese Lücke. Administratoren definieren die Regeln und GitHub Actions wertet sie aus, bevor ein Workflow ausgeführt wird, sodass ein nicht autorisierter Akteur oder Ereignis niemals die Ausführung erreicht.
Workflowausführungsschutz ist auf Unternehmens-, Organisations- und Repositoryebene verfügbar.
Basierend auf Regelsätzen
Die Schutzmechanismen für die Workflowausführung basieren auf dem GitHub-Framework für rulesets, sodass das Targeting, das Sie bereits von rulesets kennen, auch hier funktioniert. Mithilfe von benutzerdefinierten Repositoryeigenschaften können Sie Schutzmaßnahmen mit Regelets anwenden und auf bestimmte Repositorys beschränken. Dies bedeutet, dass Sie umfassenden Schutz von einem Ort aus erzwingen können, anstatt jede Workflowdatei einzeln zu konfigurieren. Weitere Informationen zu Regelsätzen finden Sie unter Informationen zu Regelsätzen.
Sie können auch den Auswertungsmodus verwenden, um Ihre Regeln auszuführen, ohne sie zu erzwingen. Der Auswertungsmodus zeigt Ihnen genau, was eine Regel blockieren würde, bevor Sie sie erzwingen, sodass Sie Richtlinien bereitstellen können, ohne vorhandene Workflows zu unterbrechen.
Verfügbare Regeln
Ereignis und Akteur sind die ersten beiden Regeln und GitHub Pläne, im Laufe der Zeit weitere Regeln hinzuzufügen.
- Akteurregeln steuern, wer Workflows auslösen kann, einschließlich einzelner Benutzer, Repositoryrollen wie "Lesen", "Verwalten" und "Administrator", GitHub Apps" Copilotund Dependabot".
- Ereignisregeln steuern, welche Ereignisse zulässig sind, z. B.
push,pull_request,pull_request_targetundworkflow_dispatch.
Standardmäßig kann jeder Benutzer mit Schreibzugriff auf ein Repository Workflows auslösen. Mit Akteurregeln können Sie trennen, wer Code beiträgt und wer Ihre CI ausführt, sodass Sie einem Mitwirkenden Schreibzugriff gewähren können, ohne ihm die Berechtigung zu erteilen, Workflows auszuführen.
Beenden gängiger Angreifertechniken
Workflowausführungsschutz stört mehrere reale Angriffsmuster:
- Vergiftete Pipelineausführung durch Pull Requests.
pull_request_targeteinschränken oder verbieten, auch in öffentlichen Repositorys, wo dies am häufigsten missbraucht wird. - Missbrauch der manuellen Auslösung. Beschränken Sie
workflow_dispatchauf Maintainer, damit nicht vertrauenswürdige Identitäten keine Workflows starten können. - Ausführung durch nicht vertrauenswürdige Akteure. Verhindern Sie, dass Identitäten mit niedriger Vertrauensebene Workflows vollständig auslösen.
- Falsch konfigurierte Ausbeutung. Wenden Sie eine zentrale Richtlinie an, die jede einzelne falsch konfigurierte Workflowdatei außer Kraft setzt.
Konfigurieren von Schutzmechanismen für die Workflow-Ausführung
Sie konfigurieren Workflowausführungsschutz im neuen Abschnitt "Richtlinien " Ihrer GitHub Actions Einstellungen. Dieser Abschnitt "Richtlinien " unterscheidet sich von den vorhandenen allgemeinen Einstellungen.
- Navigieren Sie zu Ihrem Unternehmen. Beispielsweise auf der Seite Unternehmen in GitHub.com.
- Klicken Sie oben auf der Seite auf "Richtlinien".
- Klicke unter „ Policies“ auf Actions.
- Klicken Sie auf "Richtlinien".
- Erstellen Sie ein Regelsatz, und fügen Sie dann Ihre Ereignis- und Akteurregeln hinzu.
- Wählen Sie, ob der Regelsatz aktiv ist oder sich im Auswertungsmodus befindet, und speichern Sie dann Ihre Änderungen.