1
0

trusted publishingとは?

Posted at

概要

「信頼された出版を設定する」1とか日本語訳されている「trusted publishing」とは何か?を、GitHub Actionsを用いてPyPIに配布パッケージをアップロードする(登録する)場面に即して解説する。

trusted publishingとは?

PyPIへの登録を行える人を、PyPIアカウント所有者以外に追加で登録する仕組み、と捉えることが出来る。

通常はPyPIアカウントの所有者が実行した「アップロード処理」に限ってPyPIは許可する。これに対して「私の代わりに、このPublisherにもアップロードの権限を与えてくれ」と設定すること、と言える。

通常のTwineを用いたアップロード処理の流れは以下の通り。
pypi-by-twine.png

これに対して、「登録済みのPublisher(=信頼されたPublisher)に対して、都度に有効期間の短いAPIトークンを発行してアップロード処理を許可する」仕組みであるtrusted Publisherを用いたアップロード処理は以下の通り。

pypi-by-trusted-publiser-secquence.png

APIトークンは、都度に「PyPIアカウント→登録済みのPublisher」へ発行してすぐ有効期限切れになる。Publisherに対して、Aさん自身がAPIトークンの管理をしなくて良い、が利点だね。(つまり、GitHub SecretsにAPIトークンを登録する必要が無い)。

  1. https://packaging.python.org/ja/latest/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/#configuring-trusted-publishing

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0