{"meta":{"title":"工作流执行保护机制","intro":"使用工作流执行保护可以控制谁可以触发 GitHub Actions 工作流，以及允许哪些事件在整个组织中运行它们。","product":"组织","breadcrumbs":[{"href":"/zh/organizations","title":"组织"},{"href":"/zh/organizations/managing-organization-settings","title":"管理组织设置"},{"href":"/zh/organizations/managing-organization-settings/actions-policies","title":"操作策略"},{"href":"/zh/organizations/managing-organization-settings/actions-policies/workflow-execution-protections","title":"工作流执行保护机制"}],"documentType":"article"},"body":"# 工作流执行保护机制\n\n使用工作流执行保护可以控制谁可以触发 GitHub Actions 工作流，以及允许哪些事件在整个组织中运行它们。\n\n> \\[!NOTE]\n> 工作流执行保护位于 公开预览 且可能会更改。\n\n## 关于工作流执行保护机制\n\n使用工作流执行保护可以定义允许列表，该列表控制谁可以触发 GitHub Actions 工作流以及允许哪些事件运行它们。 以前，工作流根据触发它的提交中的工作流文件运行，具有存储库访问权限的攻击者可以修改该文件以运行恶意代码。 工作流执行保护会缩小这一差距。 管理员定义规则，并在 GitHub Actions 工作流运行之前对其进行评估，因此未经授权的执行组件或事件永远不会达到执行。\n\n企业、组织和存储库级别提供工作流执行保护。\n\n## 由规则集提供支持\n\n工作流执行保护基于 GitHub 规则集框架构建，因此你从规则集中已知道的目标也适用于此处。 可以使用规则集应用保护，并使用存储库自定义属性将其限定为特定存储库。 这意味着你可以从一个位置强制实施广泛的保护，而不是单独配置每个工作流文件。 有关规则集的详细信息，请参阅 [关于规则集](/zh/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets)。\n\n还可以使用评估模式运行规则，而无需强制执行这些规则。 评估模式显示规则在强制实施之前会阻止的确切内容，以便无需中断现有工作流即可推出策略。\n\n## 可用规则\n\n事件和参与者是前两个规则，并 GitHub 计划随着时间的推移添加更多规则。\n\n* **执行组件规则**控制谁可以触发工作流，包括单个用户、存储库角色，如读取、维护和管理员、GitHub AppsCopilot以及Dependabot。\n* **事件规则**控制允许的事件，例如`push`，`pull_request``pull_request_target`和`workflow_dispatch`。\n\n默认情况下，对存储库具有写入访问权限的每个用户都可以触发工作流。 执行组件规则允许将参与代码的人员与运行 CI 的人员分开，以便你可以授予参与者写入访问权限，而无需授予他们执行工作流的能力。\n\n## 停止常见攻击者技术\n\n工作流执行保护会中断多个实际攻击模式：\n\n* **由拉取请求触发的受污染管道执行。** 限制或禁止 `pull_request_target`，包括在最常被利用的公共存储库中。\n* **手动触发滥用。** 将 `workflow_dispatch` 限制为仅维护者可用，这样不受信任的身份就无法启动工作流。\n* **非信任方执行。** 完全阻止低信任身份触发工作流。\n* **配置不当。** 应用覆盖任何单个配置错误工作流文件的中央策略。\n\n## 配置工作流执行保护\n\n你可以在你的 GitHub Actions 设置中的新 **策略** 部分配置工作流执行保护。 此 **策略** 部分与现有的 **常规** 设置分开。\n\n1. 在 GitHub 的右上角，单击个人资料图片，然后单击“<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-organization\" aria-label=\"organization\" role=\"img\"><path d=\"M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z\"></path></svg> Your organizations”\\*\\*\\*\\*。\n2. 单击以选择一个组织。\n3. 在组织名称下，单击 <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-gear\" aria-label=\"gear\" role=\"img\"><path d=\"M8 0a8.2 8.2 0 0 1 .701.031C9.444.095 9.99.645 10.16 1.29l.288 1.107c.018.066.079.158.212.224.231.114.454.243.668.386.123.082.233.09.299.071l1.103-.303c.644-.176 1.392.021 1.82.63.27.385.506.792.704 1.218.315.675.111 1.422-.364 1.891l-.814.806c-.049.048-.098.147-.088.294.016.257.016.515 0 .772-.01.147.038.246.088.294l.814.806c.475.469.679 1.216.364 1.891a7.977 7.977 0 0 1-.704 1.217c-.428.61-1.176.807-1.82.63l-1.102-.302c-.067-.019-.177-.011-.3.071a5.909 5.909 0 0 1-.668.386c-.133.066-.194.158-.211.224l-.29 1.106c-.168.646-.715 1.196-1.458 1.26a8.006 8.006 0 0 1-1.402 0c-.743-.064-1.289-.614-1.458-1.26l-.289-1.106c-.018-.066-.079-.158-.212-.224a5.738 5.738 0 0 1-.668-.386c-.123-.082-.233-.09-.299-.071l-1.103.303c-.644.176-1.392-.021-1.82-.63a8.12 8.12 0 0 1-.704-1.218c-.315-.675-.111-1.422.363-1.891l.815-.806c.05-.048.098-.147.088-.294a6.214 6.214 0 0 1 0-.772c.01-.147-.038-.246-.088-.294l-.815-.806C.635 6.045.431 5.298.746 4.623a7.92 7.92 0 0 1 .704-1.217c.428-.61 1.176-.807 1.82-.63l1.102.302c.067.019.177.011.3-.071.214-.143.437-.272.668-.386.133-.066.194-.158.211-.224l.29-1.106C6.009.645 6.556.095 7.299.03 7.53.01 7.764 0 8 0Zm-.571 1.525c-.036.003-.108.036-.137.146l-.289 1.105c-.147.561-.549.967-.998 1.189-.173.086-.34.183-.5.29-.417.278-.97.423-1.529.27l-1.103-.303c-.109-.03-.175.016-.195.045-.22.312-.412.644-.573.99-.014.031-.021.11.059.19l.815.806c.411.406.562.957.53 1.456a4.709 4.709 0 0 0 0 .582c.032.499-.119 1.05-.53 1.456l-.815.806c-.081.08-.073.159-.059.19.162.346.353.677.573.989.02.03.085.076.195.046l1.102-.303c.56-.153 1.113-.008 1.53.27.161.107.328.204.501.29.447.222.85.629.997 1.189l.289 1.105c.029.109.101.143.137.146a6.6 6.6 0 0 0 1.142 0c.036-.003.108-.036.137-.146l.289-1.105c.147-.561.549-.967.998-1.189.173-.086.34-.183.5-.29.417-.278.97-.423 1.529-.27l1.103.303c.109.029.175-.016.195-.045.22-.313.411-.644.573-.99.014-.031.021-.11-.059-.19l-.815-.806c-.411-.406-.562-.957-.53-1.456a4.709 4.709 0 0 0 0-.582c-.032-.499.119-1.05.53-1.456l.815-.806c.081-.08.073-.159.059-.19a6.464 6.464 0 0 0-.573-.989c-.02-.03-.085-.076-.195-.046l-1.102.303c-.56.153-1.113.008-1.53-.27a4.44 4.44 0 0 0-.501-.29c-.447-.222-.85-.629-.997-1.189l-.289-1.105c-.029-.11-.101-.143-.137-.146a6.6 6.6 0 0 0-1.142 0ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0ZM9.5 8a1.5 1.5 0 1 0-3.001.001A1.5 1.5 0 0 0 9.5 8Z\"></path></svg>“Settings”\\*\\*\\*\\*。 如果看不到“设置”选项卡，请选择“<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-kebab-horizontal\" aria-label=\"kebab horizontal icon\" role=\"img\"><path d=\"M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z\"></path></svg>”下拉菜单，然后单击“设置”\\*\\*\\*\\*\\*\\*\\*\\*。\n\n   ![组织配置文件中选项卡的屏幕截图。 “设置”选项卡以深橙色标出。](/assets/images/help/discussions/org-settings-global-nav-update.png)\n4. 在左侧边栏中的 **“操作**”下，单击“ **策略**”。\n5. 创建规则集，然后添加事件规则和参与者规则。\n6. 选择规则集是活动还是处于评估模式，然后保存更改。"}