概要
「信頼された出版を設定する」1とか日本語訳されている「trusted publishing」とは何か?を、GitHub Actionsを用いてPyPIに配布パッケージをアップロードする(登録する)場面に即して解説する。
trusted publishingとは?
PyPIへの登録を行える人を、PyPIアカウント所有者以外に追加で登録する仕組み、と捉えることが出来る。
通常はPyPIアカウントの所有者が実行した「アップロード処理」に限ってPyPIは許可する。これに対して「私の代わりに、このPublisherにもアップロードの権限を与えてくれ」と設定すること、と言える。
通常のTwineを用いたアップロード処理の流れは以下の通り。
これに対して、「登録済みのPublisher(=信頼されたPublisher)に対して、都度に有効期間の短いAPIトークンを発行してアップロード処理を許可する」仕組みであるtrusted Publisherを用いたアップロード処理は以下の通り。
APIトークンは、都度に「PyPIアカウント→登録済みのPublisher」へ発行してすぐ有効期限切れになる。Publisherに対して、Aさん自身がAPIトークンの管理をしなくて良い、が利点だね。(つまり、GitHub SecretsにAPIトークンを登録する必要が無い)。