Skip to main content

Verwalten von Dependabot auf selbst gehosteten Runnern

Du kannst GitHub Actions selbst gehostete Runner konfigurieren, die Dependabot für den Zugriff auf deine privaten Registrierungen und internen Netzwerkressourcen verwendet.

Wer kann dieses Feature verwenden?

Organization owners and repository administrators can configure Dependabot to run on self-hosted runners.

Note

Zum Ausführen von Dependabot über GitHub Actions ist eine Aktivierung erforderlich. In zukünftigen Versionen von GitHub Enterprise Cloud wird die Möglichkeit der Aktivierung aufgehoben, und Dependabot wird immer über GitHub Actions ausgeführt. Weitere Informationen findest du unter Informationen zu Dependabot über GitHub Actions-Runner.

Informationen zu Dependabot über GitHub Actions selbst gehostete Runner

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.

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.

Wenn GitHub Actions für deine Organisation oder dein Repository nicht aktiviert ist, dann ist die Einstellung auf Organisations- oder Repository-Ebene zur Aktivierung von „Dependabot über GitHub Actions-Runner“ in der Web-Benutzeroberfläche nicht sichtbar.

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.

Wenn du eine Richtlinie durchsetzt, die nur unternehmensinterne Aktionen und wiederverwendbare Workflows zulässt, und Dependabot in GitHub Actions aktivierst, wird Dependabot nicht ausgeführt. Damit Dependabot mit Ihren unternehmensinternen Aktionen und wiederverwendbaren Workflows ausgeführt werden kann, sollten Sie entweder von GitHub erstellte Aktionen zulassen oder bestimmte Aktionen und wiederverwendbare Workflows zulassen. Weitere Informationen findest du unter Erzwingen von Richtlinien für GitHub Actions in deinem Unternehmen.

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.

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.

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

  1. Bereitstellen selbst gehosteter Runner auf Repository- oder Organisationsebene Weitere Informationen finden Sie unter Informationen zu selbstgehosteten Runnern und unter Selbst-gehostete Runner hinzufügen.

  2. 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:

  3. Weise jedem Runner eine dependabot-Bezeichnung zu, die Dependabot verwenden soll. Weitere Informationen findest du unter Verwenden von Bezeichnungen mit selbstgehosteten Runnern.

  4. 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 oder internes Repository verwalten.

  1. Navigiere auf GitHub.com zur Hauptseite des Repositorys.

  2. 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.

    Screenshot eines Repositoryheaders mit den Registerkarten. Die Registerkarte „Einstellungen“ ist dunkelorange umrandet.

  3. Klicke im Abschnitt „Sicherheit“ auf der Randleiste auf Codesicherheit und -analyse.

  4. 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

Du kannst die Einstellungsseite der Organisation für „Codesicherheit und Analyse“ verwenden, um Dependabot auf selbst gehosteten Runnern für alle vorhandenen privaten oder internen Repositorys in einer Organisation zu 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.

  1. Wählen Sie in der oberen rechten Ecke von GitHub Ihr Profilfoto aus, und klicken Sie dann auf Ihre Organisationen.
  2. Klicke neben der Organisation auf Einstellungen.
  3. Klicke im Abschnitt „Sicherheit“ auf der Randleiste auf Codesicherheit und -analyse.

Note

Wenn Ihre Organisation in den öffentlichen Beta für security configurations und global settings registriert ist, wird anstelle von "Codesicherheit und Analyse" ein Dropdownmenü "Codesicherheit" angezeigt. Wählen Sie Codesicherheit aus, und klicken Sie dann auf Konfigurationen. Informationen zu den nächsten Schritten zur Aktivierung von Dependabot auf selbst gehosteten Runnern und andere Sicherheitsfeatures im großen Stil mit security configurations findest du unter „Anwendung der von GitHub empfohlenen Sicherheitskonfiguration in Ihrer Organisation“.

  1. Wählen Sie unter „Codesicherheit“ „Globale Einstellungen“.
  2. 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.