Informationen zu Dependabot über GitHub Actions selbst gehostete Runner
Wenn Sie Dependabot für ein neues Repository aktivieren und GitHub Actions aktiviert ist, werden Dependabot standardmäßig auf GitHub Actions ausgeführt.
Wenn Sie Dependabot für ein neues Repository aktivieren und GitHub Actions deaktiviert ist, wird Dependabot über die ältere Anwendung in GitHub ausgeführt, um Dependabot updates auszuführen. Dies bietet nicht so gute Leistung, Sichtbarkeit oder Kontrolle von Dependabot updates Jobs wie GitHub Actions. Wenn Sie Dependabot mit GitHub Actions verwenden möchten, müssen Sie sicherstellen, dass Ihr Repository GitHub Actions aktiviert, und dann "Dependabot für Actions-Runner" auf der Einstellungsseite des Repositorys "Codesicherheit und Analyse" aktivieren. Weitere Informationen findest du unter „Informationen zu Dependabot über GitHub Actions-Runner“.
Note
Zukünftige Versionen von GitHub führen immer Dependabot mit GitHub Actions aus, und Sie haben nicht mehr die Möglichkeit, diese Einstellung zu aktivieren oder zu deaktivieren.
Du kannst den Benutzern deiner Organisation und Repositorys helfen, sicheren Code zu erstellen und zu pflegen, indem du Sicherheits- und Versionsupdates für Dependabot einrichtest. Mit Dependabot updates können Entwickler Repositorys so konfigurieren, dass ihre Abhängigkeiten aktualisiert und automatisch gesichert werden. Die Ausführung von Dependabot über GitHub Actions ermöglicht eine höhere Leistung und bessere Sichtbarkeit und Kontrolle von Dependabot-Jobs.
Note
Dependabot unterstützt nicht die Verwendung privater Netzwerke mit einem virtuellen Azure-Netzwerk (VNet) oder dem Actions Runner Controller (ARC).
Um den Zugriff von Dependabot auf deine privaten Registrierungen und internen Netzwerkressourcen besser kontrollieren zu können, kannst du Dependabot so konfigurieren, dass er auf GitHub Actions selbst gehosteten Runnern läuft.
Wenn du Dependabot auf GitHub Actions selbst gehosteten Runnern ausführst, wird Dependabot updates aus Sicherheitsgründen nicht auf öffentlichen Repositorys ausgeführt.
Weitere Informationen zur Konfiguration des Dependabot-Zugriffs auf private Registrierungen bei der Verwendung von GitHub-gehosteten Runnern findest du unter „Leitfaden zum Konfigurieren privater Registrierungen für Dependabot“. Informationen dazu, welche Ökosysteme als private Registrierungen unterstützt werden, findest du unter „Entfernen des Dependabot-Zugriffs auf öffentliche Registrierungen“.
Voraussetzungen
Dependabot muss installiert und aktiviert sein, und GitHub Actions muss aktiviert und im Einsatz sein. Die Einstellung „Dependabot über GitHub Actions Runner“ sollte für deine Organisation ebenfalls aktiviert sein. Weitere Informationen findest du unter Informationen zu Dependabot über GitHub Actions-Runner.
Deine Organisation hat möglicherweise eine Richtlinie konfiguriert, die die Ausführung von Aktionen und selbst gehosteten Runnern in bestimmten Repositorys einschränkt, was wiederum die Ausführung von Dependabot über GitHub Actions selbst gehostete Runner verhindert. In diesem Fall ist die Einstellung auf Organisations- oder Repository-Ebene zur Aktivierung von „Dependabot über selbst gehostete Runner“ in der Web-Benutzeroberfläche nicht sichtbar. Weitere Informationen findest du unter GitHub Actions für deine Organisation Deaktivieren oder Einschränken.
Konfigurieren selbst gehosteter Runner für Dependabot updates
Nachdem du deine Organisation oder dein Repository für die Ausführung von Dependabot über GitHub Actions konfiguriert hast und bevor du Dependabot über selbst gehostete Runnern aktivierst, musst du selbst gehostete Runner für Dependabot updates konfigurieren.
Systemanforderungen für Dependabot-Runner
Jede virtuelle Maschine (VM), die du für Dependabot-Runner verwendest, muss die Anforderungen für selbst gehostete Runner erfüllen. Sie muss außerdem die folgenden Anforderungen erfüllen.
-
Linux-Betriebssystem
-
x64-Architektur
-
Docker ist mit Zugriff für die Runner-Benutzer installiert:
- Du solltest Docker im Rootless-Modus installieren und die Runner für den Zugriff auf Docker ohne
root
-Berechtigungen konfigurieren. - Installiere alternativ Docker, und gib den Runner-Benutzern Berechtigungen zum Ausführen von Docker.
- Du solltest Docker im Rootless-Modus installieren und die Runner für den Zugriff auf Docker ohne
Die CPU- und Speicheranforderungen hängen von der Anzahl der gleichzeitigen Runner ab, die du auf einer bestimmten VM bereitstellst. Als Anhaltspunkt: Wir haben erfolgreich 20 Runner auf einem einzelnen Computer mit 2 CPUs und 8 GB eingerichtet. Letztendlich hängen deine CPU- und Speicheranforderungen jedoch stark von den zu aktualisierenden Repositories ab. Einige Ökosysteme erfordern mehr Ressourcen als andere.
Wenn du mehr als 14 gleichzeitige Runner auf einer VM angibst, musst du auch die Docker-/etc/docker/daemon.json
-Konfiguration aktualisieren, um die Standardanzahl von Netzwerken zu erhöhen, die Docker erstellen kann.
{
"default-address-pools": [
{"base":"10.10.0.0/16","size":24}
]
}
Netzwerkanforderungen für Dependabot-Runner
Die Dependabot-Runner benötigen Zugriff auf das öffentliche Internet, GitHub.com, und auf alle internen Registrierungen, die in Dependabot updates verwendet werden. Um das Risiko für dein internes Netzwerk zu minimieren, solltest du den Zugriff auf den virtuellen Computer (VM) auf dein internes Netzwerk beschränken. Dadurch wird das Potenzial für Schäden an internen Systemen reduziert, wenn ein Runner eine Hijack-Abhängigkeit herunterladen sollte.
Du musst ausgehenden Datenverkehr zu dependabot-actions.githubapp.com
zulassen, um zu verhindern, dass die Aufträge für Dependabot security updates fehlschlagen. Weitere Informationen findest du unter Informationen zu selbstgehosteten Runnern.
Zertifikatskonfiguration für Dependabot-Runner
Wenn Dependabot mit Registrierungen interagieren muss, die selbstsignierte Zertifikate verwenden, müssen diese Zertifikate auch auf den selbst gehosteten Runnern installiert werden, die Dependabot-Jobs ausführen. Dadurch wird die Sicherheit der Verbindung erhöht. Du musst auch Node.js für die Verwendung des Zertifikats konfigurieren, da die meisten Aktionen in JavaScript geschrieben sind und mit Hilfe von Node.js ausgeführt werden, das nicht den Zertifikatspeicher des Betriebssystems verwendet.
Hinzufügen selbst gehosteter Runner für Dependabot-Updates
-
Bereitstellen selbst gehosteter Runner auf Repository- oder Organisationsebene Weitere Informationen finden Sie unter Informationen zu selbstgehosteten Runnern und unter Selbst-gehostete Runner hinzufügen.
-
Richte die selbst gehosteten Runner mit den oben beschriebenen Anforderungen ein. Beispielsweise würdest du auf einer VM, auf der Ubuntu 20.04 ausgeführt wird, folgendes ausführen:
- Installiere Docker, und stelle sicher, dass die Runner-Benutzer Zugriff auf Docker haben. Weitere Informationen findest du in der Dokumentation zur Docker.
- Installieren der Docker-Engine unter Ubuntu
- Empfohlene Vorgehensweise: Ausführen des Docker-Daemons als Nicht-Root-Benutzer (Rootless-Modus).
- Alternativer Ansatz: Verwalten von Docker als Nicht-Root-Benutzer
- Stelle sicher, dass die Runner Zugriff auf das öffentliche Internet haben und nur auf die internen Netzwerke zugreifen können, die Dependabot benötigt.
- Installiere alle selbstsignierten Zertifikate für Registrierungen, mit denen Dependabot interagieren muss.
- Installiere Docker, und stelle sicher, dass die Runner-Benutzer Zugriff auf Docker haben. Weitere Informationen findest du in der Dokumentation zur Docker.
-
Weise jedem Runner eine
dependabot
-Bezeichnung zu, die Dependabot verwenden soll. Weitere Informationen findest du unter Verwenden von Bezeichnungen mit selbstgehosteten Runnern. -
Aktiviere optional Workflows, die von Dependabot ausgelöst werden, um mehr als schreibgeschützte Berechtigungen zu verwenden und Zugriff auf alle Geheimnisse zu haben, die normalerweise verfügbar sind. Weitere Informationen findest du unter Automatisieren von Dependabot mit GitHub Actions.
Aktivieren von selbst gehosteten Runnern für Dependabot updates
Sobald du die selbst gehosteten Runner für Dependabot updates konfiguriert hast, kannst du Dependabot updates für selbst gehostete Runner auf Organisations- oder Repositoryebene aktivieren oder deaktivieren.
Beachte, dass das Deaktivieren und erneute Aktivieren der Einstellungen „Dependabot auf selbst gehosteten Runnern“ keine neue Dependabot-Ausführung auslösen wird.
Aktivieren oder Deaktivieren für Ihr Repository
Du kannst Dependabot auf selbst gehosteten Runnern für dein privates Repository verwalten.
-
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 im Abschnitt „Sicherheit“ auf der Randleiste auf Codesicherheit und -analyse.
-
Klicke unter „Dependabot“ rechts neben „Dependabot auf selbst gehosteten Runnern“ auf Aktivieren, um das Feature zu aktivieren, oder auf Deaktivieren, um es zu deaktivieren.
Aktivieren oder Deaktivieren für Ihre Organisation
Sie können Dependabot auf selbst gehosteten Runnern für alle vorhandenen privaten Repositorys in einer Organisation aktivieren. Nur Repositorys, die bereits für die Ausführung von Dependabot über GitHub Actions konfiguriert sind, werden bei der nächsten Auslösung eines Dependabot-Jobs so aktualisiert, dass Dependabot auf selbst gehosteten Runnern ausgeführt wird.
Note
Sie müssen selbst gehostete Runner für Ihre Organisation aktivieren, wenn Sie größere Runner verwenden. Weitere Informationen findest du unter Informationen zu Dependabot über GitHub Actions-Runner.
- 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.
- Klicken Sie im Abschnitt „Sicherheit“ der Randleiste auf Codesicherheit und dann auf Globale Einstellungen.
- Wählen Sie unter „Dependabot“ „Dependabot auf selbst gehosteten Runnern“, um das Feature zu aktivieren, oder auf „Deaktivieren“, um es zu deaktivieren. Diese Aktion aktiviert oder deaktiviert das Feature für alle neuen Repositorys in der Organisation.
Weitere Informationen findest du unter Konfigurieren globaler Sicherheitseinstellungen für Ihre Organisation.