[英]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.