[英]Is there a way to force Github actions use main branch workflow files in a pull request trigger from a fork?
我有一个使用 github 动作和叉子 model 的问题。
我使用 fork model,其中分叉的存储库需要通过 CI 工作流在从 fork 返回到基本存储库的拉取请求中进行检查。 CI 工作流需要来自基本存储库的一些秘密。
当前设置:
Base Repository/main branch/.github/workflows/正确的工作流文件。
分叉存储库/主分支/.github/workflows/恶意修改文件以泄露秘密。
基本存储库中的操作设置:
观察到的行为/Q:
aws-actions/configure-aws-credentials
可以使用 AWS 登录。 这是一个问题,因为此操作需要permissions: id-token: write
。 据我了解,来自分叉的拉取请求不应授予工作流任何写入权限。 我也担心这里的安全。希望的行为:
我想要实现的是,仍然允许来自分叉存储库的拉取请求来触发 CI 工作流,但使用来自基本存储库的文件而不是分叉存储库。 无论如何这可能吗? 如果没有,有什么补救措施吗?
还想检查我对授予分叉拉取请求的所谓只读权限的理解。 为什么id-token:write
权限似乎有效? 工作流文件中的显式权限声明是否可以覆盖分叉拉取请求限制?
如果我误解了重要概念,第一次使用工作流用户,请道歉。
参考: 防止PWN攻击
我无法提供保护通用凭证的解决方案,但是我可以针对 AWS 特定凭证提出解决方法。
OpenID Connect
您可以创建一个启用 OpenID 的 IAM 角色,并trust
github 操作承担它。 这是通过我们的各种 github 操作完成的。
您可以在 github 的文档中找到更多详细信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.