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、亚马逊网络服务、和谷歌云平台。
自该新特性发布以来,人们对它的反响基本上是积极的,Hashicorp 创始人Mitchell Hashimoto在推特上写道:
尽管反响热烈,但其采用速度似乎比预期的要慢,WhiteDuck DevOps 的咨询与运营主管Nico Meisenzahl在推特上写道:
继 GitHub 于 2021 年底发布该特性以来,其他 CI/CD 提供商也在其产品中添加了类似的集成。2022 年底发布的 GitLab 15.7 版本支持访问Hashicorp Vault、AWS、Azure和GCP,而 Circle CI 于 2023 年 2 月宣布支持GCP和AWS集成。
所有计划都可以使用 GitHub Actions OIDC 登录云提供商,而无需额外的费用。
原文链接:
相关阅读:
玩转 Github:三分钟教你如何用 Github 快速找到优秀的开源项目
8 个很酷的 GitHub 技巧