Skip to main content

組織に対する許可 IP アドレスを管理する

接続を許可される IP アドレスのリストを設定することで、組織のプライベートアセットに対するアクセスを制限することができます。

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

Organization owners can manage allowed IP addresses for an organization.

許可 IP アドレスについて

既定では、許可されたユーザーは任意の IP アドレスから組織のリソースにアクセスできます。 特定の IP アドレスからのアクセスを許可または拒否するリストを構成すると、組織のプライベート リソースへのアクセスを制限できます。 たとえば、プライベート リソースへのアクセス元をオフィス ネットワークの IP アドレスにのみ許可することができます。

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

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

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

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

注:

  • IP 許可リストを使用できるのは、GitHub Enterprise Cloud を使用する組織だけです。 GitHub Enterprise Cloud を無料で試す方法の詳細については、「GitHub Enterprise Cloud の試用版を設定する」を参照してください。
  • 組織の IP 許可リストを構成した場合、組織が所有するリポジトリに GitHub Codespaces を使用することはできません。

どのリソースが保護されますか?

IP 許可一覧は、次へのアクセスを制限します

  • Organization が所有するリポジトリ
  • プライベート リポジトリと内部リポジトリ
  • ユーザーが GitHub にサインインしたときのパブリック リソース
  • リポジトリ内のファイルの加工されていない URL (例: https://raw.githubusercontent.com/octo-org/octo-repo/main/README.md?token=ABC10001)

IP 許可一覧は、次へのアクセスを制限しません

  • マネージド ユーザー アカウント が所有するリポジトリ (フォークを含む)
  • パブリック リソース (匿名でアクセスされる場合)
  • GitHub からプライベート データまたは組織データを直接フェッチする必要がない GitHub Copilot の機能
  • データ所在地付き GitHub Enterprise Cloud を使用しない限り、issue や pull request (https://private-user-images.githubusercontent.com/10001/20002.png?jwt=ABC10001 など) にアップロードされた画像とビデオの匿名化された URL

IP 許可リストの管理について

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

IP 許可リストを有効にするには、現在の IP アドレスまたは一致する範囲を追加する必要があります。

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

エンタープライズ アカウント レベルで許可 IP アドレスを構成することもできます。また、エンタープライズ アカウントの許可リストに含まれるエントリは、エンタープライズが所有するすべての組織によって継承されます。 組織の所有者は、組織の許可リストにエントリを追加できますが、エンタープライズ アカウントの許可リストから継承されたエントリを管理することはできません。また、エンタープライズの所有者は、組織の許可リストに追加されたエントリを管理できません。詳しくは、「Enterprise でセキュリティ設定のポリシーを適用する」をご覧ください。

警告: IP 許可リスト内の IP アドレスへのアクセスを失うと、企業や組織からロックアウトされるなど、意図しない結果になる可能性があります。

ベスト プラクティスとして、IP 許可リストを作成するときに、企業と組織のリソースへの安全で信頼性の高いアクセスの両方を確保するには、次の点を考慮してください。

  • IP 許可リストが適用されるEnterprise アカウントまたは組織の複数の所有者を維持します。
  • CIDR 表記を使用して、動的に割り当てられるアドレスを含む IP アドレスの範囲を指定し、許可リスト エントリの数を最小限に抑えます。
  • 問題が発生した場合のバックアップ アクセスのために、許可された IP アドレスに静的ネットワークを含めます。

許可 IP アドレスを追加する

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

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

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

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

  1. GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。

  2. 組織の隣の [設定] をクリックします。

  3. サイドバーの [セキュリティ] セクションで、 [認証セキュリティ] をクリックします。

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

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

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

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

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

許可 IP アドレスを有効化する

IP 許可リストを作成すると、許可 IP アドレスを有効にすることができます。 許可 IP アドレスを有効にすると、IP 許可リスト内のいずれかの有効なエントリが、GitHub によってすぐに適用されます。

Note

Organization の IP 許可リストを有効にすると、Organization が所有するリポジトリに GitHub Codespaces を使用できなくなります。

IP 許可リストを有効にする前に、特定の IP アドレスからの接続が、許可リストによって許可されるかどうかを確認できます。 詳しくは、「IP アドレスが許可されているかどうかを確認する」を参照してください。

  1. GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
  2. 組織の隣の [設定] をクリックします。
  3. サイドバーの [セキュリティ] セクションで、 [認証セキュリティ] をクリックします。
  4. [IP 許可リスト] で、 [IP 許可リストを有効にする] を選択します。
  5. [保存] をクリックします。

GitHub Appsによるアクセスの許可

許可リストを使っているなら、組織にインストールした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 アドレスを管理する」をご覧ください。

  1. GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
  2. 組織の隣の [設定] をクリックします。
  3. サイドバーの [セキュリティ] セクションで、 [認証セキュリティ] をクリックします。
  4. [IP 許可リスト] で、 [インストール済みの GitHub App の IP 許可リストの構成を有効にする] を選択します。
  5. [保存] をクリックします。

許可 IP アドレスを編集する

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

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

  1. GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
  2. 組織の隣の [設定] をクリックします。
  3. サイドバーの [セキュリティ] セクションで、 [認証セキュリティ] をクリックします。
  4. [IP 許可リスト] の下で、編集するエントリの横にある [編集] をクリックします。
  5. [IP アドレス] フィールドに、IP アドレスまたは CIDR 表記のアドレス範囲を入力してください。
  6. [説明] フィールドに、許可された IP アドレスまたは範囲の説明を入力してください。
  7. [Update] をクリックします。
  8. 必要に応じて、特定の IP アドレスがリスト内のいずれかの有効なエントリによって許可されるかどうかを確認できます。 詳しくは、「IP アドレスが許可されているかどうかを確認する」を参照してください。

IP アドレスが許可されているかどうかを確認する

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

  1. GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
  2. 組織の隣の [設定] をクリックします。
  3. サイドバーの [セキュリティ] セクションで、 [認証セキュリティ] をクリックします。
  4. [IP 許可リスト] セクションの最後にある [IP アドレスの確認] で、IP アドレスを入力します。
    [IP アドレスの確認] テキスト フィールドのスクリーンショット。

許可 IP アドレスを削除する

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

  1. GitHub の右上隅で、プロフィール写真を選択し、 あなたの組織をクリックします。
  2. 組織の隣の [設定] をクリックします。
  3. サイドバーの [セキュリティ] セクションで、 [認証セキュリティ] をクリックします。
  4. [IP 許可リスト] の下で、削除するエントリの横にある [削除] をクリックします。
  5. 恒久的にエントリを削除するには、 [Yes, delete this IP allow list entry] (はい、この IP 許可リストを削除してください) をクリックしてください。

IP許可リストで GitHub Actions を使用する

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

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

IP 許可リストで GitHub Pages を使用する

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

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