Skip to main content

制限付きインターネット アクセスで動作するように Dependabot を構成する

          Dependabotを構成して、インターネット アクセスが制限されている場合(またはインターネットにアクセスできない場合)、プライベート レジストリを使用してバージョンおよびセキュリティ更新プログラムのプル要求を生成GitHub Enterprise Server。

この記事で

          Dependabot更新プログラムについて

          Dependabot updatesを使用して脆弱性を修正し、GitHub Enterprise Serverで依存関係を最新バージョンに更新することができます。 
          Dependabot updatesには、Dependabotが使用できるようにセルフホステッド ランナーを設定したGitHub Actionsが必要です。 
          Dependabotアラートとセキュリティ更新プログラムでは、GitHub Connectを使用してアクセスされたGitHub Advisory Databaseからの情報が使用されます。 詳細については、「[AUTOTITLE](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/managing-self-hosted-runners-for-dependabot-updates)」および「[AUTOTITLE](/admin/configuration/configuring-github-connect/enabling-dependabot-for-your-enterprise)」を参照してください。

          Dependabot を使うと、既定でパブリック レジストリにアクセスできます。また、プライベート レジストリにアクセスできるように Dependabot を構成することもできます。 または、インスタンスにインターネット アクセスが制限されている場合、またはインターネットにアクセスできない場合は、セキュリティとバージョンの更新のソースとしてプライベート レジストリのみを使用するように Dependabot を構成できます。 プライベート レジストリとしてサポートされるエコシステムの詳細については、「[AUTOTITLE](/code-security/dependabot/maintain-dependencies/removing-dependabot-access-to-public-registries#about-configuring-dependabot-to-only-access-private-registries)」を参照してください。

以下の手順では、次の制限 Dependabot ランナーを設定する必要があることを前提としています。

  • インターネット アクセスがありません。
  •         Dependabotのプライベート レジストリなど、制限された内部リソースへのアクセス。
    

          Dependabot ランナーのインターネット アクセスの制限

          Dependabot構成する前に、セルフホステッド ランナーに Docker をインストールします。 詳しくは、「[AUTOTITLE](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/managing-self-hosted-runners-for-dependabot-updates#configuring-self-hosted-runners-for-dependabot-updates)」をご覧ください。

1. GitHub Enterprise Serverで、github/dependabot-action リポジトリに移動し、containers.json ファイルからdependabot-updaterdependabot-proxyコンテナー イメージに関する情報を取得します。

          GitHub Enterprise Serverの各リリースには、更新された `containers.json` ファイル (`https://HOSTNAME/github/dependabot-action/blob/ghes-VERSION/docker/containers.json`) が含まれています。 ファイルの GitHub.com バージョンは、 [ 次のcontainers.json](https://github.com/github/dependabot-action/blob/main/docker/containers.json)で確認できます。

1. docker pull コマンドを使用して、GitHubContainer registry から Dependabot ランナーにすべてのコンテナー イメージを事前に読み込みます。 または、 dependabot-proxy イメージを事前に読み込み、必要なエコシステムのコンテナー イメージのみを事前に読み込みます。

たとえば、npm と GitHub Actions をサポートするには、次のコマンドを使用して、 containers.json ファイルから読み込むイメージの詳細をコピーして、各イメージの正しいバージョンと SHA があることを確認します。

docker pull ghcr.io/github/dependabot-update-job-proxy/dependabot-update-job-proxy:VERSION@SHA
docker pull ghcr.io/dependabot/dependabot-updater-github-actions:VERSION@SHA
docker pull ghcr.io/dependabot/dependabot-updater-npm:VERSION@SHA

メモ

新しいマイナー バージョンのGitHub Enterprise Serverにアップグレードする場合、またはGitHub.comからDependabotアクションを手動で更新する場合は、この手順を繰り返す必要があります。 詳しくは、「GitHub.com からアクションを手動で同期する」をご覧ください。

  1. ランナーへのこれらのイメージの追加が完了したら、 Dependabot ランナーへのインターネット アクセスを制限し、必要なエコシステムと GitHub Enterprise Serverのためにプライベート レジストリに引き続きアクセスできるようにする準備が整います。

           Dependabot ジョブの実行を開始すると、Dependabot ランナーがGitHubContainer registryから`dependabot-updater`と`dependabot-proxy`を取得するため、最初にイメージを追加する必要があります。
    

          Dependabot ランナーの構成の確認
  1. テスト リポジトリの場合は、プライベート レジストリにアクセスし、パブリック レジストリへのアクセスを削除するように Dependabot を構成します。 詳細については、「Dependabot のプライベート レジストリへのアクセスの構成」および「パブリック レジストリへの Dependabot アクセスの削除」を参照してください。

  2. リポジトリの [分析情報] タブで、 [依存関係グラフ] をクリックして依存関係の詳細を表示します。

  3.        **
           Dependabot
           **をクリックすると、バージョン更新用に構成されたエコシステムが表示されます。
    
  4. テストするエコシステムについては [最後のチェックは <時間> 前] をクリックして [更新ログ] ビューを表示します。

  5.        **[更新の確認]** をクリックして、そのエコシステムの依存関係に対する新しい更新を確認します。
    

更新プログラムのチェックが完了したら、[更新ログ] ビューを確認して、 Dependabot がインスタンスで構成されたプライベート レジストリにアクセスしてバージョンの更新を確認したことを確認する必要があります。

構成が正しいことを確認したら、リポジトリ管理者に、プライベート レジストリのみを使用するように Dependabot 構成を更新するよう依頼します。 詳しくは、「パブリック レジストリへの Dependabot アクセスの削除」をご覧ください。