跳至主要内容

限制转发端口的可见性

您可以对用户从组织中的 Codespaces 转发端口时可以选择可见性选项设置约束。

谁可以使用此功能?

要管理对组织中仓库的端口可见性约束的访问权限,您必须是该组织的所有者。

GitHub 团队版和 GitHub Enterprise 版的组织可以支付成员和协作者使用 GitHub Codespaces 的费用。这些组织随后可以访问设置和策略来管理组织付费的 Codespaces。有关更多信息,请参阅“选择谁拥有和支付组织中的 Codespaces”和“GitHub 的套餐”。

概述

通常,在 Codespace 中,您可以私下转发端口(仅限于您自己)、转发给组织成员或公开转发(任何拥有 URL 的人都可以)。有关更多信息,请参阅“在 Codespace 中转发端口”。

作为组织所有者,您可能希望配置对用户在转发端口时可以设置的可见性选项的约束。例如,出于安全原因,您可能希望禁止公开端口转发。您可以通过在组织的 GitHub Codespaces 设置中定义一个或多个策略来实现此目的。

设置端口可见性约束后的行为

如果存在不再符合您已定义策略的现有 Codespaces,则这些 Codespaces 将继续运行,直到它们停止或超时。当用户恢复 Codespace 时,它将受到策略约束。

注意

您无法禁用私有端口转发,因为 GitHub Codespaces 需要私有端口转发才能按预期工作,例如转发端口 22 上的 SSH。

设置组织范围和仓库特定的策略

创建策略时,您可以选择它应用于组织中的所有仓库,还是仅应用于指定的仓库。如果您设置了组织范围的策略,那么您为单个仓库设置的任何策略都必须符合组织级别设置的限制。添加策略会使可见性选项的选择更严格,而不是更宽松。

例如,您可以创建一个组织范围的策略,将可见性选项限制为仅限组织。然后,您可以为仓库 A 设置一个策略,禁止公共和组织可见性,这将导致只有私有端口转发可用于此仓库。为仓库 A 设置允许公共和组织可见性的策略将导致只有组织可见性,因为组织范围的策略不允许公共可见性。

如果您添加组织范围的策略,则应将其设置为组织中任何仓库都可用的最宽松的可见性选项。然后,您可以添加仓库特定的策略以进一步限制选择。

注意

Codespaces 策略仅适用于您的组织付费的 Codespaces。如果有人自行承担费用为组织中的仓库创建 Codespace,则该 Codespace 将不受这些策略约束。有关更多信息,请参阅“选择谁拥有并支付组织中的 Codespaces”。

添加策略以限制端口可见性选项

  1. 在 GitHub 的右上角,选择您的个人资料照片,然后单击 您的组织.

  2. 在组织旁边,单击**设置**。

  3. 在侧边栏的“代码、规划和自动化”部分,选择** Codespaces**,然后单击**策略**。

  4. 在“Codespaces 策略”页面上,单击**创建策略**。

  5. 输入新策略的名称。

  6. 单击**添加约束**并选择**端口可见性**。

  7. 单击以编辑约束。

  8. 清除您不想使用的端口可见性选项(**组织**或**公共**)的选择。

    Screenshot of the "Allowed values" dropdown, with two checkboxes. "Org" is selected and "Public" is cleared.

  9. 单击对话框外部将其关闭。

  10. 默认情况下,策略设置为应用于所有仓库,如果您希望它仅应用于组织中的某些仓库,请单击**所有仓库**,然后单击下拉菜单中的**选定仓库**。

    Screenshot of the repository selection dropdown, showing the options "All repositories" and "Selected repositories."

    注意

    如果您向已包含“每个用户的最大 Codespaces 数”约束的现有策略添加约束,则您将无法将该策略应用于选定的仓库。这是因为“每个用户的最大 Codespaces 数”约束始终应用于组织中的所有仓库。

    已选择**选定仓库**

    1. 单击.

      Screenshot of the settings icon (a gear symbol) to the left of a button labeled "Selected repositories."

    2. 选择您希望此策略应用到的仓库。

    3. 在仓库列表底部,单击**选择仓库**。

      Screenshot of a list of repositories, each with a checkbox. Three repositories are selected.

  11. 如果您想向策略添加另一个约束,请单击**添加约束**并选择另一个约束。有关其他约束的信息,请参阅

  12. 完成向策略添加约束后,单击**保存**。

该策略将应用于所有向您的组织计费的新 Codespaces。端口可见性约束也将在下次启动现有 Codespaces 时应用。

编辑策略

您可以编辑现有策略。例如,您可能希望向策略添加或从中删除约束。

  1. 显示“Codespaces 策略”页面。有关更多信息,请参阅“添加策略以限制端口可见性选项”。
  2. 单击要编辑的策略的名称。
  3. 在“端口可见性”约束旁边,单击.
  4. 进行必要的更改,然后单击**保存**。

删除策略

  1. 显示“Codespaces 策略”页面。有关更多信息,请参阅“添加策略以限制端口可见性选项”。

  2. 单击在要删除的策略右侧。

    Screenshot of a policy with the delete button (a trash can icon) highlighted with a dark orange outline.