Skip to main content

管理组织允许的 IP 地址

可以通过配置允许连接的 IP 地址列表来限制对组织专用资产的访问。

谁可以使用此功能?

Organization owners can manage allowed IP addresses for an organization.

关于允许的 IP 地址

默认情况下,授权用户可以从任何 IP 地址访问你组织的资源。 可以配置允许或拒绝通过特定 IP 地址访问的列表来限制对组织专用资源的访问。 例如,你可以只允许从你的办公网络的 IP 地址访问专用资源。

配置 IP 允许列表后,该列表将确定用户是否可以使用以下任一身份验证方法通过 Web UI、API 或 Git 访问受保护的资源:

  • 使用 GitHub 身份验证或 SAML SSO 的用户名和密码
  • Personal access token
  • SSH 密钥

IP 允许列表适用于具有任何角色或访问权限的用户,包括企业和组织所有者、存储库管理员和外部协作者。

您可以使用 CIDR 表示法批准访问单个 IP 地址或地址范围。 有关详细信息,请参阅维基百科上的”CIDR 表示法”。

注意:

  • 只有使用 GitHub Enterprise Cloud 的组织才能使用 IP 允许列表。 有关如何免费试用 GitHub Enterprise Cloud 的详细信息,请参阅“设置 GitHub Enterprise Cloud 的试用版”。
  • 如果为组织配置了 IP 允许列表,则无法将 GitHub Codespaces 用于组织拥有的存储库。

哪些资源受到保护?

IP 允许列表限制对以下项的访问:

  • 组织拥有的存储库
  • 专用和内部存储库
  • 公共资源,当用户登录到 GitHub 时
  • 存储库中文件的原始 URL,如 https://raw.githubusercontent.com/octo-org/octo-repo/main/README.md?token=ABC10001

IP 允许列表不会限制对以下项的访问:

  • 存储库(包括分支),由 托管用户帐户 拥有
  • 公共资源,匿名访问时
  • GitHub Copilot 功能,不需要直接从 GitHub 提取私有数据或组织数据
  • 已上传到问题或拉取请求(如 https://private-user-images.githubusercontent.com/10001/20002.png?jwt=ABC10001)的图像和视频的匿名 URL,除非使用 具有数据驻留的 GitHub Enterprise Cloud

关于 IP 允许列表管理

要执行 IP 允许列表,必须先将 IP 地址添加到列表,然后启用 IP 允许列表。 在完成列表后,可以检查列表中任何已启用条目是否允许使用特定 IP 地址。

您必须先添加当前 IP 地址或匹配范围,然后才能启用 IP 允许列表。

如果您设置了允许列表,您还可以选择将为组织中安装的 GitHub Apps 配置的任何 IP 地址自动添加到允许列表中。 GitHub App 的创建者可以为其应用程序配置允许列表,指定应用程序运行的 IP 地址。 通过将允许列表继承到您的列表中,您可以避免申请中的连接请求被拒绝。 有关详细信息,请参阅“允许 GitHub Apps 进行访问”。

还可以在企业帐户级别配置允许的 IP 地址,企业帐户允许列表中的条目由企业拥有的所有组织继承。 组织所有者可以向其组织的允许列表添加其他条目,但他们无法管理从企业帐户的允许列表继承的条目,企业所有者也无法管理添加到组织的允许列表的条目。有关详细信息,请参阅“为企业中的安全设置实施策略”。

警告: 如果失去对 IP 允许列表中 IP 地址的访问权限,可能会导致意外后果,例如锁定企业或组织。

最佳做法是,要在创建 IP 允许列表时确保对企业和组织资源安全可靠的访问,请考虑以下事项:

  • 维护将为其强制执行 IP 允许列表的企业帐户或组织的多个所有者。
  • 使用 CIDR 表示法指定将包括动态分配的地址 IP 地址范围,以最大程度减少允许列表条目的数量。
  • 在允许的 IP 地址中包含静态网络,以便在出现问题时进行备份访问。

添加允许的 IP 地址

可以通过添加每个包含 IP 地址或地址范围的条目来创建 IP 允许列表。 在添加完条目后,可以检查列表中任何已启用条目是否允许使用特定 IP 地址。

对于企业中的组织拥有的专用资产,在列表限制对这些资产的访问权限之前,还必须启用允许的 IP 地址。

注意:GitHub 正在逐步推出对 IPv6 的支持。 随着 GitHub 服务继续添加 IPv6 支持,我们将开始识别 GitHub 用户的 IPv6 地址。 若要防止可能的访问中断,请确保将任何所需的 IPv6 地址添加到 IP 允许列表。

注意: 由于缓存的原因,添加或移除 IP 地址后可能需要几分钟才能完全生效。

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

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

  3. 在侧边栏的“安全性”部分中,单击“ 身份验证安全性”。

  4. 在“IP 允许列表”部分的底部,在“采用 CIDR 表示法的 IP 地址或范围”字段中,键入以 CIDR 表示法表示的 IP 地址或地址范围。

    IP 允许列表设置的屏幕截图。 标记为“采用 CIDR 表示法的 IP 地址或范围”的文本字段以橙色边框突出显示。

  5. (可选)在“IP 地址或范围的简短说明”字段中,输入允许的 IP 地址或范围的说明。

  6. 单击“添加”。

  7. (可选)检查列表中是否有任何已启用条目允许使用特定 IP 地址。 有关详细信息,请参阅“检查是否允许使用 IP 地址”。

启用允许的 IP 地址

创建 IP 允许列表后,可以启用允许的 IP 地址。 启用允许的 IP 地址时,GitHub 会立即强制实施 IP 允许列表中的任何已启用条目。

Note

为组织启用 IP 允许列表后,将无法将 GitHub Codespaces 用于组织拥有的存储库。

在启用你的 IP 允许列表之前,可以检查你的允许列表是否允许来自特定 IP 地址的连接。 有关详细信息,请参阅“检查是否允许使用 IP 地址”。

  1. 在 GitHub 的右上角,选择个人资料照片,然后单击 你的组织”。
  2. 在组织旁边,单击“设置”。
  3. 在侧边栏的“安全性”部分中,单击“ 身份验证安全性”。
  4. 在“IP 允许列表”下,选择“启用 IP 允许列表”。
  5. 单击“ 保存”。

允许 GitHub Apps 访问

如果您设置允许列表,您还可以选择将为组织中安装的 GitHub Apps 配置的任何 IP 地址自动添加到允许列表中。

如果你在允许列表设置中选择“为已安装的 GitHub 应用程序启用 IP 允许列表配置”,则来自已安装 GitHub Apps 的 IP 地址将添加到你的允许列表中。 不管您的允许列表目前是否启用,都会发生这种情况。 如果您安装 GitHub App,然后该应用程序的创建者更改其允许列表中的地址,则允许列表会自动更新这些更改。

您可以通过查看描述字段来识别从 GitHub Apps 自动添加的 IP 地址。 这些 IP 地址的描述是:“由 NAME GitHub App管理”。 与手动添加的地址不同,您无法编辑、删除或禁用从 GitHub Apps 自动添加的 IP 地址。

注意: GitHub App IP 允许列表中的地址仅影响 GitHub App 安装提出的请求。 将 GitHub App 的 IP 地址自动添加到组织的允许列表中不允许访问从该 IP 地址连接的 GitHub Enterprise Cloud 用户。

若要详细了解如何为已创建的 GitHub App 创建允许列表,请参阅“管理 GitHub 应用程序允许的 IP 地址”。

  1. 在 GitHub 的右上角,选择个人资料照片,然后单击 你的组织”。
  2. 在组织旁边,单击“设置”。
  3. 在侧边栏的“安全性”部分中,单击“ 身份验证安全性”。
  4. 在“IP 允许列表”下,选择“为已安装的 GitHub 应用启用 IP 允许列表配置”。
  5. 单击“ 保存”。

编辑允许的 IP 地址

可以在 IP 允许列表中编辑条目。 如果编辑已启用的条目,则更改会立即实施。

在编辑完条目后,可以检查在启用你的允许列表后,你的允许列表是否允许来自特定 IP 地址的连接。

  1. 在 GitHub 的右上角,选择个人资料照片,然后单击 你的组织”。
  2. 在组织旁边,单击“设置”。
  3. 在侧边栏的“安全性”部分中,单击“ 身份验证安全性”。
  4. 在“IP 允许列表”下,在你要编辑的条目旁边,单击“编辑”。
  5. 在“IP 地址”字段中,以 CIDR 表示法键入 IP 地址或地址范围。
  6. 在“说明”字段中,输入允许的 IP 地址或范围的说明。
  7. 单击“更新”。
  8. (可选)检查列表中是否有任何已启用条目允许使用特定 IP 地址。 有关详细信息,请参阅“检查是否允许使用 IP 地址”。

检查是否允许使用 IP 地址

可以检查 IP 允许列表中是否有任何已启用条目允许使用特定 IP 地址(即使列表当前未启用)。

  1. 在 GitHub 的右上角,选择个人资料照片,然后单击 你的组织”。
  2. 在组织旁边,单击“设置”。
  3. 在侧边栏的“安全性”部分中,单击“ 身份验证安全性”。
  4. 在“IP 允许列表”部分的末尾,在“检查 IP 地址”下输入 IP 地址。
    “检查 IP 地址”文本字段的屏幕截图。

删除允许的 IP 地址

注意: 由于缓存的原因,添加或移除 IP 地址后可能需要几分钟才能完全生效。

  1. 在 GitHub 的右上角,选择个人资料照片,然后单击 你的组织”。
  2. 在组织旁边,单击“设置”。
  3. 在侧边栏的“安全性”部分中,单击“ 身份验证安全性”。
  4. 在“IP 允许列表”下,单击要删除的条目旁边的“删除”。
  5. 要永久删除该条目,请单击“是,删除此 IP 允许列表条目”。

对 GitHub Actions 使用 IP 允许列表

警告:如果使用 IP 允许列表并且还想使用 GitHub Actions,则必须使用自托管的运行器,或 GitHub 托管的具有静态 IP 地址范围的大型运行器。 使用 Azure 专用网络时,必须使用来自 Azure 子网的 IP。 要减少所需的 IP 数,建议创建负载均衡器,以便为 GitHub 允许列表提供单一 IP 范围。 有关详细信息,请参阅“关于自托管运行程序”或“关于较大的运行器”。

若要允许自托管或大型托管运行器与 GitHub 通信,请将你的运行器的 IP 地址或 IP 地址范围添加到你为企业配置的 IP 允许列表中。

将 GitHub Pages 用于 IP 允许列表

如果使用自定义 GitHub Actions 工作流作为 GitHub Pages 网站的发布源,以允许运行器连接和生成站点,则必须为 IP 允许列表配置规则。

如果不使用自定义工作流,则在默认情况下,生成运行器将具有对 GitHub Pages 站点的存储库的访问权限。 有关发布源的详细信息,请参阅“为 GitHub Pages 站点配置发布源”。