Skip to main content

より大きなランナーへのアクセスの制御

ポリシーを使用して、組織または企業に追加された より大きなランナーへのアクセスを制限できます。

この機能を使用できるユーザーについて

より大きなランナー は、GitHub Team または GitHub Enterprise Cloud プランを使っている組織とエンタープライズのみが使用できます。

大規模ランナーへのアクセスを管理する

メモ

ワークフローでジョブを より大きなランナーに送信するには、まずランナー グループのアクセス許可を構成する必要があります。 詳しくは、以下のセクションをご覧ください。

ランナー グループは、 より大きなランナーでジョブを実行できるリポジトリを制御するために使用されます。 より大きなランナーを定義した場所に応じて、管理階層の各レベルからグループへのアクセスを管理する必要があります。

  • **エンタープライズ レベルのランナー:**既定では、Organization 内のリポジトリは Enterprise レベルのランナー グループにアクセスできません。 リポジトリに Enterprise ランナー グループへのアクセス権を付与するには、Organization の所有者が各 Enterprise ランナー グループを構成し、アクセスできるリポジトリを選ぶ必要があります。
  • **組織レベルのランナー:**既定では、Organization 内のすべてのリポジトリに、Organization レベルのランナー グループへのアクセス権が付与されます。 アクセスできるリポジトリを制限するには、Organization の所有者が Organization ランナー グループを構成し、アクセスできるリポジトリを選ぶ必要があります。

たとえば、次の図には、Enterprise レベルに grp-ubuntu-24.04-16core という名前のランナー グループがあります。 octo-repo という名前のリポジトリがグループ内のランナーを使用できるようにするには、まず、octo-org 組織へのアクセスを許可するようにエンタープライズ レベルでグループを構成する必要があります。 次に、octo-repo へのアクセスを許可するように組織レベルでグループを構成する必要があります。

Enterprise レベルで定義されたランナー グループと、2 つのリポジトリへのアクセスを許可する Organization 構成を示す図。

組織のランナーチームを作成する

警告

固定 IP 範囲を使っている場合、プライベート リポジトリには より大きなランナー のみを使うことをお勧めします。 ワークフロー内でコードを実行する pull request を作成することで、リポジトリのフォークによって、より大きなランナー 上で危険なコードが実行される可能性があります。

メモ

ランナー グループを作成するときは、ランナー グループにアクセスできるリポジトリ を定義するポリシーを選択する必要があります。 どのリポジトリとワークフローがランナー グループにアクセスできるかを変更するには、組織の所有者を持つユーザーが、組織のポリシーを設定できます。 詳しくは、「企業でGitHub Actionsのポリシーを適用する」をご覧ください。

すべての Organization には、単一の既定のランナー グループがあります。

GitHub Teamプランを使用する組織の所有者追加の組織レベルのランナー グループを作成できます。

登録プロセスでグループを指定しなかった場合、ランナーは自動的に既定のグループに追加されます。 後で、ランナーを既定のグループからカスタム グループに移動することができます。

REST API を使ってランナー グループを作成する方法については、「GitHub Actionsの REST API エンドポイント」を参照してください。

  1. GitHub で、organization のメイン ページに移動します。

  2. Organization 名の下で、[ Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    組織のプロファイルのタブのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で囲まれています。

  3. 左側のサイドバーで、 [Actions] をクリックしてから [Runner groups] をクリックします。

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

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

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

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

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

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

警告

固定 IP 範囲を使っている場合、プライベート リポジトリには より大きなランナー のみを使うことをお勧めします。 ワークフロー内でコードを実行する pull request を作成することで、リポジトリのフォークによって、より大きなランナー 上で危険なコードが実行される可能性があります。

組織のランナー グループの場合、組織内のどのリポジトリがランナー グループにアクセスできるかを変更できます。

  1. ランナー グループが配置されている組織のメイン ページに移動します。
  2. [Settings] をクリックします。
  3. 左側のサイドバーで、 [Actions] をクリックしてから [Runner groups] をクリックします。
  4. グループのリストで、構成するランナー グループをクリックします。
  5. 「リポジトリ アクセス」で、ドロップダウン メニューを使って [選択したリポジトリ] をクリックします。
    1. ドロップダウン メニューの右側にある をクリックします。
    2. ポップアップで、チェックボックスを使って、このランナー グループにアクセスできるリポジトリを選択します。
  6. [グループの保存] をクリックします。

より大きなランナーのプライベート ネットワーク アクセスの構成

Azure VNET での GitHub ホストランナーを使用できます。 これにより、ランナーのネットワーク ポリシーを完全に制御しながら、CI/CD の GitHub マネージド インフラストラクチャを利用することができます。 Azure VNET の詳細については、Azure ドキュメントの「Azure Virtual Network とは」を参照してください。

Azure VNET に接続するように organization を構成している場合は、ランナー グループに仮想ネットワークへのアクセス権を付与できます。 詳しくは、「GitHubホストランナーを使用したプライベート ネットワーク」をご覧ください。

ネットワーク構成を持つランナー グループに macOS より大きなランナーを割り当てることはできません。 同様に、macOS より大きなランナーを含むランナー グループにネットワーク構成を追加することはできません。

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

  1. ランナー グループが配置されている組織のメイン ページに移動します。
  2. [Settings] をクリックします。
  3. 左側のサイドバーで、 [Actions] をクリックしてから [Runner groups] をクリックします。
  4. グループのリストで、構成するランナー グループをクリックします。
  5. [グループ名] のテキスト フィールドに新しいランナー グループ名を入力します。
  6. [保存] をクリックします。

ランナーをグループに移動する

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

  1. GitHub で、organization のメイン ページに移動します。

  2. Organization 名の下で、[ Settings] をクリックします。 [設定] タブが表示されない場合は、 [] ドロップダウン メニューを選び、 [設定] をクリックします。

    組織のプロファイルのタブのスクリーンショット。 [設定] タブが濃いオレンジ色の枠線で囲まれています。

  3. 左側のサイドバーで、 [Actions] をクリックしてから [Runners] をクリックします。

  4. "ランナー" の一覧で、構成するランナーをクリックします。

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

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

ランナー グループを削除する

ランナー グループを削除するには、まず、グループからすべてのランナーを移動するか削除する必要があります。

  1. ランナー グループが配置されている組織のメイン ページに移動します。
  2. [Settings] をクリックします。
  3. 左側のサイドバーで、 [Actions] をクリックしてから [Runner groups] をクリックします。
  4. グループの一覧で、削除するグループの右側にある をクリックします。
  5. グループを削除するには、 [グループの削除] をクリックします。
  6. 確認プロンプトを確認し、 [Remove this runner group](このランナー グループの削除) をクリックします。