NuGet添加对可信发布的支持
微软宣布,NuGet现在支持从GitHub Actions发布包的可信发布功能。
可信发布是一种利用OpenID Connect(OIDC)标准的认证方法。与使用长期有效的API令牌发布软件包不同,OIDC身份令牌可以交换为短期有效的API令牌。
在一系列最近的供应链攻击之后,包括PyPI和现在的npm在内的各种其他包管理器已经采用了这种方法。
据微软介绍,使用可信发布时,当CI/CD系统(本例中为GitHub Actions)运行工作流时,会颁发一个短期令牌并发送到nuget.org。NuGet然后验证该令牌并返回一个有效期为一小时的临时API密钥,工作流可以使用该密钥发布包。
“这通过降低凭证泄露风险使您的发布过程更安全。它还使自动化更容易,因为您不需要轮换或存储密钥。这种方法是行业向安全、无密钥发布更广泛转变的一部分,“微软在博客文章中写道。
要从长期API密钥迁移到可信发布,开发人员需要在nuget.org上创建可信发布策略,从其仓库或CI密钥中删除任何存储的NuGet API密钥,并将NuGet/login@v1添加到其工作流中,并使用dotnet nuget push使用输出密钥。