推出“可信发布者”

推出“可信发布者”

💡 原文英文,约700词,阅读约需3分钟。
📝

内容提要

PyPI推出“可信发布”功能,采用OpenID Connect标准,允许包维护者使用短期身份令牌进行安全发布,增强了发布流程的安全性,并支持GitHub Actions。

🔎

延伸解读

从长期令牌到短期身份:发布安全模型的转变

传统发布依赖长期有效的密码或API令牌,一旦泄露风险持续存在。可信发布改用OpenID Connect交换短期身份令牌,令牌自动过期且无需存储,从根本上减少了凭证泄露面。这种模型将信任从静态秘密转移到动态身份验证,是软件供应链安全实践的一次重要演进。

GitHub Actions集成:配置要点与可选加固

目前PyPI仅支持GitHub Actions作为可信发布者。维护者需在PyPI配置信任特定仓库和工作流,并在工作流中添加id-token: write权限,同时移除用户名和密码字段。此外,可配置GitHub环境来限制发布条件,例如要求手动批准,从而在自动化流程中增加人为控制点。

为未来验证铺路:强链接与元数据可信化

可信发布在项目与源代码仓库之间建立了可验证的强链接。这使PyPI未来能够验证项目元数据(如源代码仓库URL)的准确性,并追溯文件发布来源。当前虽仅限GitHub Actions,但底层机制具有通用性,未来可能扩展至其他提供OpenID Connect身份的服务。

❓

Q&A

什么是PyPI的“可信发布”功能?

“可信发布”是PyPI推出的一种安全发布方法,使用OpenID Connect标准,允许包维护者通过短期身份令牌进行发布,避免使用长期密码或API令牌。

如何在GitHub Actions中使用PyPI的可信发布?

用户可以通过配置PyPI信任特定的GitHub仓库和工作流,移除用户名和密码字段,并添加生成身份令牌的权限来实现可信发布。

可信发布如何提高发布流程的安全性?

可信发布通过消除长期密码和API令牌的使用,采用短期身份令牌,增强了发布流程的安全性,并允许配置受信任的发布者。

未来PyPI的可信发布功能可能会有哪些扩展?

未来可能支持其他提供OpenID Connect身份的服务,进一步增强与项目源代码库之间的验证链接。

使用可信发布的主要好处是什么?

主要好处包括提高发布安全性、消除存储和共享API令牌的需要,以及提供项目与源代码库之间的强链接。

如何配置受信任的发布者以增强安全性?

包维护者可以配置受信任的发布者,仅允许从特定的GitHub Actions环境发布,增加额外的安全限制。

🏷️

标签

➡️

继续阅读