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-updaterとdependabot-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 からアクションを手動で同期する」をご覧ください。
-
ランナーへのこれらのイメージの追加が完了したら、 Dependabot ランナーへのインターネット アクセスを制限し、必要なエコシステムと GitHub Enterprise Serverのためにプライベート レジストリに引き続きアクセスできるようにする準備が整います。
Dependabot ジョブの実行を開始すると、Dependabot ランナーがGitHubContainer registryから`dependabot-updater`と`dependabot-proxy`を取得するため、最初にイメージを追加する必要があります。
Dependabot ランナーの構成の確認
-
テスト リポジトリの場合は、プライベート レジストリにアクセスし、パブリック レジストリへのアクセスを削除するように Dependabot を構成します。 詳細については、「Dependabot のプライベート レジストリへのアクセスの構成」および「パブリック レジストリへの Dependabot アクセスの削除」を参照してください。
-
リポジトリの [分析情報] タブで、 [依存関係グラフ] をクリックして依存関係の詳細を表示します。
-
** Dependabot **をクリックすると、バージョン更新用に構成されたエコシステムが表示されます。 -
テストするエコシステムについては [最後のチェックは <時間> 前] をクリックして [更新ログ] ビューを表示します。
-
**[更新の確認]** をクリックして、そのエコシステムの依存関係に対する新しい更新を確認します。
更新プログラムのチェックが完了したら、[更新ログ] ビューを確認して、 Dependabot がインスタンスで構成されたプライベート レジストリにアクセスしてバージョンの更新を確認したことを確認する必要があります。
構成が正しいことを確認したら、リポジトリ管理者に、プライベート レジストリのみを使用するように Dependabot 構成を更新するよう依頼します。 詳しくは、「パブリック レジストリへの Dependabot アクセスの削除」をご覧ください。