跳至主要内容

限制转发端口的可见性

您可以为组织中用户在代码空间转发端口时可选择的可见性选项设置约束。

谁可以使用此功能?

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

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

概览

通常,在代码空间中,您可以将端口以私有方式转发(仅对您自己),对组织成员转发,或以公开方式转发(对拥有 URL 的任何人)。更多信息,请参阅 在您的代码空间中转发端口

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

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

如果已有的代码空间不再符合您定义的策略,这些代码空间将继续运行,直至它们被停止或超时。当用户恢复代码空间时,将受到该策略约束。

注意

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

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

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

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

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

注意

Codespaces 策略仅适用于由贵组织支付费用的代码空间。如果有人自行承担费用为组织中的仓库创建代码空间,则该代码空间不受这些策略约束。更多信息,请参阅 选择组织中代码空间的所有者和付费方

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

  1. 在 GitHub 右上角,点击您的个人资料图片,然后点击 组织

  2. 点击即可选择组织。

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

    Screenshot of the tabs in an organization's profile. The "Settings" tab is outlined in dark orange.

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

  5. 在 “Codespaces 策略” 页面,点击 创建策略

  6. 为您的新策略输入名称。

  7. 点击 添加约束 并选择 端口可见性

  8. 点击以编辑该约束。

  9. 取消选择您不希望提供的端口可见性选项(组织或公开)。

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

  10. 点击对话框外部以关闭对话框。

  11. 默认情况下,策略适用于所有仓库。如果您希望仅在组织中的部分仓库上应用该策略,请点击 “所有仓库”,然后在下拉菜单中点击 “已选仓库”。

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

    注意

    如果您在已有的策略中添加约束,而该策略已经包含 “Maximum codespaces per user”(每用户最大代码空间数) 约束,则无法将策略应用于已选仓库。这是因为 “Maximum codespaces per user” 约束始终适用于组织中的所有仓库。

    在已选仓库已选中时

    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.

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

  13. 完成向策略添加约束后,点击 保存

该策略将应用于所有计费归属贵组织的新代码空间。端口可见性约束也将在下次启动现有代码空间时生效。

编辑策略

您可以编辑已有的策略。例如,您可能想向策略添加或删除约束。

  1. 显示 “Codespaces policies”(代码空间策略) 页面。更多信息,请参阅 添加策略以限制端口可见性选项
  2. 点击您想编辑的策略名称。
  3. 在 “Port visibility”(端口可见性) 约束旁,点击.
  4. 进行所需更改后,点击 保存

删除策略

  1. 显示 “Codespaces policies”(代码空间策略) 页面。更多信息,请参阅 添加策略以限制端口可见性选项

  2. 点击在您想删除的策略右侧。

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

© . This site is unofficial and not affiliated with GitHub, Inc.