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