Skip to main content

転送されるポートの可視性の制限

ユーザーが Organization 内の codespace からポートを転送するときに選択できる可視性オプションに制約を設定できます。

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

To manage access to port visibility constraints for the repositories in an organization, you must be an owner of the organization.

GitHub Team プランや GitHub Enterprise プランを利用している組織は、メンバーやコラボレーターによる GitHub Codespaces の使用料を支払うことができます。 これらの組織は、設定やポリシーにアクセスして、組織によって支払われる codespace を管理できます。 詳細については、「組織内の codespace を誰が所有し、支払うかの選択」および「GitHubのプラン」を参照してください。

概要

通常、codespace 内では、ポートをプライベートに (自分にのみ)、Organaization のメンバーに、またはパブリックに (URL を持つすべてのユーザーに) 転送することができます。 詳しくは、「codespace でのポートの転送」をご覧ください。

組織の所有者として、ユーザーがポートを転送するときに設定できる可視性オプションに対する制約を構成することができます。 たとえば、セキュリティのため、パブリック ポートの転送を禁止したい場合があります。 これを行うには、組織の GitHub Codespaces 設定でポリシーを1つ以上定義します。

ポートの可視性の制約を設定するときの動作

定義されているポリシーに準拠しなくなった既存の codespace がある場合、これらの codespace は停止またはタイムアウトするまで動作し続けます。ユーザーが codespace を再開すると、ポリシーの制約の対象になります。

メモ

プライベート ポート転送は、たとえばポート 22 での SSH の転送など、GitHub Codespaces が設計どおりに動作し続けるために必要であるため、プライベート ポート転送を無効にすることはできません。

オーガニゼーション単位でのポリシーとリポジトリ固有のポリシーの設定

ポリシーを作成するときに、ポリシーを Organaization 内のすべてのリポジトリに適用するか、指定されたリポジトリにのみ適用するかを選択します。 Organaization 全体のポリシーを設定する場合は、個々のリポジトリに対して設定するポリシーはすべて、Organaization レベルに設定した制限に収まるようにする必要があります。 ポリシーを追加すると、可視性オプションの選択に対する制限は、緩くなるのではなく、いっそう厳しくなります。

たとえば、可視性オプションを組織のみに制限する組織全体のポリシーを作成できます。 その後、パブリックと Organaization 両方の可視性を禁止するポリシーを、リポジトリ A に設定できます。これにより、このリポジトリではプライベート ポート転送のみが使用できるようになります。 パブリックと Organaization 両方を許可するポリシーをリポジトリ A に設定すると、Organaization 全体のポリシーではパブリックの可視性が許可されないため、組織の可視性のみになります。

Organaization 全体のポリシーを追加する場合は、Organaization 内のどのリポジトリにも使用できる最も寛大な可視性オプションに設定する必要があります。 その後、リポジトリ固有のポリシーを追加することで、選択肢をさらに制限できます。

メモ

Codespaces ポリシーは、organization が支払う Codespaces にのみ適用されます。 誰かが自分の費用で組織内のリポジトリの codespace を作成した場合、その codespace はこれらのポリシーに制約されません。 詳しくは、「組織内の codespace を誰が所有し、支払うかの選択」をご覧ください。

ポート可視性オプションを制限するポリシーの追加

  1. GitHub の右上隅にあるプロフィール画像をクリックしてから、[ Your organizations] をクリックします。

  2. 組織をクリックして選択します。

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

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

  4. サイドバーの [Code, planning, and automation] セクションで、[ Codespaces] を選択してから、[Policies] をクリックします。

  5. [Codespaces ポリシー] ページで、 [ポリシーの作成] をクリックします。

  6. 新しいポリシーの名前を入力します。

  7.        **[制約の追加]** をクリックし、 **[ポートの可視性]** を選択します。
    
  8. 制約を編集するには、 をクリックします。

  9. 使用しないポートの可視性オプション(Org または パブリック)の選択を解除してください。

    [許可される値] ドロップダウンと 2 つのチェックボックスのスクリーンショット。 [組織] は選択されており、[パブリック] は解除されています。

  10. ダイアログ ボックスの外側をクリックして閉じます。

  11. 既定では、ポリシーはすべてのリポジトリに適用されるように設定されます。組織内の一部のリポジトリにのみ適用したい場合は、 [すべてのリポジトリ] をクリックしてから、ドロップダウン メニューの [選択したリポジトリ] をクリックします。

    [すべてのリポジトリ] と [選択したリポジトリ] のオプションが表示されている、リポジトリ選択ドロップダウンのスクリーンショット。

    メモ

    "Maximum codespaces per user" 制約が既に含まれているポリシーに制約を追加する場合、選んだリポジトリにポリシーを適用することはできません。 これは、"ユーザーあたりの最大 codespace 数" 制約は、組織内のすべてのリポジトリに常に適用されるためです。

    [選択したリポジトリ] を選んだら、次のようにします。

    1. をクリックします。

      [選択したリポジトリ] というラベルのボタンの左側にある設定アイコン (歯車シンボル) のスクリーンショット。

    2. このポリシーを適用するリポジトリを選択します。

    3. リポジトリ リストの下部にある [リポジトリの選択] をクリックします。

      それぞれにチェックボックスが付いているリポジトリの一覧のスクリーンショット。 3 つのリポジトリが選ばれています。

  12. ポリシーに別の制約を追加する場合は、 [制約の追加] をクリックして、別の制約を選びます。 その他の制約については、次を参照してください。 * コンピューターの種類へのアクセスを制限する * ユーザーが作成できる組織に請求される codespace の数の制限 * codespace の基本イメージを制限する * アイドル タイムアウトの期間を制限する * codespace の保持期間を制限する

  13. ポリシーへの制約の追加が終わったら、 [保存] をクリックします。

このポリシーは、貴社の課金対象となるすべての新しい codespace に適用されます。 このポート可視性の制約は、次回の起動時に既存の codespace にも適用されます。

ポリシーを編集する

既存のポリシーを編集できます。 たとえば、ポリシーの制約を追加または削除できます。

  1. [Codespaces ポリシー] ページを表示します。 詳しくは、「ポート可視性オプションを制限するポリシーの追加」を参照してください。
  2. 編集するポリシーの名前をクリックします。
  3. "ポート可視性" 制約の横にある [] をクリックします。
  4. 必要な変更を行い、 [保存] をクリックします。

ポリシーを削除する

  1. [Codespaces ポリシー] ページを表示します。 詳しくは、「ポート可視性オプションを制限するポリシーの追加」を参照してください。

  2. 削除するポリシーの右側にある をクリックします。

    削除ボタン (ごみ箱アイコン) が濃いオレンジ色の枠線で強調されているポリシーのスクリーンショット。