关于操作策略
操作策略允许你控制工作流的运行方式 GitHub Actions 。 可以在设置的GitHub Actions**“策略**”部分中配置它们(独立于常规设置)。
操作策略在企业、组织和存储库级别可用。 它们当前包含一种类型的策略:工作流执行保护。 GitHub 计划随着时间的推移添加更多策略。
关于工作流执行保护机制
使用工作流执行保护,可以定义允许列表,用于控制谁可以触发 GitHub Actions 工作流以及允许哪些事件运行它们。 这些保护可能会中断多个实际攻击模式:
- 由拉取请求触发的受污染管道执行。 限制或禁止
pull_request_target,包括在最常被利用的公共存储库中。 - 手动触发滥用。 限制
workflow_dispatch,因此不受信任的标识无法启动工作流。 - 非信任方执行。 完全阻止低信任身份触发工作流。
- 配置不当。 应用覆盖任何单个配置错误工作流文件的中央策略。
强制实施后,不允许的工作流运行将失败并出现错误。 例如:
Event 'workflow_dispatch' is not allowed to trigger Actions workflows. Workflow file: '.github/workflows/0-welcome.yml'.
注意
GitHub 添加了一个默认策略,用于阻止 pull_request_target 公共存储库中的事件。 此策略将于 2026 年 11 月 2 日强制执行。 请参阅“安全地使用 pull_request_target”。
可用规则
- 执行组件规则 控制谁可以触发工作流,包括单个用户、存储库角色 GitHub Apps、 Copilot和 Dependabot。 默认情况下,对存储库具有写入访问权限的每个用户都可以触发工作流。 执行组件规则允许将参与代码的人员与运行 CI 的人员分开,以便你可以授予参与者写入访问权限,而无需授予他们执行工作流的能力。
- 事件规则控制允许的事件,例如
push,pull_request``pull_request_target和workflow_dispatch。
GitHub 计划随着时间的推移添加更多规则。
后续步骤
若要配置工作流执行保护,请参阅 控制谁可以执行 GitHub Actions 工作流。
若要以编程方式管理策略,请参阅 GitHub Actions 策略的 REST API 端点。