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/
相关阅读:
评论