禁用或限制组织的 GitHub Actions

组织所有者可禁用、启用和限制组织的 GitHub Actions。

关于组织的 GitHub Actions 权限

默认情况下,GitHub Actions 将在所有仓库和组织上启用。 You can choose to disable GitHub Actions or limit them to local actions only, which means that people can only use actions that exist in your repository. 有关 GitHub Actions 的更多信息,请参阅“关于 GitHub Actions”。

您可以对组织中的所有仓库启用 GitHub Actions。 当您启用 GitHub Actions 时,工作流程能够运行位于您的仓库和任何其他公共仓库中的操作。 您可以对组织中的所有仓库禁用 GitHub Actions。 禁用 GitHub Actions 时,仓库中不会运行任何工作流程。

此外,您可以对组织中的所有仓库启用 GitHub Actions,但限制工作流程可以运行的操作。 当您仅启用本地操作时,工作流程只能运行位于您的仓库、组织或企业中的操作。

管理组织的 GitHub Actions 权限

您可以禁用组织的所有工作流程,或者设置策略来配置哪些操作可用于组织中。

如果您选择 Allow select actions(允许选择操作),则允许本地操作,并且还有允许其他特定操作的其他选项。 更多信息请参阅“允许特定操作运行”。

如果只允许本地操作,则策略会阻止对 GitHub 创建的操作的所有访问。 例如,actions/checkout 不可访问。

注:如果您的组织由具有覆盖策略的企业管理,您可能无法管理这些设置。 更多信息请参阅“在企业帐户中实施 GitHub Actions 策略”。

  1. 在 GitHub 的右上角,单击您的个人资料照片,然后单击 Your organizations(您的组织)个人资料菜单中的组织
  2. 在组织旁边,单击 Settings(设置)设置按钮
  3. 在左侧边栏中,单击 Actions(操作)
  4. Policies(策略)下,选择一个选项。 设置此组织的操作策略
  5. 单击 Save(保存)

允许特定操作运行

选择 Allow select actions(允许选择操作)时,允许本地操作,并且还有允许其他特定操作的其他选项。

  • 允许 GitHub 创建的操作: 您可以允许 GitHub 创建的所有操作用于工作流程。 Actions created by GitHub are located in the actions and github organizations. For more information, see the actions and github organizations.

  • Allow Marketplace actions by verified creators: You can allow all GitHub Marketplace actions created by verified creators to be used by workflows. When GitHub has verified the creator of the action as a partner organization, the badge is displayed next to the action in GitHub Marketplace.

  • Allow specified actions(允许指定的操作):您可以限制工作流程使用特定组织和仓库中的操作。

    要限制对操作中特定标记或提交 SHA 的访问,请使用工作流程中使用的 <OWNER>/<REPO>@<TAG OR SHA> 语法来选择操作。 例如,使用 actions/javascript-action@v1.0.1 选择标记,或使用 actions/javascript-action@172239021f7ba04fe7327647b213799853a9eb89 选择 SHA。 更多信息请参阅“查找和自定义操作”。

    您可以使用 * 通配符来匹配模式。 例如,要允许以 space-org 开头的组织中的所有操作,您可以指定 space-org*/*。 要在仓库中添加以 octocat 开头的所有操作,可以使用 */octocat*@*。 有关使用 * 通配符的更多信息,请参阅“GitHub Actions 的工作流程语法”。

    注: Allow specified actions(允许指定的操作)仅可用于具有 GitHub Free、GitHub Pro、组织的 GitHub Free 或 GitHub Team 计划的公共仓库。

此过程演示如何向允许列表添加特定操作。

  1. 在 GitHub 的右上角,单击您的个人资料照片,然后单击 Your organizations(您的组织)个人资料菜单中的组织
  2. 在组织旁边,单击 Settings(设置)设置按钮
  3. 在左侧边栏中,单击 Actions(操作)
  4. Policies(策略)下,选择 Allow select actions(允许选择操作)并将所需操作添加到列表中。 添加操作到允许列表
  5. 单击 Save(保存)

配置公共复刻工作流程所需的批准

任何人都可以复刻公共仓库,然后提交建议更改仓库 GitHub Actions 工作流程的拉取请求。 虽然来自复刻的工作流程无法访问敏感数据(如密钥),但如果出于滥用目的进行修改,可能会让维护者感到烦恼。

为了帮助防止这种情况,某些外部贡献者向公共仓库提出的关于拉取请求的工作流程不会自动运行,可能需要先批准。 默认情况下,所有首次贡献者都需要批准才能运行工作流程。

Note: Workflows triggered by pull_request_target events are run in the context of the base branch. Since the base branch is considered trusted, workflows triggered by these events will always run, regardless of approval settings.

You can configure this behavior for an organization using the procedure below. 修改此设置会覆盖企业级别的配置集。

  1. 在 GitHub 的右上角,单击您的个人资料照片,然后单击 Your organizations(您的组织)个人资料菜单中的组织

  2. 在组织旁边,单击 Settings(设置)设置按钮

  3. 在左侧边栏中,单击 Actions(操作)

  4. Fork pull request workflows from outside collaborators(从外部贡献者复刻拉取请求工作流程)下,选择您的选项。 选项按照从限制最少到限制最多的顺序列出。

    公共复刻工作流程批准设置

  5. 单击 Save(保存)以应用设置。

有关批准此政策适用的工作流程运行的更多信息,请参阅“批准公共复刻中的工作流程运行”。

为私有仓库复刻启用工作流程

如果您依赖于使用私有仓库的复刻,您可以配置策略来控制用户如何在 pull_request 事件上运行工作流程。 Available to private and internal repositories only, you can configure these policy settings for enterprises, organizations, or repositories. 对于企业,该策略将应用到所有组织中的所有仓库。

  • Run workflows from fork pull requests(从复刻拉取请求运行工作流程) - 允许用户使用具有只读权限、没有密码访问权限的 GITHUB_TOKEN从复刻拉取请求运行工作流程。
  • Send write tokens to workflows from pull requests(从拉取请求向工作流程发送写入令牌) - 允许从复刻拉取请求以使用具有写入权限的 GITHUB_TOKEN
  • Send secrets to workflows from pull requests(从拉取请求向工作流程发送密码) - 使所有密码可用于拉取请求。

为组织配置私有复刻策略

  1. 在 GitHub 的右上角,单击您的个人资料照片,然后单击 Your organizations(您的组织)个人资料菜单中的组织
  2. 在组织旁边,单击 Settings(设置)设置按钮
  3. 在左侧边栏中,单击 Actions(操作)
  4. Fork pull request workflows(复刻拉取请求工作流程)下,选择您的选项。 例如: 启用、禁用或限制此仓库的操作
  5. 单击 Save(保存)以应用设置。

为您的组织设置 GITHUB_TOKENN 的权限

您可以设置授予 GITHUB_TOKEN 的默认权限。 有关 GITHUB_TOKEN 的更多信息,请参阅“工作流程中的身份验证”。 您可以选择一组有限的权限作为默认或权限设置。

您可以在组织或仓库的设置中为 GITHUB_TOKEN 设置默认权限。 如果您在组织设置中选择受限制的选项为默认值,则在您的组织内仓库的设置中,自动选择相同的选项,允许选项也会被禁用。 如果您的组织属于 GitHub Enterprise 帐户,并且在企业设置中选择了更受限制的默认值,则您将无法在组织设置中选择更宽松的默认值。

任何拥有仓库写入权限的人都可以通过编辑工作流程文件中的 permissions 键来修改授予 GITHUB_TOKEN 的权限,或者根据需要添加或删除权限。 更多信息请参阅 permissions

配置默认 GITHUB_TOKENN 权限

  1. 在 GitHub 的右上角,单击您的个人资料照片,然后单击 Your profile(您的个人资料)个人资料照片
  2. 在 GitHub 的右上角,单击您的个人资料照片,然后单击 Your organizations(您的组织)个人资料菜单中的组织
  3. 在组织旁边,单击 Settings(设置)设置按钮
  4. 在左侧边栏中,单击 Actions(操作)
  5. Workflow permissions(工作流程权限)下,选择您是否想要 GITHUB_TOKENN 读写所有范围限, 或者只读内容范围。 为此组织设置 GITHUB_TOKENN 权限
  6. 单击 Save(保存)以应用设置。

此文档对您有帮助吗?

隐私政策

帮助我们创建出色的文档!

所有 GitHub 文档都是开源的。看到错误或不清楚的内容了吗?提交拉取请求。

做出贡献

或, 了解如何参与。