本文へスキップ
ecdsa.com

Trusted Publishing(信頼された公開)

長期間有効な API トークンの代わりに、有効期間の短い OIDC ベースの認証情報を使って CI からレジストリにパッケージを公開する方式で、2023年4月に PyPI が導入し、npm(2025年7月に一般提供開始)、RubyGems、crates.io なども提供しています。
別表記trusted publishingtrusted publisherOIDC publishingPyPI trusted publishing

パッケージの所有者は、レジストリに信頼された公開元(Trusted Publisher)を登録します(例:リポジトリ org/name、ワークフロー release.yml、環境(任意))。公開時に CI ジョブが OIDC トークンを提示すると、レジストリはそのクレームを確認し、数分間だけ有効な認証情報を返します。CI のログや開発者のノート PC から漏洩しうる長期の認証情報が存在しないため、パッケージ乗っ取りの最も一般的な経路を断つことができます。

レジストリはこれを来歴と組み合わせています。npm は Trusted Publishing での公開時に来歴を自動的に公開し(npm CLI 11.5.1 以降)、PyPI の公式 GitHub Action はデフォルトで PEP 740 のアテステーションを生成します。ワークフロー自体を保護してください。リリース環境の必須レビュアー、アクションのピン留め、ブランチ保護を設定します。ワークフローを制御できる者は誰でも公開できるからです。

規格と参考文献

すべての用語