Skip to main content
ドキュメントへの更新が頻繁に発行されており、このページの翻訳はまだ行われている場合があります。 最新の情報については、「英語のドキュメント」を参照してください。

グループを使用してセルフホストランナーへのアクセスを管理する

ポリシーを使用して、組織またはエンタープライズに追加されたセルフホスト ランナーへのアクセスを制限できます。

この機能を使用できるユーザー

Enterprise accounts, organizations owned by enterprise accounts, and organizations using GitHub Team can create and manage additional runner groups.

注: GitHub ホステッド ランナーは、現在 GitHub Enterprise Server でサポートされていません。 GitHub public roadmap で、今後の計画的なサポートの詳細を確認できます。

ランナー グループについて

ランナーへのアクセスを組織やエンタープライズ レベルで制御するために、エンタープライズの管理者はランナー グループを使用できます。エンタープライズの管理者は、エンタープライズ内のどの組織やワークフローがランナー グループにアクセスできるかを制御するアクセス ポリシーを構成できます。

ランナー グループにアクセス権を付与する場合、組織のランナー設定に一覧表示されたランナー グループを確認できます。 必要に応じて、リポジトリとワークフローの詳細な追加アクセス ポリシーを、ランナー グループに割り当てることができます。

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

Organization のセルフホストランナーグループを作成する

警告: セルフホストランナーは、プライベートリポジトリでのみ利用することをおすすめします。 これは、ワークフロー内でコードを実行する pull request を作成することで、パブリック リポジトリのフォークによって、セルフホステッド ランナー マシン上で危険なコードが実行される可能性があるからです。

詳しくは、「セルフホステッド ランナーの概要」を参照してください。

すべての Organization には、単一の既定のランナー グループがあります。 Enterprise アカウント内の Organization は、追加のグループを作成できます。 Organization の管理者は、個々のリポジトリにランナーグループへのアクセスを許可できます。 REST API を使ってランナー グループを作成する方法について詳しくは、「アクション」をご覧ください。

ランナーは、作成時に既定のグループに自動的に割り当てられます。一度に 1 つのグループでのみメンバーになることができます。 ランナーはデフォルトグループから作成した任意のグループに移動できます。

グループを作成するときは、ランナー グループにアクセスできるリポジトリとワークフローが定義されているポリシーを選ぶ必要があります。

  1. お使いの GitHub Enterprise Server インスタンス で、Organization のメイン ページへ移動します。 1. 組織名の下で、 [設定] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    組織の水平ナビゲーション バーのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で囲まれています。 1. 左側のサイド バーで、 [アクション][ランナー グループ] の順にクリックします。

  2. "ランナー グループ" セクションで、 [新しいランナー グループ] をクリックします。

  3. ランナー グループの名前を入力します。

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

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

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

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

Enterprise のセルフホストランナーグループを作成する

警告: セルフホストランナーは、プライベートリポジトリでのみ利用することをおすすめします。 これは、ワークフロー内でコードを実行する pull request を作成することで、パブリック リポジトリのフォークによって、セルフホステッド ランナー マシン上で危険なコードが実行される可能性があるからです。

詳しくは、「セルフホステッド ランナーの概要」を参照してください。

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

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

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

  1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。

    A screenshot of the drop-down menu that appears when you click the profile photo on GitHub Enterprise Server. The "Enterprise settings" option is highlighted in a dark orange outline.

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

  3. [New runner group](新しいランナー グループ) をクリックします。

  4. [グループ名] に、ランナー グループの名前を入力します。

  5. Organization アクセスのポリシーを選ぶには、 [Organization のアクセス] ドロップダウン メニューを選び、[ポリシー] をクリックします。 組織の特定のリストまたはエンタープライズ内のすべての組織にアクセス可能なランナー グループを設定できます。既定では、プライベート リポジトリのみがランナー グループ内のランナーにアクセスできますが、これをオーバーライドできます。

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

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

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

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

セルフホストランナーグループのアクセスポリシーを変更する

警告: セルフホストランナーは、プライベートリポジトリでのみ利用することをおすすめします。 これは、ワークフロー内でコードを実行する pull request を作成することで、パブリック リポジトリのフォークによって、セルフホステッド ランナー マシン上で危険なコードが実行される可能性があるからです。

詳しくは、「セルフホステッド ランナーの概要」を参照してください。

Enterprise のランナー グループの場合、Enterprise 内のどの Organization がランナー グループにアクセスできるかを変更したり、ランナー グループで実行できるワークフローを制限したりできます。 Organization のランナー グループの場合、Organization 内のどのリポジトリがランナー グループにアクセスできるかを変更したり、ランナー グループで実行できるワークフローを制限したりできます。

ランナー グループにアクセスできる組織またはリポジトリを変更する

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

    • Organization 内:

      1. メイン ページに移動して、 [設定] をクリックします。
    • Enterprise レベルのグループを使用している場合:

      1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。

        A screenshot of the drop-down menu that appears when you click the profile photo on GitHub Enterprise Server. The "Enterprise settings" option is highlighted in a dark orange outline.

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

    • Organization 内:

      1. 左側のサイド バーで、 [アクション][ランナー グループ] の順にクリックします。
    • Enterprise レベルのグループを使用している場合:

      1. Enterprise アカウントのサイドバーで、 [ポリシー] をクリックします。 1. [ ポリシー] で、 [アクション] をクリックします。 1. [ランナー グループ] タブをクリックします。 1. グループのリストで、構成するランナー グループをクリックします。
  3. エンタープライズ内のランナー グループの場合、 [組織のアクセス] で、ランナー グループにアクセスできる組織を変更します。 組織内のランナー グループの場合、 [リポジトリ アクセス] で、ランナー グループにアクセスできるリポジトリを変更します。

    警告

     セルフホストランナーは、プライベートリポジトリでのみ利用することをおすすめします。 これは、ワークフロー内でコードを実行する pull request を作成することで、パブリック リポジトリのフォークによって、セルフホステッド ランナー マシン上で危険なコードが実行される可能性があるからです。
    

    詳しくは、「セルフホステッド ランナーの概要」を参照してください。

ランナー グループにアクセスできるワークフローの変更

選択したワークフローまたはすべてのワークフローを実行するようにランナー グループを構成できます。 たとえば、この設定を使って、ランナーに格納されているシークレットを保護したり、ランナー グループが特定の再利用可能なワークフローのみを実行するように制限してデプロイ ワークフローを標準化したりすることができます。 エンタープライズによって共有された組織のランナー グループを構成している場合、この設定をオーバーライドできません。

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

    • Organization 内:

      1. メイン ページに移動して、 [設定] をクリックします。
    • Enterprise レベルのグループを使用している場合:

      1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。

        A screenshot of the drop-down menu that appears when you click the profile photo on GitHub Enterprise Server. The "Enterprise settings" option is highlighted in a dark orange outline.

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

    • Organization 内:

      1. 左側のサイド バーで、 [アクション][ランナー グループ] の順にクリックします。
    • Enterprise レベルのグループを使用している場合:

      1. Enterprise アカウントのサイドバーで、 [ポリシー] をクリックします。 1. [ ポリシー] で、 [アクション] をクリックします。 1. [ランナー グループ] タブをクリックします。 1. グループのリストで、構成するランナー グループをクリックします。
  3. [ワークフロー アクセス] で、ドロップダウン メニューを選択し、 [選択したワークフロー] をクリックします。

  4. をクリックします。

  5. ランナー グループにアクセスできるワークフローのコンマ区切りの一覧を入力します。 リポジトリ名と所有者を含む完全なパスを使用します。 ワークフローをブランチ、タグ、または完全 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)。

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

    組織所有のランナー グループは、エンタープライズ内の別の組織からワークフローにアクセスできません。代わりに、エンタープライズ所有のランナー グループを作成する必要があります。

  6. [保存] をクリックします。

ランナー グループの名前を変更する

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

    • Organization 内:

      1. メイン ページに移動して、 [設定] をクリックします。
    • Enterprise レベルのグループを使用している場合:

      1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。

        A screenshot of the drop-down menu that appears when you click the profile photo on GitHub Enterprise Server. The "Enterprise settings" option is highlighted in a dark orange outline.

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

    • Organization 内:

      1. 左側のサイド バーで、 [アクション][ランナー グループ] の順にクリックします。
    • Enterprise レベルのグループを使用している場合:

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

  4. [保存] をクリックします。

セルフホスト ランナーをグループに自動的に追加する

構成スクリプトを使うと、新しいランナーをグループに自動的に追加できます。 たとえば、このコマンドを実行すると、新しいランナーが登録されて、--runnergroup パラメーターを使って rg-runnergroup という名前のグループに追加されます。

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

ランナー グループが存在しない場合、コマンドは失敗します。

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

セルフホストランナーをグループに移動する

登録プロセス中にランナー グループを指定しない場合、新しいランナーは、自動的に既定のグループに割り当てられ、その後別のグループへの移動が可能となります。

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

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

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

      1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。

        A screenshot of the drop-down menu that appears when you click the profile photo on GitHub Enterprise Server. The "Enterprise settings" option is highlighted in a dark orange outline.

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

    • Organization 内:

      1. 左側のサイドバーで、 [アクション][ランナー] の順にクリックします。
    • Enterprise レベルのランナーを使用している場合:

      1. Enterprise アカウントのサイドバーで、 [ポリシー] をクリックします。 1. [ ポリシー] で、 [アクション] をクリックします。 1. [Runners](ランナー) タブをクリックします。
  3. "ランナー" の一覧で、構成するランナーをクリックします。

  4. [ランナー グループ] ドロップダウンを選択します。

  5. "ランナーをグループに移動" で、ランナーの移動先グループを選択します。

セルフホストランナーグループを削除する

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

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

    • Organization 内:

      1. メイン ページに移動して、 [設定] をクリックします。
    • Enterprise レベルのグループを使用している場合:

      1. GitHub Enterprise Server の右上で、ご自分のプロファイル写真をクリックしてから、 [Enterprise 設定] をクリックします。

        A screenshot of the drop-down menu that appears when you click the profile photo on GitHub Enterprise Server. The "Enterprise settings" option is highlighted in a dark orange outline.

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

    • Organization 内:

      1. 左側のサイド バーで、 [アクション][ランナー グループ] の順にクリックします。
    • Enterprise レベルのグループを使用している場合:

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

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

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