Dependabot の更新について
Dependabot updates を使用して脆弱性を修正し、GitHub Enterprise Server で依存関係を更新して最新バージョンに保つことができます。 Dependabot updates の Dependabot には、セルフホステッド ランナーを含む GitHub Actions が必要です。 Dependabot アラートとセキュリティ更新では、GitHub Connect を使ってアクセスされた GitHub Advisory Database からの情報が使用されます。 詳細については、「エンタープライズでの Dependabot 更新プログラムのセルフホステッド ランナーの管理」および「エンタープライズ向けの Dependabot の有効化」を参照してください。
Dependabot を使うと、既定でパブリック レジストリにアクセスできます。また、プライベート レジストリにアクセスできるように Dependabot を構成することもできます。 または、インスタンスでインターネット アクセスが制限されているかアクセスできない場合、セキュリティとバージョン更新のソースとしてプライベート レジストリのみを使用するように Dependabot を構成できます。 プライベート レジストリとしてサポートされるエコシステムの詳細については、「パブリック レジストリへの Dependabot アクセスの削除」を参照してください。
以下の手順では、次の制限事項がある Dependabot ランナーを設定する必要があることを前提としています。
- インターネット アクセスがありません。
- Dependabot のプライベート レジストリなど、制限された内部リソースへのアクセス。
Dependabot ランナーのインターネット アクセスの制限
Dependabot を構成する前に、セルフホステッド ランナーに Docker をインストールします。 詳しくは、「エンタープライズでの Dependabot 更新プログラムのセルフホステッド ランナーの管理」をご覧ください。
-
GitHub Enterprise Server で、
github/dependabot-actionリポジトリに移動し、dependabot-updaterファイルからdependabot-proxyおよびcontainers.jsonコンテナー イメージに関する情報を取得します。GitHub Enterprise Server の各リリースには、
containers.jsonにある更新されたhttps://HOSTNAME/github/dependabot-action/blob/ghes-VERSION/docker/containers.jsonファイルが含まれています。 ファイルの GitHub.com バージョンは containers.json にあります。 -
docker pullコマンドを使用して、GitHub Container 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 ジョブの実行の開始時に
dependabot-updaterとdependabot-proxyを GitHub Container registryからプルするため、最初にイメージを追加する必要があります。
Dependabot ランナーの構成の確認
-
テスト リポジトリの場合は、プライベート レジストリにアクセスし、パブリック レジストリへのアクセスを削除するように Dependabot を構成します。 詳細については、「Dependabot のプライベート レジストリへのアクセスの構成」および「パブリック レジストリへの Dependabot アクセスの削除」を参照してください。
-
リポジトリの [分析情報] タブで、 [依存関係グラフ] をクリックして依存関係の詳細を表示します。
-
[Dependabot] をクリックして、バージョン更新用に構成されたエコシステムを表示します。
-
テストするエコシステムについては [最後のチェックは <時間> 前] をクリックして [更新ログ] ビューを表示します。
-
[更新の確認] をクリックして、そのエコシステムの依存関係に対する新しい更新を確認します。
更新の確認が完了したら、[更新ログ] ビューを調べ、バージョンの更新を確かめるために Dependabot がインスタンスの構成済みプライベート レジストリにアクセスしたことを検証する必要があります。
構成が正しいことを検証した後、リポジトリ管理者に対して、プライベート レジストリのみを使用するように Dependabot 構成を更新するように依頼します。 詳しくは、「パブリック レジストリへの Dependabot アクセスの削除」をご覧ください。