Skip to main content

控制对较大运行器的访问

可以使用策略来限制对已添加到组织或企业的 大型运行器 的访问。

谁可以使用此功能

大型运行器 目前仅对使用 GitHub Team 或 GitHub Enterprise Cloud 计划的组织和企业可用。

注意:**** 本文中的信息和说明仅适用于使用 Linux 和 Windows 操作系统的 大型运行器。

关于运行器组

要在组织级别,使用 GitHub Team 计划的组织可以使用运行器组。

运行器组用于收集运行器集,并围绕它们创建安全边界。 随后可以确定允许哪些组织或存储库在这些计算机集上运行作业。组织所有者可以配置访问策略,用于控制组织中的哪些存储库有权访问运行器组。

当你授予对运行器组的访问权限时,可以看到组织的运行器设置中列出的运行器组。 或者,你可以为运行器组分配更精细的存储库访问策略。

在创建新运行器时,除非另有指定,否则它们将自动分配给默认组。 运行器每次只能在一个组中。 可以将运行器从一个运行器组移动到另一个运行器组。 有关详细信息,请参阅“将运行器移动到组”。

有关如何将作业路由到特定组中的运行器的信息,请参阅“选择作业的运行器”。

管理对运行器的访问

注意:必须先为运行器组配置权限,然后工作流才能将作业发送到 大型运行器。 有关详细信息,请参阅下列各节。

运行器组用于控制哪些存储库可以在 大型运行器 上运行作业。 必须从管理层次结构的各个级别管理对组的访问,具体取决于定义 大型运行器 的位置:

  • 企业级运行器:默认情况下,组织中的存储库无权访问企业级运行器组。 若要向存储库授予对企业运行器组的访问权限,组织所有者必须配置每个企业运行器组,并选择要授予访问权限的存储库。
  • 组织级运行器:默认情况下,向组织中的所有存储库授予对组织级运行器组的访问权限。 若要限制哪些存储库具有访问权限,组织所有者必须配置组织运行器组并选择要授予访问权限的存储库。

例如,下图包含一个企业级别的名为 grp-ubuntu-20.04-16core 的运行器组。 在名为 octo-repo 的存储库可以使用该组中的运行器之前,必须先在企业级别配置该组以允许访问 octo-org 组织。 然后必须在组织级别配置该组以允许访问 octo-repo

显示企业级别的运行器组与组织之间以及组织与组织拥有的两个存储库之间的锁的示意图。

为组织创建运行器组

警告:如果使用固定 IP 范围,建议仅对专用存储库使用 大型运行器。 公共存储库的分支可能会通过创建在工作流中执行代码的拉取请求,在 大型运行器 上运行危险代码。

所有组织都有单个默认运行器组。 使用 GitHub Team 计划的组织可以创建其他组。 组织管理员可以允许单个仓库访问运行器组。 有关如何使用 REST API 创建运行器组的信息,请参阅“操作”。

如果在注册过程中未指定任何组,则运行器会自动添加到默认组。 稍后可以将运行器从默认组移动到自定义组。 有关详细信息,请参阅“将运行器移动到组”。

创建组时,你必须选择一个策略,用于定义哪些存储库有权访问运行器组。

  1. 在 GitHub.com 上,导航到组织的主页。

  2. 在组织名称下,单击 “设置”****。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”********。

    组织配置文件中选项卡的屏幕截图。 “设置”选项卡以深橙色标出。

  3. 在左侧边栏中,单击 “操作”,然后单击“运行器组” 。

  4. 在“运行器组”部分,单击“新建运行器组”。

  5. 为运行器组输入名称。

  6. 分配存储库访问策略。

    可以将运行器组配置为可供特定的存储库列表或组织中的所有存储库访问。默认情况下,只有私有存储库可以访问运行器组中的运行器,但你可以覆盖此操作。 如果配置企业共享的组织的运行组,则不能覆盖此设置。

  7. 单击“创建组”以创建组并应用策略。

更改可以访问运行器组的存储库

警告:如果使用固定 IP 范围,建议仅对专用存储库使用 大型运行器。 公共存储库的分支可能会通过创建在工作流中执行代码的拉取请求,在 大型运行器 上运行危险代码。

对于组织中的运行器组,可以更改组织中哪些存储库可以访问运行器组。

  1. 导航到运行器组所在的组织的主页。

  2. 单击 “设置”。

  3. 在左侧边栏中,单击 “操作”,然后单击“运行器组” 。

  4. 在组列表中,单击要配置的运行器组。

  5. 在“存储库访问”下,使用下拉菜单单击“所选组织”。

    1. 在下拉菜单右侧,单击
    2. 在弹出窗口中,使用复选框选择可以访问此运行器组的存储库。
  6. 单击 “保存组”

更改运行器组的名称

  1. 导航到运行器组所在的组织的主页。

  2. 单击 “设置”。

  3. 在左侧边栏中,单击 “操作”,然后单击“运行器组” 。

  4. 在组列表中,单击要配置的运行器组。

  5. 在“组名称”下的文本字段中输入新的运行器组名称。

  6. 单击“ 保存”。

将运行器移动到组

如果在注册过程中没有指定运行器组,新运行器会自动分配到默认组,然后可以移到另一个组。

  1. 在 GitHub.com 上,导航到组织的主页。

  2. 在组织名称下,单击 “设置”****。 如果看不到“设置”选项卡,请选择“”下拉菜单,然后单击“设置”********。

    组织配置文件中选项卡的屏幕截图。 “设置”选项卡以深橙色标出。

  3. 在左侧边栏中,单击 “操作”,然后单击“运行器” 。

  4. 在“Runners(运行器)”列表中,单击您要配置的运行器。

  5. 选择“运行器组”下拉列表。

  6. 在“Move runner to group(将运行器移动到组)”中,选择运行器的目的地组。

移除运行器组

若要删除运行器组,必须首先从组中移动或删除所有运行器。

  1. 导航到运行器组所在的组织的主页。

  2. 单击 “设置”。

  3. 在左侧边栏中,单击 “操作”,然后单击“运行器组” 。

  4. 在组列表中,在要删除的组右侧,单击

  5. 若要删除组,请单击“删除组”。

  6. 查看确认提示,然后单击“删除此运行器组”。