我正在为公司的env / staging / prod环境设置CI / CD管道。这些环境都存在于单独的AWS帐户中,每个帐户都具有公司的某些开发人员可以承担的角色。
普通开发人员将具有开发人员的部署权限,但没有暂存或生产权限。通过限制IAM可以承担的角色来强制执行此操作。
CI用户将需要权限来承担更新所有三个环境的角色。
现在,看来我可以使用CIRCLE_BRANCH
环境变量Circle来给我们确定调用者是本地用户还是合并到我们的dev
/ staging
/ { {1}} git分支。但这似乎是不安全的,因为任何开发人员都可以进入CircleCi配置yaml文件并输入:
prod
突然之间,他们可以使用CI用户的权限作为代理,以更新其普通AWS账户无权访问的暂存/产品。
如何防止这种情况并确保CI角色受到保护?