Skip to main content
Skip to content

关于操作策略

控制 GitHub Actions 工作流在您的存储库、组织或企业内如何运行。

关于操作策略

操作策略允许你控制工作流的运行方式 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 端点。