控制触发GitHub Actions工作流的人员和内容

GitHub Enterprise、组织和存储库的工作流执行保护现在处于公开预览状态。这项新功能允许企业管理员定义一个允许列表,控制谁可以触发GitHub…… POST控制谁以及什么触发了GitHub Actions工作流程……

GitHub Enterprise、组织和存储库的工作流执行保护现在处于公开预览状态。此新功能允许企业管理员定义一个允许列表,控制谁可以触发GitHub Actions工作流以及允许哪些事件运行它们,从而为您提供可预测的安全工作流执行。以前,工作流是根据触发它的提交中的工作流文件运行的。

具有存储库访问权限的攻击者可以修改该文件以运行恶意代码。工作流程执行保护缩小了这一差距。管理员定义规则, GitHub Actions在运行前对其进行评估,因此未经授权的参与者或事件永远不会触发不需要的工作流执行。工作流执行保护构建在GitHub规则集框架上,因此您已经从规则集中了解到的目标也在此处工作。

您可以使用组织范围的规则集在整个企业中应用保护,并使用存储库自定义属性将其范围扩展到特定存储库。这意味着您不再一次推理一个YAML文件的安全性,而是在一个地方提供广泛的保护。您还可以使用评估模式在阴影中运行规则,以便在实施和推出策略之前准确查看规则将阻止的内容。

这有助于防止您破坏现有工作流程。事件和参与者是前两种规则类型,我们将随着时间的推移添加更多规则。参与者规则控制谁可以触发工作流程,包括个人用户、存储库角色(例如,读取、维护和管理)、GitHub应用、Copilot和Dependabot。事件规则控制允许的事件,例如PUSH、PULL_REQUEST、PULL_REQUEST_TARGET和WORKFLOW_DISPATCH。

默认情况下,对存储库具有写入权限的每个用户都可以触发工作流。参与者规则允许您将代码的贡献者与CI的运行者分开,因此您可以授予贡献者写入权限,而无需授予他们执行工作流的能力。