Skip to main content

Controlling access to larger runners

You can use policies to limit access to größerer Runners that have been added to an organization or enterprise.

Wer kann dieses Feature verwenden?

Größerer Runner sind nur für Organisationen und Unternehmen verfügbar, die GitHub Team- oder GitHub Enterprise Cloud-Tarife nutzen.

About runner groups

Um den Zugriff auf Runner auf der Organisationsebene und/oder Unternehmensebene zu steuern, können Unternehmens- und Organisationseigentümer*innen Runnergruppen verwenden.

Runnergruppen werden verwendet, um Gruppen von Runnern zusammenzufassen und eine Sicherheitsabgrenzung um sie herum schaffen. Anschließend kannst du entscheiden, welche Organisationen oder Repositorys Aufträge auf diesen Computergruppen ausführen dürfen.Unternehmensadministrator*innen können Zugriffsrichtlinien konfigurieren, die steuern, welche Organisationen und Workflows in einem Unternehmen Zugriff auf die Runnergruppe haben.

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.

Managing access to your runners

Note: Before your workflows can send jobs to größerer Runners, you must first configure permissions for the runner group. See the following sections for more information.

Runner groups are used to control which repositories can run jobs on your größerer Runners. You must manage access to the group from each level of the management hierarchy, depending on where you've defined the größerer Runner:

  • Runners at the enterprise level: Standardmäßig haben Repositorys in einer Organisation keinen Zugriff auf Runnergruppen auf Unternehmensebene. Um Repositorys Zugriff auf Unternehmensrunnergruppen zu gewähren, müssen Organisationseigentümer*innen jede Unternehmensrunnergruppe konfigurieren und auswählen, welche Repositorys Zugriff haben.
  • Runners at the organization level: Standardmäßig erhalten alle Repositorys in einer Organisation Zugriff auf Runnergruppen auf Organisationsebene. Um einzuschränken, welche Repositorys Zugriff haben, müssen Organisationseigentümer*innen Organisationsrunnergruppen konfigurieren und auswählen, welche Repositorys Zugriff haben.

For example, the following diagram has a runner group named grp-ubuntu-20.04-16core at the enterprise level. Before the repository named octo-repo can use the runners in the group, you must first configure the group at the enterprise level to allow access to the octo-org organization. You must then configure the group at the organization level to allow access to octo-repo.

Diagram that shows a lock between a runner group at the enterprise level and an organization, and between the organization and two repositories owned by the organization.

Creating a runner group for an organization

Warnung: Wenn du einen festen IP-Adressbereich verwendest, empfiehlt es sich, nur größerer Runner mit privaten Repositorys zu verwenden. Forks deines Repositorys können potenziell gefährlichen Code in deinem größerer Runner ausführen, indem sie einen Pull Request erstellen, der den Code in einem Workflow ausführt.

Alle Organisationen verfügen über eine einzige Standardrunnergruppe. Organisationen innerhalb eines Unternehmenskontos können zusätzliche Gruppen erstellen. Organisationsadministratoren können einzelnen Repositorys Zugriff auf eine Runnergruppe gewähren. Weitere Informationen zum Erstellen einer Runnergruppe mit der REST-API findest du unter Aktionen.

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 Repositorys und Workflows Zugriff auf die Runnergruppe erhalten.

  1. Navigiere auf GitHub.com 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: Horizontale Navigationsleiste für eine 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.

    Du kannst eine Runnergruppe so konfigurieren, dass nur eine bestimmte Liste von Repositorys oder alle Repositorys in der Organisation darauf zugreifen können. Standardmäßig können nur private Repositorys auf Runner in einer Runnergruppe zugreifen. Diese Einstellung kannst du bei Bedarf überschreiben. Diese Einstellung kann nicht überschrieben werden, wenn du die von einem Unternehmen freigegebene Runnergruppe einer Organisation konfigurierst.

  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.

Creating a runner group for an enterprise

Warnung: Wenn du einen festen IP-Adressbereich verwendest, empfiehlt es sich, nur größerer Runner mit privaten Repositorys zu verwenden. Forks deines Repositorys können potenziell gefährlichen Code in deinem größerer Runner ausführen, indem sie einen Pull Request erstellen, der den Code in einem Workflow ausführt.

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 in der oberen rechten Ecke von GitHub.com auf dein Profilfoto und dann auf Deine Unternehmen.

  2. Klicke in der Liste der Unternehmen auf das Unternehmen, das du anzeigen möchtest.

  3. Wähle auf der Randleiste des Unternehmenskontos die Option Richtlinien aus.

  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.

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 ]

Changing which organizations can access a runner group

Warnung: Wenn du einen festen IP-Adressbereich verwendest, empfiehlt es sich, nur größerer Runner mit privaten Repositorys zu verwenden. Forks deines Repositorys können potenziell gefährlichen Code in deinem größerer Runner ausführen, indem sie einen Pull Request erstellen, der den Code in einem Workflow ausführt.

For runner groups in an enterprise, you can change what organizations in the enterprise can access a runner group.

  1. Klicke in der oberen rechten Ecke von GitHub.com auf dein Profilfoto und dann auf Deine Unternehmen.

  2. Klicke in der Liste der Unternehmen auf das Unternehmen, das du anzeigen möchtest.

  3. Wähle auf der Randleiste des Unternehmenskontos die Option Richtlinien aus.

  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.

Changing which repositories can access a runner group

Warnung: Wenn du einen festen IP-Adressbereich verwendest, empfiehlt es sich, nur größerer Runner mit privaten Repositorys zu verwenden. Forks deines Repositorys können potenziell gefährlichen Code in deinem größerer Runner ausführen, indem sie einen Pull Request erstellen, der den Code in einem Workflow ausführt.

For runner groups in an organization, you can change what repositories in the organization can access a runner group.

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

  2. Klicke auf -Einstellungen.

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

Changing which workflows can access a runner group

Warnung: Wenn du einen festen IP-Adressbereich verwendest, empfiehlt es sich, nur größerer Runner mit privaten Repositorys zu verwenden. Forks deines Repositorys können potenziell gefährlichen Code in deinem größerer Runner ausführen, indem sie einen Pull Request erstellen, der den Code in einem Workflow ausführt.

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.

Configuring private network access for larger runners

Wenn du Azure GitHub Enterprise Cloud verwendest, kannst du von GitHub gehostete Runner in deinen Azure Virtual Networks (VNETs) erstellen. So kannst du die Vorteile der von GitHub verwalteten Infrastruktur für deinen CI/CD-Prozess nutzen und hast gleichzeitig vollständige Kontrolle über die Netzwerkrichtlinien deiner Runner. Weitere Informationen zu Azure-VNET findest du in der Azure-Dokumentation unter Was ist Azure Virtual Network?.

If you have configured your enterprise to connect to an Azure VNET, you can give runner groups access to the virtual network. For more information, see "Connecting to a private network with GitHub-hosted runners."

Changing which workflows can access an organization runner group

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

  2. Klicke auf -Einstellungen.

  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.

Changing which workflows can access an enterprise runner group

  1. Klicke in der oberen rechten Ecke von GitHub.com auf dein Profilfoto und dann auf Deine Unternehmen.

  2. Klicke in der Liste der Unternehmen auf das Unternehmen, das du anzeigen möchtest.

  3. Wähle auf der Randleiste des Unternehmenskontos die Option Richtlinien aus.

  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.

Changing the name of a runner group

You can rename runner groups at the enterprise and organization levels.

Changing the name of an organization runner group

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

  2. Klicke auf -Einstellungen.

  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.

Changing the name of an enterprise runner group

  1. Klicke in der oberen rechten Ecke von GitHub.com auf dein Profilfoto und dann auf Deine Unternehmen.

  2. Klicke in der Liste der Unternehmen auf das Unternehmen, das du anzeigen möchtest.

  3. Wähle auf der Randleiste des Unternehmenskontos die Option Richtlinien aus.

  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.

Moving a runner to a group

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.

Moving an organization runner to a group

  1. Navigiere auf GitHub.com 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: Horizontale Navigationsleiste für eine 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.

Moving an enterprise runner to a group

  1. Klicke in der oberen rechten Ecke von GitHub.com auf dein Profilfoto und dann auf Deine Unternehmen.

  2. Klicke in der Liste der Unternehmen auf das Unternehmen, das du anzeigen möchtest.

  3. Wähle auf der Randleiste des Unternehmenskontos die Option Richtlinien aus.

  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.

Removing a runner group

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

Removing a runner group from an organization

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

  2. Klicke auf -Einstellungen.

  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.

Removing a runner group from an enterprise

  1. Klicke in der oberen rechten Ecke von GitHub.com auf dein Profilfoto und dann auf Deine Unternehmen.

  2. Klicke in der Liste der Unternehmen auf das Unternehmen, das du anzeigen möchtest.

  3. Wähle auf der Randleiste des Unternehmenskontos die Option Richtlinien aus.

  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.