Skip to main content

Controlling access to larger runners

You can use policies to limit access to より大きなランナーs that have been added to an organization or enterprise.

より大きなランナー 機能は、GitHub Team または GitHub Enterprise Cloud プランを使用している Organization やエンタープライズでは現在ベータ版で、これは今後変わる可能性があります。 ベータ版の使用を求める場合には、サインアップ ページにアクセスします。

About runner groups

ランナー グループは、Organization レベルと Enterprise レベルのランナーへのアクセスを制御するために使用されます。 Enterprise の所有者はアクセス ポリシーを設定して、Enterprise 内のどの Organization とワークフローがランナー グループにアクセスできるかを制御できます。 Organization の所有者はアクセス ポリシーを設定して、Organization 内のどのリポジトリとワークフローがランナー グループにアクセスできるかを制御できます。

Enterprise の所有者がランナー グループにアクセス権を付与する場合、Organization の所有者には、Organization のランナー設定に一覧表示されているランナー グループが表示されます。 その後、Organization の所有者は、リポジトリとワークフローの詳細な追加アクセス ポリシーを、Enterprise ランナー グループに割り当てることができます。

新しいランナーが作成されると、それらは自動的にデフォルトグループに割り当てられます。 ランナーは一度に1つのグループにのみ参加できます。 ランナーはデフォルトグループから別のグループに移動できます。 詳しくは、「ランナーをグループに移動する」をご覧ください。

Default group for より大きなランナーs

Organizations and enterprises with access to より大きなランナーs will automatically receive a default runner group called "Default Larger Runners" that includes 4 runners of varying sizes. The runners in this group are pre-configured and ready for immediate use. In order to use the runners in this group, you will need to add the label corresponding to the runner of your choice to your workflow file. See the table below for labels. For more information on how to use labels, see "Running jobs on your runner."

Default Runners

DescriptionLabelImage
4-cores Ubuntu Runnerubuntu-latest-4-coresUbuntu - Latest
8-cores Ubuntu Runnerubuntu-latest-8-coresUbuntu - Latest
16-cores Ubuntu Runnerubuntu-latest-16-coresUbuntu - Latest
8-cores Windows Runnerwindows-latest-8-coresWindows Server - Latest

The default より大きなランナー group is created at the billing entity level. If your organization is part of an enterprise account, the group will be managed on the enterprise level. If your organization does not fall under an enterprise, the group is managed on the organization level.

You will not be billed for these runners until you use them in your workflows. Once these runners are used, billing works as it normally does. For more information on billing, see "Using より大きなランナーs."

The default access for a より大きなランナー group at the enterprise level is set to automatically share with all organizations in the enterprise, but not all repositories. Organization admins will need to share the default より大きなランナー group with each repository separately. For より大きなランナー groups at the organization level, the default access is set to automatically share the group with all repositories. For more information on how to change access policies, and where to view the default より大きなランナー group, see "Changing the access policy of a runner group."

Creating a runner group for an organization

警告: If you are using a Fixed IP range, we recommend that you only use より大きなランナーs with private repositories. Forks of your repository can potentially run dangerous code on your より大きなランナー by creating a pull request that executes the code in a workflow.

All organizations have a single default runner group. Organizations within an enterprise account can create additional groups. Organization admins can allow individual repositories access to a runner group. For information about how to create a runner group with the REST API, see "Self-hosted runner groups."

Runners are automatically assigned to the default group when created, and can only be members of one group at a time. You can move a runner from the default group to any group you create.

When creating a group, you must choose a policy that defines which repositories and workflows have access to the runner group.

  1. On GitHub.com, navigate to the main page of the organization.

  2. Organization 名の下で、 [設定] をクリックします。 Organization の設定ボタン

  3. In the left sidebar, click Actions, then click Runner groups.

  4. In the "Runner groups" section, click New runner group.

  5. Enter a name for your runner group.

  6. リポジトリ アクセスのポリシーを割り当てます。

    リポジトリの特定のリストまたは組織内のすべてのリポジトリにアクセス可能なランナー グループを設定できます。既定では、プライベート リポジトリのみがランナー グループ内のランナーにアクセスできますが、これをオーバーライドできます。 エンタープライズによって共有された組織のランナー グループを構成する場合、この設定をオーバーライドすることはできません。

  7. ワークフロー アクセス用のポリシーを割り当てます。

    特定のワークフローの一覧またはすべてのワークフローからアクセスできるようにランナー グループを構成できます。 エンタープライズによって共有された組織のランナー グループを構成している場合、この設定をオーバーライドできません。 ランナー グループにアクセスできるワークフローを指定する場合は、リポジトリ名と所有者を含むワークフローへの完全なパスを使用し、ワークフローをブランチ、タグ、または完全 SHA にピン留めする必要があります。 (例: 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)。

    選択したワークフロー内で直接定義されたジョブのみがランナー グループにアクセスできます。 Organization-owned runner groups cannot access workflows from a different organization in the enterprise; instead, you must create an enterprise-owned runner group.

  8. Click Create group to create the group and apply the policy.

Creating a runner group for an enterprise

警告: If you are using a Fixed IP range, we recommend that you only use より大きなランナーs with private repositories. Forks of your repository can potentially run dangerous code on your より大きなランナー by creating a pull request that executes the code in a workflow.

Enterprise を使うと、ランナーがグループに追加されて、アクセス管理を行うことができます。 Enterprise は、Enterprises アカウント内の特定の Organization 、または特定のワークフローにアクセス可能なランナーのグループを作成できます。 その後、Organization の所有者は、Enterprise ランナー グループに対し、追加の詳細なリポジトリまたはワークフロー アクセス ポリシーを割り当てることができます。 REST API を使ってランナー グループを作成する方法については、GitHub Actions REST API の Enterprise エンドポイントをご覧ください。

ランナーは、作成時に既定のグループに自動的に割り当てられます。一度に 1 つのグループでのみメンバーになることができます。 登録処理中にランナーを特定のグループに割り当てることも、後でランナーをデフォルトグループからカスタムグループに移動することもできます。

グループを作成するときは、ランナーグループにアクセスできる Organization を定義するポリシーを選択する必要があります。

  1. GitHub.com の右上の自分のプロファイル写真をクリックし、 [自分の Enterprise] をクリックします。 GitHub Enterprise Cloud のプロファイル写真のドロップダウン メニューの [自分の Enterprise]

  2. Enterpriseのリストで、表示したいEnterpriseをクリックしてください。 自分の Enterprise のリストの Enterprise の名前

  3. Enterprise サイドバーで、 [ポリシー] をクリックします。 [Enterprise アカウント] サイドバーの [ポリシー] タブ

  4. [ ポリシー] で、 [アクション] をクリックします。

  5. [ランナー グループ] タブをクリックします。

  6. Click New runner group.

  7. Under "Group name", type a name for your runner group.

  8. 組織アクセスのポリシーを選択するには、 [組織のアクセス] ドロップダウンを選択し、[ポリシー] をクリックします。 組織の特定のリストまたはエンタープライズ内のすべての組織にアクセス可能なランナー グループを設定できます。

    ランナー グループ オプションを追加する

  9. ワークフロー アクセス用のポリシーを割り当てます。

    特定のワークフローの一覧またはすべてのワークフローからアクセスできるようにランナー グループを構成できます。 エンタープライズによって共有された組織のランナー グループを構成している場合、この設定をオーバーライドできません。 ランナー グループにアクセスできるワークフローを指定する場合は、リポジトリ名と所有者を含むワークフローへの完全なパスを使用し、ワークフローをブランチ、タグ、または完全 SHA にピン留めする必要があります。 (例: 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)。

    選択したワークフロー内で直接定義されたジョブのみがランナー グループにアクセスできます。

  10. [グループの保存] をクリックしてグループを作成し、ポリシーを適用します。

ランナー グループに一意の名前を使用する

GitHub Actions では、ランナー グループ名が Organization レベルで一意である必要があります。 つまり、Organization は、Enterprise 内のランナー グループと同じ名前を持つものを作成できなくなります。 さらに、ユーザーには、Enterprise 内のグループと同じ名前を共有するすべてのランナー グループに、Organization グループの名前を変更することを提案する警告バナーが表示されます。

あいまいさを回避するために、Organization と Enterprise に重複するランナー グループがある場合、ワークフローは失敗します。 これに対処するには、Organization 内または Enterprise のいずれかのランナー グループの名前を変更するか、ワークフロー ファイルを更新してランナー グループ名にプレフィックスを追加します。

  • org/ または organization/
  • ent/ または enterprise/

例: プレフィックスを使用してランナー グループを区別する

たとえば、Organization 内に my-group という名前のランナー グループがあり、Enterprise 内に my-group という名前のランナー グループがある場合は、ワークフロー ファイルを更新して、org/my-group または ent/my-group を使用して 2 つを区別できます。

org/の使用

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

ent/の使用

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

Changing the access policy of a runner group

警告: If you are using a Fixed IP range, we recommend that you only use より大きなランナーs with private repositories. Forks of your repository can potentially run dangerous code on your より大きなランナー by creating a pull request that executes the code in a workflow.

For runner groups in an enterprise, you can change what organizations in the enterprise can access a runner group or restrict what workflows a runner group can run. For runner groups in an organization, you can change what repositories in the organization can access a runner group or restrict what workflows a runner group can run.

Changing what organizations or repositories can access a runner group

  1. ランナー グループが配置されている場所に移動します。

    • Organization 内: メイン ページに移動して、 [設定] をクリックします。

    • Enterprise レベルのグループを使用している場合:

      1. GitHub.com の右上の自分のプロファイル写真をクリックし、 [自分の Enterprise] をクリックします。 GitHub Enterprise Cloud のプロファイル写真のドロップダウン メニューの [自分の Enterprise]

      2. Enterpriseのリストで、表示したいEnterpriseをクリックしてください。 自分の Enterprise のリストの Enterprise の名前

  2. [ランナー グループ] 設定に移動します:

    • Organization 内:

      1. In the left sidebar, click Actions, then click Runner groups.
    • Enterprise レベルのグループを使用している場合:

      1. Enterprise サイドバーで、 [ポリシー] をクリックします。 [Enterprise アカウント] サイドバーの [ポリシー] タブ 1. [ ポリシー] で、 [アクション] をクリックします。 1. [ランナー グループ] タブをクリックします。
  3. グループのリストで、構成するランナー グループをクリックします。

  4. For runner groups in an enterprise, under Organization access, modify what organizations can access the runner group. For runner groups in an organization, under Repository access, modify what repositories can access the runner group.

Changing what workflows can access a runner group

You can configure a runner group to run either selected workflows or all workflows. For example, you might use this setting to protect secrets that are stored on runners or to standardize deployment workflows by restricting a runner group to run only a specific reusable workflow. This setting cannot be overridden if you are configuring an organization's runner group that was shared by an enterprise.

  1. ランナー グループが配置されている場所に移動します。

    • Organization 内: メイン ページに移動して、 [設定] をクリックします。

    • Enterprise レベルのグループを使用している場合:

      1. GitHub.com の右上の自分のプロファイル写真をクリックし、 [自分の Enterprise] をクリックします。 GitHub Enterprise Cloud のプロファイル写真のドロップダウン メニューの [自分の Enterprise]

      2. Enterpriseのリストで、表示したいEnterpriseをクリックしてください。 自分の Enterprise のリストの Enterprise の名前

  2. [ランナー グループ] 設定に移動します:

    • Organization 内:

      1. In the left sidebar, click Actions, then click Runner groups.
    • Enterprise レベルのグループを使用している場合:

      1. Enterprise サイドバーで、 [ポリシー] をクリックします。 [Enterprise アカウント] サイドバーの [ポリシー] タブ 1. [ ポリシー] で、 [アクション] をクリックします。 1. [ランナー グループ] タブをクリックします。
  3. グループのリストで、構成するランナー グループをクリックします。

  4. Under Workflow access, select the dropdown menu and click Selected workflows.

  5. Click .

  6. Enter a comma separated list of the workflows that can access the runner group. Use the full path, including the repository name and owner. Pin the workflow to a branch, tag, or full SHA. For example: 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.

    Only jobs directly defined within the selected workflows will have access to the runner group.

    Organization-owned runner groups cannot access workflows from a different organization in the enterprise; instead, you must create an enterprise-owned runner group.

  7. Click Save.

Changing the name of a runner group

  1. ランナー グループが配置されている場所に移動します。

    • Organization 内: メイン ページに移動して、 [設定] をクリックします。

    • Enterprise レベルのグループを使用している場合:

      1. GitHub.com の右上の自分のプロファイル写真をクリックし、 [自分の Enterprise] をクリックします。 GitHub Enterprise Cloud のプロファイル写真のドロップダウン メニューの [自分の Enterprise]

      2. Enterpriseのリストで、表示したいEnterpriseをクリックしてください。 自分の Enterprise のリストの Enterprise の名前

  2. [ランナー グループ] 設定に移動します:

    • Organization 内:

      1. In the left sidebar, click Actions, then click Runner groups.
    • Enterprise レベルのグループを使用している場合:

      1. Enterprise サイドバーで、 [ポリシー] をクリックします。 [Enterprise アカウント] サイドバーの [ポリシー] タブ 1. [ ポリシー] で、 [アクション] をクリックします。 1. [ランナー グループ] タブをクリックします。
  3. グループのリストで、構成するランナー グループをクリックします。

  4. Change the runner group name.

Moving a runner to a group

If you don't specify a runner group during the registration process, your new runners are automatically assigned to the default group, and can then be moved to another group.

  1. ランナーが登録されている場所に移動します。

    • Organization 内: メイン ページに移動して、 [設定] をクリックします。

    • Enterprise レベルのランナーを使用している場合:

      1. GitHub.com の右上の自分のプロファイル写真をクリックし、 [自分の Enterprise] をクリックします。 GitHub Enterprise Cloud のプロファイル写真のドロップダウン メニューの [自分の Enterprise]

      2. Enterpriseのリストで、表示したいEnterpriseをクリックしてください。 自分の Enterprise のリストの Enterprise の名前

  2. GitHub Actions設定にアクセスしてください:

    • Organization 内:

      1. In the left sidebar, click Actions, then click Runners.
    • Enterprise レベルのランナーを使用している場合:

      1. Enterprise サイドバーで、 [ポリシー] をクリックします。 [Enterprise アカウント] サイドバーの [ポリシー] タブ 1. [ ポリシー] で、 [アクション] をクリックします。 1. [Runners](ランナー) タブをクリックします。
  3. In the "Runners" list, click the runner that you want to configure.

  4. Select the Runner group drop-down.

  5. In "Move runner to group", choose a destination group for the runner.

Removing a runner group

ランナーは、そのグループが削除されると自動的に既定のグループに戻ります。

  1. ランナー グループが配置されている場所に移動します。

    • Organization 内: メイン ページに移動して、 [設定] をクリックします。

    • Enterprise レベルのグループを使用している場合:

      1. GitHub.com の右上の自分のプロファイル写真をクリックし、 [自分の Enterprise] をクリックします。 GitHub Enterprise Cloud のプロファイル写真のドロップダウン メニューの [自分の Enterprise]

      2. Enterpriseのリストで、表示したいEnterpriseをクリックしてください。 自分の Enterprise のリストの Enterprise の名前

  2. [ランナー グループ] 設定に移動します:

    • Organization 内:

      1. In the left sidebar, click Actions, then click Runner groups.
    • Enterprise レベルのグループを使用している場合:

      1. Enterprise サイドバーで、 [ポリシー] をクリックします。 [Enterprise アカウント] サイドバーの [ポリシー] タブ 1. [ ポリシー] で、 [アクション] をクリックします。 1. [ランナー グループ] タブをクリックします。
  3. グループの一覧で、削除するグループの右側にある をクリックします。

  4. グループを削除するには、 [グループの削除] をクリックします。

  5. 確認プロンプトを確認し、 [Remove this runner group](このランナー グループの削除) をクリックします。 このグループのすべてのランナーは、既定のグループに自動的に移動します。ここでは、このグループに割り当てられたアクセス許可を継承します。