让部署更快更安全,GitHub 无密码部署现已上线

GitHub 的 CI/CD 服务产品 GitHub Actions 现在支持使用Open Identity Connect凭证对 Hashicorp Vault、AWS、Azure 和 GCP 等云提供商进行身份验证,而无需使用长期凭证或密码。

云的现代开发通常需要针对云提供商对持续集成和持续部署(CI/CD)服务器进行身份验证,以便对已配置的基础设施进行更改。从历史上看,这是通过在云提供商中创建一个身份来实现的,CI/CD 服务器可以通过使用一组长期存在的、手动设置的凭证来假定这个身份。考虑到这些凭证的用途,它们的妥协终究会带来重大的业务风险。

OpenID Connect身份验证协议是一种可互操作的机制,用于提供有关用户身份的可验证信息。假如用户的身份提供者是验证方能够信任的提供者,则可以在称为ID令牌Json Web令牌(JWT)中以声明的形式提供相关用户数据。

使用 GitHub Actions,第一步是在云提供商的身份和访问管理配置中将 GitHub 注册为外部身份源。在执行工作流时,管道可以访问管道唯一运行范围内的 ID 令牌。令牌包括令牌的期望受众、其持有者的标识符以及其他元数据。

然后,云提供商可以使用该信息来为任何的后续操作颁发短期凭证,例如访问令牌。目前 GitHub Actions 支持Hashicorp Vault亚马逊网络服务Azure谷歌云平台


自该新特性发布以来,人们对它的反响基本上是积极的,Hashicorp 创始人Mitchell Hashimoto在推特上写道:

最近发现 GitHub Actions 每次运行都会创建一个 OIDC 标识,因此可以将 Vault 配置为允许 w/Actions 身份认证,然后使用它来访问……任何内容。虽然需要进行一些清理,但这是非常有希望的!

尽管反响热烈,但其采用速度似乎比预期的要慢,WhiteDuck DevOps 的咨询与运营主管 Nico Meisenzahl在推特上写道:

在 #GitHub Actions 中使用 #OIDC 进行云提供商和 #Kubernetes 身份验证已经是一件大事件了吗?我虽然看到了它的很多优点,但已经采用它的人并不多。

继 GitHub 于 2021 年底发布该特性以来,其他 CI/CD 提供商也在其产品中添加了类似的集成。2022 年底发布的 GitLab 15.7 版本支持访问Hashicorp Vault、AWS、Azure和GCP,而 Circle CI 于 2023 年 2 月宣布支持GCP和AWS集成。

所有计划都可以使用 GitHub Actions OIDC 登录云提供商,而无需额外的费用。

原文链接:

https://www.infoq.com/news/2023/03/passwordless-deployments-github/

本文文字及图片出自 InfoQ

余下全文(1/3)
分享这篇文章:

发表回复

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