关于网络流量限制
默认情况下,授权用户可以从任何 IP 地址访问你企业的资源。 可以配置允许或拒绝通过特定 IP 地址访问的列表来限制对企业专用资源的访问。 例如,你可以只允许从你的办公网络的 IP 地址访问专用资源。
如果列表允许 IP 地址,则从该地址连接到 GitHub.com 的经过身份验证的用户可以访问专用资源。 如果用户的 IP 地址是不允许的,那么在从允许的地址进行连接之前,该用户无法访问专用资源。
配置 IP 允许列表后,该列表将确定用户是否可以使用以下任一身份验证方法通过 Web UI、API 或 Git 访问受保护的资源。
- 使用 GitHub 身份验证或 SAML SSO 的用户名和密码
- Personal access token
- SSH 密钥
IP 允许列表适用于具有任何角色或访问权限的用户,包括企业和组织所有者、存储库管理员和外部协作者。
如果用户登录到 GitHub.com,则 IP 允许列表将确定用户是否可以访问组织的公共资源。 该列表不适用于对公共资源的匿名访问。
只有对组织拥有的存储库的访问权限由 IP 允许列表确定。 该列表不控制对 托管用户帐户 拥有的存储库或存储库分支的访问。
如果企业将 Enterprise Managed Users 与 Microsoft Entra ID(以前称为 Azure AD)和 OIDC 配合使用,则可以选择是使用 GitHub 的 IP 允许列表功能,还是为标识提供者 (IdP) 使用允许列表限制。 如果你的企业未将 Enterprise Managed Users 与 Azure 和 OIDC 配合使用,你则可以使用 GitHub 的允许列表功能。
关于 GitHub 的 IP 允许列表
可以使用 GitHub 的 IP 允许列表来控制对企业和企业中组织拥有的资产的访问。
您可以使用 CIDR 表示法批准访问单个 IP 地址或地址范围。 有关详细信息,请参阅维基百科上的”CIDR 表示法”。
要执行 IP 允许列表,必须先将 IP 地址添加到列表,然后启用 IP 允许列表。 在完成列表后,可以检查列表中任何已启用条目是否允许使用特定 IP 地址。
您必须先添加当前 IP 地址或匹配范围,然后才能启用 IP 允许列表。 启用允许列表时,您配置的 IP 地址将立即添加到企业中的组织允许列表中。 如果禁用允许列表,则地址将从组织允许列表中删除。
组织所有者可以向其组织的允许列表添加其他条目,但他们无法管理从企业帐户的允许列表继承的条目,企业所有者也无法管理添加到组织的允许列表的条目。有关详细信息,请参阅“管理组织允许的 IP 地址”。
您可以选择将为组织中安装的 GitHub Apps 配置的任何 IP 地址自动添加到允许列表中。 GitHub App 的创建者可以为其应用程序配置允许列表,指定应用程序运行的 IP 地址。 通过将允许列表继承到您的列表中,您可以避免申请中的连接请求被拒绝。 有关详细信息,请参阅“允许 GitHub 应用进行访问”。
关于 IdP 的允许列表
如果将 Enterprise Managed Users 与 Entra ID 和 OIDC 配合使用,则可以使用 IdP 的允许列表。
使用 IdP 的允许列表会停用企业中所有组织的 GitHub IP 允许列表配置,并停用 GraphQL API 以启用和管理 IP 允许列表。
默认情况下,你的 IdP 会在初始交互式 SAML 或 OIDC 登录到 GitHub 时为你所选择的任何 IP 允许列表配置运行 CAP。
OIDC CAP 仅适用于使用用户令牌对 API 的请求,例如 OAuth app 的 OAuth 令牌或代表用户操作的 GitHub App 的用户访问令牌。 当 GitHub App 使用安装访问令牌时,OIDC CAP 不适用。 有关详细信息,请参阅“关于使用 GitHub 应用进行身份验证”和“关于对 IdP 的条件访问策略的支持”。
为了确保在将策略应用到 OAuth 令牌和用户访问令牌的同时无缝使用 OIDC CAP,必须将企业使用的每个 GitHub App 中的所有 IP 范围复制到 IdP 策略。
使用 GitHub 的 IP 允许列表
启用 GitHub 的 IP 允许列表
-
在 GitHub.com 的右上角,选择个人资料照片,然后单击 “你的组织”****。
-
在组织旁边,单击“设置”。
-
在侧边栏的“安全性”部分中,单击“ 身份验证安全性”。
-
如果将 Enterprise Managed Users 与 OIDC 配合使用,请在“IP 允许列表”下选择“IP 允许列表配置”下拉菜单,然后单击“GitHub” 。
-
在“IP 允许列表”下,选择“启用 IP 允许列表”。
-
单击“ 保存”。
添加允许的 IP 地址
可以通过添加每个包含 IP 地址或地址范围的条目来创建 IP 允许列表。 在添加完条目后,可以检查列表中任何已启用条目是否允许使用特定 IP 地址。
对于企业中的组织拥有的专用资产,在列表限制对这些资产的访问权限之前,还必须启用允许的 IP 地址。
注意:GitHub 正在逐步推出对 IPv6 的支持。 随着 GitHub 服务继续添加 IPv6 支持,我们将开始识别 GitHub 用户的 IPv6 地址。 若要防止可能的访问中断,请确保将任何所需的 IPv6 地址添加到 IP 允许列表。
注意: 由于缓存的原因,添加或移除 IP 地址后可能需要几分钟才能完全生效。
-
在 GitHub.com 的右上角,单击你的个人资料照片,然后单击“你的企业”。
-
在企业列表中,单击您想要查看的企业。
-
在企业帐户边栏中,单击“设置”。
-
在“ 设置”下,单击“身份验证安全性” 。
-
在“IP 允许列表”部分的底部,在“采用 CIDR 表示法的 IP 地址或范围”字段中,键入以 CIDR 表示法表示的 IP 地址或地址范围。
-
(可选)在“IP 地址或范围的简短说明”字段中,输入允许的 IP 地址或范围的说明。
-
单击“添加”。
-
(可选)检查列表中是否有任何已启用条目允许使用特定 IP 地址。 有关详细信息,请参阅“检查是否允许使用 IP 地址”。
允许 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 地址”。
为 GitHub Apps 启用自动添加 IP 地址:
-
在 GitHub.com 的右上角,单击你的个人资料照片,然后单击“你的企业”。
-
在企业列表中,单击您想要查看的企业。
-
在企业帐户边栏中,单击“设置”。
-
在“ 设置”下,单击“身份验证安全性” 。
-
在“IP 允许列表”下,选择“为已安装的 GitHub 应用启用 IP 允许列表配置”。
注意:如果将 Enterprise Managed Users 与 OIDC 配合使用,则只有将 GitHub 用于 IP 允许列表配置时,才允许 GitHub 应用进行访问。
-
单击“保存” 。
编辑允许的 IP 地址
可以在 IP 允许列表中编辑条目。 如果编辑已启用的条目,则更改会立即实施。
在编辑完条目后,可以检查在启用你的允许列表后,你的允许列表是否允许来自特定 IP 地址的连接。
-
在 GitHub.com 的右上角,单击你的个人资料照片,然后单击“你的企业”。
-
在企业列表中,单击您想要查看的企业。
-
在企业帐户边栏中,单击“设置”。
-
在“ 设置”下,单击“身份验证安全性” 。
-
在“IP 允许列表”下,在你要编辑的条目旁边,单击“编辑”。
-
在“IP 地址”字段中,以 CIDR 表示法键入 IP 地址或地址范围。
-
在“说明”字段中,输入允许的 IP 地址或范围的说明。
-
单击“更新”。
-
(可选)检查列表中是否有任何已启用条目允许使用特定 IP 地址。 有关详细信息,请参阅“检查是否允许使用 IP 地址”。
检查是否允许使用 IP 地址
可以检查 IP 允许列表中是否有任何已启用条目允许使用特定 IP 地址(即使列表当前未启用)。
-
在 GitHub.com 的右上角,单击你的个人资料照片,然后单击“你的企业”。
-
在企业列表中,单击您想要查看的企业。
-
在企业帐户边栏中,单击“设置”。
-
在“ 设置”下,单击“身份验证安全性” 。
-
在“IP 允许列表”部分的末尾,在“检查 IP 地址”下输入 IP 地址。
删除允许的 IP 地址
注意: 由于缓存的原因,添加或移除 IP 地址后可能需要几分钟才能完全生效。
-
在 GitHub.com 的右上角,单击你的个人资料照片,然后单击“你的企业”。
-
在企业列表中,单击您想要查看的企业。
-
在企业帐户边栏中,单击“设置”。
-
在“ 设置”下,单击“身份验证安全性” 。
-
在“IP 允许列表”下,单击要删除的条目旁边的“删除”。
-
要永久删除该条目,请单击“是,删除此 IP 允许列表条目”。
使用标识提供者的允许列表
注意:**** 仅 Enterprise Managed Users 和 Entra ID 和 OIDC 支持使用 IdP 的允许列表。
-
在 GitHub.com 的右上角,选择个人资料照片,然后单击 “你的组织”****。
-
在组织旁边,单击“设置”。
-
在侧边栏的“安全性”部分中,单击“ 身份验证安全性”。
-
在“IP 允许列表”下,选择“IP 允许列表配置”下拉菜单并单击“标识提供者” 。
-
(可选)若要允许已安装的 GitHub 和 OAuth apps 从任意 IP 地址访问你的企业,请选择“为应用程序跳过 IdP 检查”。
-
单击“ 保存”。
对 GitHub Actions 使用 IP 允许列表
警告:如果使用 IP 允许列表并且还想使用 GitHub Actions,则必须使用自托管的运行器,或 GitHub 托管的具有静态 IP 地址范围的大型运行器。 有关详细信息,请参阅“关于自托管运行程序”或“关于较大的运行器”。
若要允许自托管或大型托管运行器与 GitHub 通信,请将你的运行器的 IP 地址或 IP 地址范围添加到你为企业配置的 IP 允许列表中。
将 GitHub Pages 用于 IP 允许列表
如果使用自定义 GitHub Actions 工作流作为 GitHub Pages 网站的发布源,以允许运行器连接和生成站点,则必须为 IP 允许列表配置规则。
如果不使用自定义工作流,则在默认情况下,生成运行器将具有对 GitHub Pages 站点的存储库的访问权限。 有关发布源的详细信息,请参阅“为 GitHub Pages 站点配置发布源”。