Skip to main content

Verwalten des Zugriffs auf selbstgehostete Runner mithilfe von Gruppen

Du kannst mithilfe von Richtlinien den Zugriff auf selbstgehostete Runner beschränken, die einer Organisation oder einem Unternehmen hinzugefügt wurden.

Wer kann dieses Feature verwenden?

Enterprise accounts, organizations owned by enterprise accounts, and organizations using GitHub Team or GitHub Free plans can create and manage additional runner groups using self-hosted runners.

Users with the "Manage organization runners and runner groups" permission can manage runner groups at the organization level.

Informationen zu Runnergruppen

Um den Zugriff auf Runner auf der Organisationsebene und/oder Unternehmensebene zu steuern, können Unternehmens- und Organisationsbesitzer*innen Runnergruppen verwenden. Runnergruppen werden zum Sammeln von Runnersets und zum Erstellen einer Sicherheitsgrenze um diese verwendet.

Wenn du Zugriff auf eine Runnergruppe gewährst, kannst du die aufgelistete Runnergruppe in den Runnereinstellungen der Organisation anzeigen. Optional kannst du der Runnergruppe weitere präzise Zugriffsrichtlinien für Repositorys und Workflows zuweisen.

Neu erstellte Runner werden automatisch der Standardgruppe zugewiesen, sofern nichts anderes angegeben ist. Runner können immer nur Mitglied einer Gruppe sein. Du kannst Runner von einer Runnergruppe in eine andere verschieben. Weitere Informationen findest du unter Verschieben eines Runners in eine Gruppe.

Informationen zum Weiterleiten von Aufträgen an Runner in einer bestimmten Gruppe findest du unter Auswählen des Runners für einen Auftrag.

Erstellen einer selbstgehosteten Runnergruppe für eine Organisation

Warning

Es wird empfohlen, nur selbstgehostete Runner mit privaten Repositorys zu verwenden. Der Grund hierfür liegt darin, dass Forks deines öffentlichen Repositorys möglicherweise gefährlichen Code auf deinem selbstgehosteten Runnercomputer ausführen können, indem sie einen Pull Request erstellen, der den Code in einem Workflow ausführt.

Weitere Informationen findest du unter Informationen zu selbstgehosteten Runnern.

Note

Beim Erstellen einer Runnergruppe musst du eine Richtlinie auswählen, die definiert, welche Repositorys und Workflows Zugriff auf die Runnergruppe erhalten. Um zu ändern, welche Repositorys und Workflows auf die Runnergruppe zugreifen können, können Organisationsbesitzerinnen und Benutzerinnen mit der Berechtigung „Organisationsrunner und Runnergruppen verwalten“ eine Richtlinie für die Organisation festlegen. Weitere Informationen findest du unter Erzwingen von Richtlinien für GitHub Actions in deinem Unternehmen.

Alle Organisationen verfügen über eine einzige Standardrunnergruppe. Organisationsbesitzerinnen und Benutzerinnen mit der Berechtigung „Organisationsrunner und Runnergruppen verwalten“ können zusätzliche Gruppen auf Organisationsebene erstellen. Weitere Informationen zu benutzerdefinierten Organisationsrollen finden Sie unter „Informationen zu benutzerdefinierten Organisationsrollen“.

Wenn während des Registrierungsprozesses keine Gruppe angegeben wird, werden Runner automatisch zur Standardgruppe hinzugefügt. Du kannst den Runner später aus der Standardgruppe in eine beliebige Gruppe verschieben. Weitere Informationen findest du unter Verschieben eines Runners in eine Gruppe.

Weitere Informationen zum Erstellen einer Runnergruppe mit der REST-API findest du unter REST-API-Endpunkte für GitHub Actions.

  1. Navigieren Sie auf GitHub zur Hauptseite der Organisation.

  2. Klicke unter deinem Organisationsnamen auf die Option Einstellungen. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.

    Screenshot der Registerkarten im Profil einer Organisation. Die Registerkarte „Einstellungen“ ist dunkelorange umrandet.

  3. Klicke in der linken Randleiste auf Aktionen, und klicke dann auf Runnergruppen.

  4. Klicke im Abschnitt „Runnergruppen“ auf Neue Runnergruppe.

  5. Gib einen Namen für die Runnergruppe ein.

  6. Weise eine Richtlinie für den Repositoryzugriff zu.

    Sie können eine Runner-Gruppe so konfigurieren, dass sie für eine bestimmte Liste von Repositorys oder für alle Repositorys in der Organisation zugänglich ist. Standardmäßig können nur private Repositorys auf Runner in einer Runner-Gruppe zugreifen, aber Sie können dies außer Kraft setzen. Diese Einstellung kann nicht überschrieben werden, wenn Sie die von einem Unternehmen freigegebene Runnergruppe einer Organisation konfigurieren.

  7. Weise eine Richtlinie für den Workflow-Zugriff zu.

    Du kannst eine Runner-Gruppe so konfigurieren, dass auf eine bestimmte Liste von Workflows oder auf alle Workflows zugegriffen werden kann. Diese Einstellung kann nicht überschrieben werden, wenn du die von einem Unternehmen freigegebene Runner-Gruppe einer Organisation konfigurierst. Wenn du angibst, welcher Workflow auf die Runner-Gruppe zugreifen kann, musst du den vollständigen Pfad zum Workflow verwenden, einschließlich des Repository-Namens und des Besitzers, und du musst den Workflow an eine Verzweigung, ein Tag oder einen vollständigen SHA anheften. Beispiel: octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main.

    Zugriff auf die Runner-Gruppe erhalten nur Aufträge, die direkt innerhalb der ausgewählten Workflows definiert sind. Runnergruppen im Besitz einer Organisation haben keinen Zugriff auf Workflows einer anderen Organisation innerhalb des Unternehmens. Erstelle stattdessen eine Runnergruppe im Besitz des Unternehmens. 1. Klicke auf Gruppe erstellen, um die Gruppe zu erstellen und die Richtlinie anzuwenden.

Erstellen einer selbstgehosteten Runnergruppe für ein Unternehmen

Warning

Es wird empfohlen, nur selbstgehostete Runner mit privaten Repositorys zu verwenden. Der Grund hierfür liegt darin, dass Forks deines öffentlichen Repositorys möglicherweise gefährlichen Code auf deinem selbstgehosteten Runnercomputer ausführen können, indem sie einen Pull Request erstellen, der den Code in einem Workflow ausführt.

Weitere Informationen findest du unter Informationen zu selbstgehosteten Runnern.

Unternehmen können ihre Runner für die Zugriffsverwaltung zu Gruppen hinzufügen. Unternehmen können Gruppen mit Runnern erstellen, auf die bestimmte Organisationen innerhalb des Unternehmenskontos oder bestimmte Workflows zugreifen können. Organisationsbesitzer können anschließend den Runnergruppen im Unternehmen weitere präzise Zugriffsrichtlinien für Repositorys oder Workflows zuweisen. Weitere Informationen zum Erstellen einer Runnergruppe mit der REST-API findest du unter den Enterprise-Endpunkten in der GitHub Actions-REST-API.

Wenn während des Registrierungsprozesses keine Gruppe angegeben wird, werden Runner automatisch einer Standardgruppe hinzugefügt. Du kannst den Runner später aus der Standardgruppe in eine beliebige Gruppe verschieben. Weitere Informationen findest du unter Verschieben eines Runners in eine Gruppe.

Beim Erstellen einer Gruppe musst du eine Richtlinie auswählen, die definiert, welche Organisationen Zugriff auf die Runnergruppe erhalten.

  1. Klicke auf GitHub in der oberen rechten Ecke auf dein Profilfoto.

  2. Klicke je nach deiner Umgebung auf Dein Unternehmenoder auf Deine Unternehmen, und klicke dann auf das Unternehmen, das du anzeigen möchtest.

  3. Klicken Sie auf der linken Seite der Seite in der Randleiste des Enterprise-Kontos auf Richtlinien

  4. Klicke unter „ Richtlinien“ auf Actions.

  5. Klicke auf die Registerkarte Runnergruppen.

  6. Klicke auf Neue Runner-Gruppe.

  7. Gib unter „Gruppenname" einen Namen für deine Runner-Gruppe ein.

  8. Wenn du eine Richtlinie für den Organisationszugriff auswählen möchtest, wähle das Dropdownmenü Organisationszugriff aus, und klicke auf eine Richtlinie. Du kannst eine Runnergruppe so konfigurieren, dass nur eine bestimmte Liste von Organisationen oder alle Organisationen im Unternehmen darauf zugreifen können.

  9. Weise eine Richtlinie für den Workflow-Zugriff zu.

    Du kannst eine Runner-Gruppe so konfigurieren, dass auf eine bestimmte Liste von Workflows oder auf alle Workflows zugegriffen werden kann. Diese Einstellung kann nicht überschrieben werden, wenn du die von einem Unternehmen freigegebene Runner-Gruppe einer Organisation konfigurierst. Wenn du angibst, welcher Workflow auf die Runner-Gruppe zugreifen kann, musst du den vollständigen Pfad zum Workflow verwenden, einschließlich des Repository-Namens und des Besitzers, und du musst den Workflow an eine Verzweigung, ein Tag oder einen vollständigen SHA anheften. Beispiel: octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main.

    Zugriff auf die Runner-Gruppe erhalten nur Aufträge, die direkt innerhalb der ausgewählten Workflows definiert sind.

  10. Klicke auf Gruppe speichern, um die Gruppe zu erstellen und die Richtlinie anzuwenden.

Ändern der Organisationen, die auf eine Runnergruppe zugreifen können

Warning

Es wird empfohlen, nur selbstgehostete Runner mit privaten Repositorys zu verwenden. Der Grund hierfür liegt darin, dass Forks deines öffentlichen Repositorys möglicherweise gefährlichen Code auf deinem selbstgehosteten Runnercomputer ausführen können, indem sie einen Pull Request erstellen, der den Code in einem Workflow ausführt.

Weitere Informationen findest du unter Informationen zu selbstgehosteten Runnern.

Sie können für Runnergruppen in einem Unternehmen ändern, welche Organisationen im Unternehmen auf eine Runnergruppe zugreifen können.

  1. Klicke auf GitHub in der oberen rechten Ecke auf dein Profilfoto.

  2. Klicke je nach deiner Umgebung auf Dein Unternehmenoder auf Deine Unternehmen, und klicke dann auf das Unternehmen, das du anzeigen möchtest.

  3. Klicken Sie auf der linken Seite der Seite in der Randleiste des Enterprise-Kontos auf Richtlinien

  4. Klicke unter „ Richtlinien“ auf Actions.

  5. Klicke auf die Registerkarte Runnergruppen.

  6. Verwende unter „Organisationszugriff“ das Dropdownmenü, um auf Ausgewählte Organisationen zu klicken.

    1. Klicke rechts neben dem Dropdownmenü auf .
    2. Wähle mit den Kontrollkästchen im Popup Organisationen aus, die diese Runnergruppe verwenden können.
  7. Klicke auf Gruppe speichern.

Ändern der Repositorys, die auf eine Runnergruppe zugreifen können

Warning

Es wird empfohlen, nur selbstgehostete Runner mit privaten Repositorys zu verwenden. Der Grund hierfür liegt darin, dass Forks deines öffentlichen Repositorys möglicherweise gefährlichen Code auf deinem selbstgehosteten Runnercomputer ausführen können, indem sie einen Pull Request erstellen, der den Code in einem Workflow ausführt.

Weitere Informationen findest du unter Informationen zu selbstgehosteten Runnern.

Sie können für Runnergruppen in einer Organisation ändern, welche Repositorys in der Organisation auf eine Runnergruppe zugreifen können.

  1. Navigiere zur Hauptseite der Organisation, in der sich deine Runnergruppen befinden.

  2. Klicke auf Settings.

  3. Klicke in der linken Randleiste auf Aktionen, und klicke dann auf Runnergruppen.

  4. Klicke in der Liste der Gruppen auf die Runnergruppe, die du konfigurieren möchtest.

  5. Verwende unter „Repositoryzugriff“ das Dropdownmenü, um auf Ausgewählte Repositories zu klicken.

    1. Klicke rechts neben dem Dropdownmenü auf .
    2. Wähle mit den Kontrollkästchen im Popup die Repositorys aus, die auf diese Runnergruppe zugreifen können.
  6. Klicke auf Gruppe speichern.

Ändern der Workflows, die auf eine Runnergruppe zugreifen können

Warning

Es wird empfohlen, nur selbstgehostete Runner mit privaten Repositorys zu verwenden. Der Grund hierfür liegt darin, dass Forks deines öffentlichen Repositorys möglicherweise gefährlichen Code auf deinem selbstgehosteten Runnercomputer ausführen können, indem sie einen Pull Request erstellen, der den Code in einem Workflow ausführt.

Weitere Informationen findest du unter Informationen zu selbstgehosteten Runnern.

Du kannst eine Runnergruppe so konfigurieren, dass sie entweder ausgewählte Workflows oder alle Workflows ausführt. Mit dieser Einstellung kannst du z. B. die in einem Runner gespeicherten Geheimnisse schützen oder Bereitstellungsworkflows standardisieren, indem du eine Runnergruppe auf die Ausführung eines bestimmten wiederverwendbaren Workflows beschränkst. Diese Einstellung kann nicht überschrieben werden, wenn du die von einem Unternehmen freigegebene Runnergruppe einer Organisation konfigurierst.

Ändern der Workflows, die auf die Runnergruppe einer Organisation zugreifen können

  1. Navigiere zur Hauptseite der Organisation, in der sich deine Runnergruppen befinden.

  2. Klicke auf Settings.

  3. Klicke in der linken Randleiste auf Aktionen, und klicke dann auf Runnergruppen.

  4. Klicke in der Liste der Gruppen auf die Runnergruppe, die du konfigurieren möchtest.

  5. Wähle unter Workflowzugriff das Dropdownmenü aus, und klicke auf Ausgewählte Workflows.

  6. Klicke auf .

  7. Gib eine durch Kommas getrennte Liste der Workflows ein, die Zugriff auf die Runnergruppe erhalten. Verwende den vollständigen Pfad, einschließlich Name und Besitzer des Repositorys. Hefte den Workflow an einen Branch, Tag oder vollständigen SHA-Wert an. Beispiel: octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main.

    Zugriff auf die Runnergruppe erhalten nur Aufträge, die direkt innerhalb der ausgewählten Workflows definiert sind.

    Runnergruppen im Besitz einer Organisation können nicht auf Workflows einer anderen Organisation im Unternehmen zugreifen. Erstelle stattdessen eine Runnergruppe in Enterprise-Besitz.

  8. Klicke auf Speichern.

Ändern der Workflows, die auf die Runnergruppe eines Unternehmens zugreifen können

  1. Klicke auf GitHub in der oberen rechten Ecke auf dein Profilfoto.

  2. Klicke je nach deiner Umgebung auf Dein Unternehmenoder auf Deine Unternehmen, und klicke dann auf das Unternehmen, das du anzeigen möchtest.

  3. Klicken Sie auf der linken Seite der Seite in der Randleiste des Enterprise-Kontos auf Richtlinien

  4. Klicke unter „ Richtlinien“ auf Actions.

  5. Klicke auf die Registerkarte Runnergruppen.

  6. Klicke in der Liste der Gruppen auf die Runnergruppe, die du konfigurieren möchtest.

  7. Wähle unter Workflowzugriff das Dropdownmenü aus, und klicke auf Ausgewählte Workflows.

  8. Klicke auf .

  9. Gib eine durch Kommas getrennte Liste der Workflows ein, die Zugriff auf die Runnergruppe erhalten. Verwende den vollständigen Pfad, einschließlich Name und Besitzer des Repositorys. Hefte den Workflow an einen Branch, Tag oder vollständigen SHA-Wert an. Beispiel: octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main.

    Zugriff auf die Runnergruppe erhalten nur Aufträge, die direkt innerhalb der ausgewählten Workflows definiert sind.

    Runnergruppen im Besitz einer Organisation können nicht auf Workflows einer anderen Organisation im Unternehmen zugreifen. Erstelle stattdessen eine Runnergruppe in Enterprise-Besitz.

  10. Klicke auf Speichern.

Ändern des Namens einer Runnergruppe

Du kannst den Namen deiner Runnergruppen auf Unternehmens- und Organisationsebene bearbeiten.

Ändern des Namens der Runnergruppe einer Organisation

  1. Navigiere zur Hauptseite der Organisation, in der sich deine Runnergruppen befinden.
  2. Klicke auf Settings.
  3. Klicke in der linken Randleiste auf Aktionen, und klicke dann auf Runnergruppen.
  4. Klicke in der Liste der Gruppen auf die Runnergruppe, die du konfigurieren möchtest.
  5. Gib den Namen der neuen Runnergruppe in das Textfeld unter „Gruppenname“ ein.
  6. Klicke auf Speichern.

Ändern des Namens der Runnergruppe eines Unternehmens

  1. Klicke auf GitHub in der oberen rechten Ecke auf dein Profilfoto.
  2. Klicke je nach deiner Umgebung auf Dein Unternehmenoder auf Deine Unternehmen, und klicke dann auf das Unternehmen, das du anzeigen möchtest.
  3. Klicken Sie auf der linken Seite der Seite in der Randleiste des Enterprise-Kontos auf Richtlinien
  4. Klicke unter „ Richtlinien“ auf Actions.
  5. Klicke auf die Registerkarte Runnergruppen.
  6. Klicke in der Liste der Gruppen auf die Runnergruppe, die du konfigurieren möchtest.
  7. Gib den Namen der neuen Runnergruppe in das Textfeld unter „Gruppenname“ ein.
  8. Klicke auf Speichern.

Automatisches Hinzufügen eines selbstgehosteten Runners zu einer Gruppe

Mithilfe des Konfigurationsskripts kannst du einen neuen Runner automatisch einer Gruppe hinzufügen. Mit diesem Befehl wird z. B. ein neuer Runner registriert und mithilfe des Parameters --runnergroup einer Gruppe mit dem Namen rg-runnergroup hinzugefügt.

./config.sh --url $org_or_enterprise_url --token $token --runnergroup rg-runnergroup

Der Befehl kann nicht ausgeführt werden, wenn die Runnergruppe nicht vorhanden ist:

Could not find any self-hosted runner group named "rg-runnergroup".

Verschieben eines selbstgehosteten Runners in eine Gruppe

Wenn du bei der Registrierung keine Runnergruppe angibst, werden deine neuen Runner automatisch der Standardgruppe zugewiesen und können dann in eine andere Gruppe verschoben werden.

Verschieben eines Organisationsrunners in eine Gruppe

  1. Navigieren Sie auf GitHub zur Hauptseite der Organisation.

  2. Klicke unter deinem Organisationsnamen auf die Option Einstellungen. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.

    Screenshot der Registerkarten im Profil einer Organisation. Die Registerkarte „Einstellungen“ ist dunkelorange umrandet.

  3. Klicke in der linken Seitenleiste auf Aktionen und dann auf Runner.

  4. Klicke in der Liste „Runner“ auf den Runner, den du konfigurieren möchtest.

  5. Wähle die Dropdownliste Runnergruppe aus.

  6. Wähle unter „Runner in Gruppe verschieben“ eine Zielgruppe für den Runner aus.

Verschieben eines Unternehmensrunners in eine Gruppe

  1. Klicke auf GitHub in der oberen rechten Ecke auf dein Profilfoto.
  2. Klicke je nach deiner Umgebung auf Dein Unternehmenoder auf Deine Unternehmen, und klicke dann auf das Unternehmen, das du anzeigen möchtest.
  3. Klicken Sie auf der linken Seite der Seite in der Randleiste des Enterprise-Kontos auf Richtlinien
  4. Klicke unter „ Richtlinien“ auf Actions.
  5. Klicke auf die Registerkarte Runner.
  6. Klicke in der Liste „Runner“ auf den Runner, den du konfigurieren möchtest.
  7. Wähle die Dropdownliste Runnergruppe aus.
  8. Wähle unter „Runner in Gruppe verschieben“ eine Zielgruppe für den Runner aus.

Entfernen einer selbstgehosteten Runnergruppe

Um eine Runnergruppe zu entfernen, musst du zuerst alle Runner aus der Gruppe verschieben oder entfernen.

  1. Navigiere zur Hauptseite der Organisation, in der sich deine Runnergruppen befinden.
  2. Klicke auf Settings.
  3. Klicke in der linken Randleiste auf Aktionen, und klicke dann auf Runnergruppen.
  4. Klicke in der Liste der Gruppen rechts neben der Gruppe, die du löschen möchtest, auf .
  5. Klicke auf Gruppe entfernen, um die Gruppe zu entfernen.
  6. Überprüfe die Bestätigungsaufforderungen, und klicke auf Diese Runnergruppe entfernen.

Entfernen einer Runnergruppe aus einem Unternehmen

  1. Klicke auf GitHub in der oberen rechten Ecke auf dein Profilfoto.
  2. Klicke je nach deiner Umgebung auf Dein Unternehmenoder auf Deine Unternehmen, und klicke dann auf das Unternehmen, das du anzeigen möchtest.
  3. Klicken Sie auf der linken Seite der Seite in der Randleiste des Enterprise-Kontos auf Richtlinien
  4. Klicke unter „ Richtlinien“ auf Actions.
  5. Klicke auf die Registerkarte Runnergruppen.
  6. Klicke in der Liste der Gruppen rechts neben der Gruppe, die du löschen möchtest, auf .
  7. Klicke auf Gruppe entfernen, um die Gruppe zu entfernen.
  8. Überprüfe die Bestätigungsaufforderungen, und klicke auf Diese Runnergruppe entfernen.

Verwenden eindeutiger Namen für Runnergruppen

GitHub Actions setzt voraus, dass Runnergruppennamen auf Organisationsebene eindeutig sein müssen. Das bedeutet, dass eine Organisation nicht mehr in der Lage ist, eine Runnergruppe mit demselben Namen wie eine im Unternehmen zu erstellen. Darüber hinaus wird Benutzern ein Warnbanner für alle Runnergruppen angezeigt, die denselben Namen wie eine Gruppe im Unternehmen haben. Die Warnung enthält die Aufforderung, die Organisationsgruppe umzubenennen.

Um Mehrdeutigkeiten zu vermeiden, schlägt ein Workflow fehl, wenn doppelte Runnergruppen in der Organisation und im Unternehmen vorhanden sind. Um dies zu beheben, kannst du entweder eine deiner Runnergruppen in der Organisation oder im Unternehmen umbenennen oder deine Workflowdatei aktualisieren, um dem Namen der Runnergruppe ein Präfix hinzuzufügen:

  • org/ oder organization/
  • ent/ oder enterprise/

Beispiel: Verwenden von Präfixen zum Unterscheiden von Runnergruppen

Wenn du beispielsweise eine Runnergruppe mit dem Namen my-group in der Organisation und eine andere Gruppe mit dem Namen my-group im Unternehmen hast, kannst du deine Workflowdatei aktualisieren, sodass org/my-group oder ent/my-group verwendet wird, um zwischen den beiden Gruppen zu unterscheiden.

Verwenden von org/:

runs-on:
  group: org/my-group
  labels: [ self-hosted, label-1 ]

Verwenden von ent/:

runs-on:
  group: ent/my-group
  labels: [ self-hosted, label-1 ]