从gitlab-ci.yml文件部署到AWS时,通常使用AWS-cli命令作为脚本。在我目前的工作场所,在我可以正常使用aws-cli之前,我必须通过aws-azure cli登录,通过2FA进行身份验证,然后我的工作站会得到一个8小时后到期的密钥。
Gitlab有CI/CD变量,我通常会在其中放置AWS_ACCESS_KEY和AWS_SECRET_KEY,但我无法创建IAM角色来获取这些变量。所以我不能在脚本中使用aws-cli命令,这意味着我不能部署。
除了这个之外,还有什么可以验证Gitlab的吗?我可以联系我们的云服务团队,但这需要一周的时间。
您可以配置OpenID从AWS检索临时凭据,而无需存储机密。
在我看来,使用OopenID角色而不是存储实际凭据实际上也是一种最佳做法。
- 在AWS中添加GitLab的身份提供程序
- 配置角色和信任
- 检索临时凭据
按此操作https://docs.gitlab.com/ee/ci/cloud_services/aws/或更详细的版本https://oblcc.com/blog/configure-openid-connect-for-gitlab-and-aws/