PyPI套件维护者现可选用OpenID Connect可信发布方法

Python套件软件储存库服务PyPI的套件维护者,将可以通过使用OpenID Connect(OIDC)标准,以第三方服务登入PyPI,也就是说,维护者能够不与外部系统共享长期密码或是API权杖,以更安全的方法发布套件。

OIDC是一种以OAuth 2.0协议为基础的身份验证和授权标准,其提供用户单一凭证,在多个网站和应用进行身份验证的方法,OIDC由于在OAuth 2.0的基础上,增加了额外的身份信息,因此应用还可以获得诸如名称和电子邮件等用户基本资料。

PyPI套件维护者现可选用OpenID Connect可信发布方法

使用OIDC标准在可信第三方和PyPI之间交换短期身份权杖的功能,被官方称为可信发布(Trusted Publishing),PyPI提到,可信发布可用于自动化环境,维护者在PyPI发布套件时,将不需要使用帐户密码组合,或是手动生成API权由杖身份验证。

维护者可以改为在PyPI设置一个可信任的OIDC身份验证供应商(IdP),使得PyPI能够验证和信任该身分,并授权该身分从PyPI请求短期且能力受限的API权杖。 PyPI现在支持GitHub Actions可信发布,在将PyPI设置信任GitHub储存库和工作流程后,PyPA(Python Packaging Authority)pypi-publish GitHub Action用户,便可以从工作流程中移除帐号密码信息,添加生成身分权杖的权限,开始使用受信任发布。

PyPI强烈建议使用PyPA的GitHub Actions,同时推荐维护者,限制特定发布的GitHub Actions环境,可进一步提高发布工作流程的安全性,虽然配置环境可以选择,但是官方强烈建议使用GitHub环境。 维护者还可以对受信任的GitHub Actions工作流程,添加额外的限制,像是要求每次运作都需要由受信任的储存库维护者批准,以进一步提高安全性。

以可信发布功能为基础,PyPI还将拓展更多安全功能,官方解释,因为配置和使用受信任的发布者,在项目和存储库之间提供了强连结信息,使PyPI拥有更多可供验证的后设数据,像是可验证项目存储库的URL等,而且受信任的发布者也允许PyPI以可验证的方式,关联特定文件的发布位置等信息。

虽然目前可信发布者仅支持GitHub Actions,不过官方提到,他们也有高度意愿支持其他OpenID Connect身份验证服务。

(0)
臻智哥臻智哥

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注