跳至主要内容

限制转发端口的可见性

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

谁可以使用此功能?

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

GitHub Team 和 GitHub Enterprise 计划上的组织可以为成员和协作者使用 GitHub Codespaces 付费。然后,这些组织可以访问设置和策略来管理组织付费的 codespaces。有关更多信息,请参阅“选择谁拥有和支付组织中的 codespaces”和“GitHub 的计划”。

概述

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

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

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

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

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

设置组织范围和特定于存储库的策略

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

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

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

注意:Codespaces 策略仅适用于您的组织付费的 codespace。如果有人以自己的费用为组织中的存储库创建了 codespace,那么 codespace 将不受这些策略的约束。有关更多信息,请参阅“选择谁拥有和支付组织中的 codespace”。

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

  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.