Skip to main content

Restricting network traffic to your enterprise with an IP allow list

You can restrict access to your enterprise and only allow access to your resources from specified IP addresses by using an IP allow list.

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

Enterprise owners can configure IP allow lists.

About network traffic restrictions

By default, authorized users can access your enterprise's resources from any IP address. You can restrict access to your enterprise's private resources by configuring a list that allows or denies access from specific IP addresses. たとえば、プライベート リソースへのアクセス元をオフィス ネットワークの IP アドレスにのみ許可することができます。

ある IP アドレスを一覧で許可している場合、そのアドレスから GitHub.com に接続する認証済みユーザーは、プライベート リソースにアクセスできます。 そのユーザーの IP アドレスが許可されていない場合、そのユーザーは、許可されたアドレスから接続するまで、プライベート リソースにはアクセスできません。

IP 許可一覧を構成すると、その一覧によって、Web UI、API、または Git を介して、次のいずれかの認証方法を使って保護されたリソースにユーザーがアクセスできるかどうかが決まります。

  • GitHub 認証または SAML SSO を使用したユーザー名とパスワード
  • Personal access token
  • SSH キー

IP 許可一覧は、企業と組織の所有者、リポジトリ管理者、外部のコラボレーターなど、あらゆるロールやアクセス権を持つユーザーに適用されます。

ユーザーが GitHub.com にサインインしている場合、IP 許可一覧によって、組織のパブリック リソースにそのユーザーがアクセスできるかどうかが決まります。 この一覧は、パブリック リソースへの匿名アクセスには適用されません。

IP 許可一覧によって決まるのは、組織が所有するリポジトリへのアクセスのみです。 この一覧では、マネージド ユーザー アカウント が所有するリポジトリまたはリポジトリのフォークへのアクセスは制御されません。

GitHub Copilot features that do not require directly fetching private or organizational data from GitHub are not restricted by IP allow lists, as the only risk from incorrect use is to GitHub's own compute resources.

If your enterprise uses Enterprise Managed Users with Microsoft Entra ID (previously known as Azure AD) and OIDC, you can choose whether to use GitHub's IP allow list feature or to use the allow list restrictions for your identity provider (IdP). If your enterprise does not use Enterprise Managed Users with Azure and OIDC, you can use GitHub's allow list feature.

About GitHub's IP allow list

You can use GitHub's IP allow list to control access to your enterprise and assets owned by organizations in your enterprise.

CIDR表記を使って、単一のIPアドレスもしくはアドレスの範囲に対してアクセスを承認できます。 詳細については、ウィキペディアの CIDR 表記に関するページを参照してください。

IP許可リストを強制するには、まずIPアドレスをリストに追加し、それからIP許可リストを有効化しなければなりません。 リストが完成したら、特定の IP アドレスがリスト内のいずれかの有効なエントリによって許可されるかどうかを確認できます。

IP 許可リストを有効にするには、現在の IP アドレスまたは一致する範囲を追加する必要があります。 許可リストを有効化すると、設定したIPアドレスはすぐにEnterprise中のOrganizationの許可リストに追加されます。 許可リストを無効化すると、それらのアドレスはOrganizationの許可リストから削除されます。

組織の所有者は、組織の許可リストにエントリを追加できますが、エンタープライズ アカウントの許可リストから継承されたエントリを管理することはできません。また、エンタープライズの所有者は、組織の許可リストに追加されたエントリを管理できません。 詳細については、「組織に対する許可 IP アドレスを管理する」を参照してください。

EnterpriseにインストールされたGitHub Appsに設定されたIPアドレスが自動的に許可リストに追加されるように選択することもできます。 GitHub Appの作者は、自分のアプリケーションのための許可リストを、アプリケーションが実行されるIPアドレスを指定して設定できます。 それらの許可リストを継承すれば、アプリケーションからの接続リクエストが拒否されるのを避けられます。 詳細については、「GitHub App によるアクセスの許可」を参照してください。

About your IdP's allow list

If you are using Enterprise Managed Users with Entra ID and OIDC, you can use your IdP's allow list.

Using your IdP's allow list deactivates the GitHub IP allow list configurations for all organizations in your enterprise and deactivates the GraphQL APIs for enabling and managing IP allow lists.

By default, your IdP runs the CAP on the initial interactive SAML or OIDC sign-in to GitHub for any IP allow list configuration you choose.

The OIDC CAP only applies for requests to the API using a user token, such as an OAuth token for an OAuth app or a user access token for a GitHub App acting on behalf of a user. The OIDC CAP does not apply when a GitHub App uses an installation access token. For more information, see "GitHub アプリでの認証について" and "About support for your IdP's Conditional Access Policy."

To ensure seamless use of the OIDC CAP while still applying the policy to OAuth tokens and user access tokens, you must copy all of the IP ranges from each GitHub App that your enterprise uses to your IdP policy.

Using GitHub's IP allow list

Enabling GitHub's IP allow list

  1. GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
  2. 組織の隣の [設定] をクリックします。
  3. サイドバーの [セキュリティ] セクションで、 [認証セキュリティ] をクリックします。
  4. If you're using Enterprise Managed Users with OIDC, under "IP allow list", select the IP allow list configuration dropdown menu and click GitHub.
  5. Under "IP allow list", select Enable IP allow list.
  6. Click Save.

Adding an allowed IP address

それぞれに IP アドレスまたはアドレス範囲を含むエントリを追加することで、IP 許可リストを作成できます。 エントリの追加が完了したら、特定の IP アドレスがリスト内のいずれかの有効なエントリによって許可されるかどうかを確認できます。

Enterprise 内の Organization が所有するプライベート アセットへのアクセスがリストによって制限される前に、許可された IP アドレスも有効にする必要があります。

注: GitHub では、IPv6 のサポートを段階的にロールアウトしています。 GitHub サービスには引き続き IPv6 のサポートが追加されるため、GitHub ユーザーの IPv6 アドレスの認識を開始できます。 アクセスの中断の可能性を防ぐには、必要な IPv6 アドレスが自分の IP 許可リストに確実に追加されている状態にしてください。

注: キャッシュのため、IP アドレスの追加または削除が完全に有効になるまでに数分かかる場合があります。

  1. GitHub の右上の自分のプロフィール写真をクリックし、[自分の Enterprise] をクリックします。

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

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

  4. [設定] で、 [認証セキュリティ] をクリックします。

  5. [IP 許可リスト] セクションの下部にある [IP アドレスまたは CIDR 表記の範囲] フィールドに、IP アドレスまたは CIDR 表記のアドレス範囲を入力します。

    IP 許可リストの設定のスクリーンショット。 [IP アドレスまたは CIDR 表記の範囲] というラベルの付いたテキスト フィールドがオレンジ色の枠線で強調表示されています。

  6. 必要に応じて、[IP アドレスまたは範囲の簡単な説明] フィールドに、許可されている IP アドレスまたは範囲の説明を入力します。

  7. [追加] をクリックします。

  8. 必要に応じて、特定の IP アドレスがリスト内のいずれかの有効なエントリによって許可されるかどうかを確認できます。 詳しくは、「IP アドレスが許可されているかどうかを確認する」を参照してください。

Allowing access by GitHub Apps

許可リストを使っているなら、EnterpriseにインストールしたGitHub Appsに設定されたIPアドレスを自動的に許可リストに追加するかも選択できます。

許可リストの設定で [Enable IP allow list configuration for installed GitHub Apps] (インストールされた GitHub Apps の IP 許可リストの設定を有効化する) を選択した場合、インストールされた GitHub Apps からの IP アドレスが許可リストに追加されます。 これは、許可リストがその時点で有効化されているかどうかに関係なく行われます。 GitHub Appをインストールして、その後にそのアプリケーションの作者が許可リスト中のアドレスを変更した場合、あなたの許可リストにはそれらの変更が自動的に反映されます。

GitHub Appsから自動的に追加されたIPアドレスは、descriptionフィールドを見れば判別できます。 それらのIPアドレスの説明は"Managed by the NAME GitHub App"となっています。 手動で追加されたアドレスとは異なり、GitHub Appsから自動で追加されたIPアドレスは編集、削除、無効化できません。

注: GitHub App の IP 許可リスト中のアドレスは、GitHub App のインストールによって発行されたリクエストにのみ影響します。 GitHub AppのIPアドレスのOrganizationの許可リストへの自動追加は、そのIPアドレスから接続するGitHub Enterprise Cloudユーザへのアクセスを許可しません。

作成した GitHub App の許可リストを作成する方法の詳細については、「GitHub App に対する許可 IP アドレスを管理する」を参照してください。

GitHub AppsのIPアドレスの自動追加を有効化するには:

  1. GitHub の右上の自分のプロフィール写真をクリックし、[自分の Enterprise] をクリックします。

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

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

  4. [設定] で、 [認証セキュリティ] をクリックします。

  5. [IP 許可リスト] で、 [インストール済みの GitHub App の IP 許可リストの構成を有効にする] を選択します。

    注: OIDC で Enterprise Managed Users を使っている場合、IP 許可リストの構成に GitHub を使った場合にのみ GitHub Apps によるアクセスを許可できます。

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

Editing an allowed IP address

IP 許可リストのエントリを編集できます。 有効なエントリを編集すると、変更がすぐに適用されます。

エントリの編集が終了した後で、リストを有効にしたら、許可リストが特定の IP アドレスからの接続を許可するかどうかを確認できます。

  1. GitHub の右上の自分のプロフィール写真をクリックし、[自分の Enterprise] をクリックします。

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

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

  4. [設定] で、 [認証セキュリティ] をクリックします。

  5. [IP 許可リスト] の下で、編集するエントリの横にある [編集] をクリックします。

  6. [IP アドレス] フィールドに、IP アドレスまたは CIDR 表記のアドレス範囲を入力してください。

  7. [説明] フィールドに、許可された IP アドレスまたは範囲の説明を入力してください。

  8. Click Update.

  9. 必要に応じて、特定の IP アドレスがリスト内のいずれかの有効なエントリによって許可されるかどうかを確認できます。 詳しくは、「IP アドレスが許可されているかどうかを確認する」を参照してください。

Checking if an IP address is permitted

許可リストが現時点で有効になっていなくても、特定の IP アドレスがリスト内のいずれかの有効なエントリによって許可されるかどうかを確認できます。

  1. GitHub の右上の自分のプロフィール写真をクリックし、[自分の Enterprise] をクリックします。

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

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

  4. [設定] で、 [認証セキュリティ] をクリックします。

  5. [IP 許可リスト] セクションの最後にある [IP アドレスの確認] で、IP アドレスを入力します。

    [IP アドレスの確認] テキスト フィールドのスクリーンショット。

Deleting an allowed IP address

注: キャッシュのため、IP アドレスの追加または削除が完全に有効になるまでに数分かかる場合があります。

  1. GitHub の右上の自分のプロフィール写真をクリックし、[自分の Enterprise] をクリックします。

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

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

  4. [設定] で、 [認証セキュリティ] をクリックします。

  5. [IP 許可リスト] の下で、削除するエントリの横にある [削除] をクリックします。

  6. 恒久的にエントリを削除するには、 [Yes, delete this IP allow list entry] (はい、この IP 許可リストを削除してください) をクリックしてください。

Using your identity provider's allow list

Note: Using your IdP's allow list is only supported for Enterprise Managed Users with Entra ID and OIDC.

  1. GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
  2. 組織の隣の [設定] をクリックします。
  3. サイドバーの [セキュリティ] セクションで、 [認証セキュリティ] をクリックします。
  4. Under "IP allow list", select the IP allow list configuration dropdown menu and click Identity Provider.
  5. Optionally, to allow installed GitHub and OAuth apps to access your enterprise from any IP address, select Skip IdP check for applications.
  6. Click Save.

Using GitHub Actions with an IP allow list

警告: IP 許可リストを使用し、GitHub Actions も使用したい場合は、セルフホステッド ランナー 、または静的 IP アドレス範囲を持つより大きな GitHub ホスト型ランナーを使用する必要があります。 Azure プライベート ネットワークを使用する場合は、Azure サブネットの IP を使用する必要があります。 必要な IP の数を減らすために、GitHub の許可リストに単一の IP 範囲を指定するロード バランサーを作成することをお勧めします。 詳細は、「セルフホステッド ランナーの概要」か「より大きなランナーの概要」を参照してください。

セルフホスト型の またはより大きなホスト型のランナーが GitHub と通信できるようにするには、該当するランナーの IP アドレスまたは IP アドレス範囲を Enterprise 用に構成した IP 許可リストに追加します。

Using GitHub Pages with an IP allow list

カスタム GitHub Actions ワークフローを GitHub Pages サイトの発行ソースとして使用する場合、ランナーがサイトに接続して構築できるようにするには、IP 許可リストのルールを構成する必要があります。

カスタム ワークフローを使用しない場合、ビルド ランナーは既定で GitHub Pages サイトのリポジトリにアクセスできます。 公開元の詳細については、「GitHub Pages サイトの公開元を設定する」を参照してください。