Skip to main content

GitHubホストレジストリへの Dependabot の自動アクセス

DependabotとGitHub Packagesへの自動アクセスContainer registry許可することで、プライベート依存関係を確実に最新の状態に保つため、これらのレジストリの資格情報を作成またはローテーションする必要はありません。

GitHub ホストレジストリへの自動アクセスについて

Dependabotは、GitHub Packagesワークフローが使用するのと同じアクセス許可を使用して、プライベート Container registryおよびGitHub Actions パッケージに対して認証できます。 パッケージが**** のパッケージ設定でリポジトリGitHubアクセス権を付与している場合、Dependabotはそのパッケージに自動的にアクセスできます。

これにより、次の操作を行う必要がなくなります。

  • レジストリ アクセスの personal access tokens を作成および管理する
  • dependabot.yml ファイルで GitHub でホストされているレジストリへのアクセスを手動で設定する
  • トークンの有効期限が切れたときに資格情報をローテーションする

自動アクセスのしくみ

Dependabot は、*.pkg.github.comghcr.io からプルする際に、packages: readアクセス許可を要求するために GITHUB_TOKEN を使用します。 "アクションの管理アクセス" を通じてリポジトリへのアクセスを許可したパッケージは、通常の GitHub Actions ワークフローの場合と同じように、このトークンを受け入れます。 AUTOTITLE.git を参照してください。

これは、GitHub PackagesがサポートするすべてのDependabotエコシステムに対して機能します。

自動アクセスを使用するタイミング

次の場合は、 GitHubホストレジストリへの自動アクセスを使用します。

  • リポジトリは、 GitHub Packages または Container registryに格納されているプライベート パッケージに依存します。
  • 資格情報管理のオーバーヘッドを減らしたいと考えています。
  • personal access tokensの有効期限が切れたために発生するサイレント更新エラーを回避する必要があります。

サード パーティのレジストリ (Artifactory、Azure Artifacts、Nexus など)は、dependabot.yml レジストリ構成または組織レベルのプライベート レジストリ設定のみを使用できます。 「Dependabot のプライベート レジストリへのアクセスの構成」を参照してください。

自動アクセスを有効にする方法

Dependabot が読み取る必要がある各パッケージについて、パッケージの設定ページに移動し、Dependabot を実行するリポジトリを Read アクセス権付きで追加する必要があります。 「Dependabot のプライベート レジストリへのアクセスの構成」を参照してください。

リポジトリにアクセス権が付与されると、 Dependabot はそのパッケージから自動的にプルできます。 dependabot.yml ファイルを構成する必要はありません。また、これらのパッケージに対して以前に追加した既存のpersonal access token ベースのレジストリ エントリを削除することもできます。

パッケージ アクセスの構成の詳細については、 パッケージのアクセス制御と可視性の設定 を参照してください。