更新时间:2024-07-05 GMT+08:00

IP白名单

IP白名单含义

  • IP白名单是通过设置IP白名单的IP范围和访问权限,限制用户的访问和上传下载权限,大大增强仓库的安全性。
  • 配置IP白名单仅支持可见范围为私有的仓库,可见范围为公开只读公开示例模板的仓库均不受该配置限制。

IP白名单格式

IP白名单支持IPv4和IPv6,有3种格式,如下表所示。

表1 IP白名单格式

格式

说明

单个IP

这是最简单的一种IP白名单格式,如将您的个人家庭电脑的IP添加到白名单中,比如:100.*.*.123。

IP范围

当您拥有不止一台服务器而且IP段是连续的,或者您的IP会在一个网段内动态变化,这时您可以添加一个IP白名单范围,比如:100.*.*.0 - 100.*.*.255。

CIDR格式(无类别域间路由)

  • 当您的服务器在一个局域网内并使用CIDR路由时,您可以指定局域网的32位出口IP以及一个指定网络前缀的位数。
  • 从同一个IP发起的请求,只要网络前缀同您设定的前缀部分相同,即可视为来自同一授信范围从而被接受。

配置IP白名单

代码托管服务提供多种维度的IP白名单设置,仓库管理者可针对所需要的应用场景选择使用。

如果已配置IP白名单的私有仓库切换为公开只读公开示例模板的仓库,在代码托管仓库页面端或Git客户端也可以上传下载代码。

IP白名单设置请参见访问控制,针对所有云服务的白名单设置,非白名单IP将在登录时就被拦截,无法访问任何云服务。

  • 代码托管(单仓库)IP白名单设置:请在具体代码仓库的设置>安全管理>IP白名单中设置(支持IPv4和IPv6,具体分类参见IP白名单格式),这种控制类型仅限制名单外的IP对特定仓库的访问、操作限制,以下是对非白名单的访问限制的配置:

    允许访问仓库:勾选该选项后,非名单内的IP不可访问该仓库,仓库所有者不受限制。

    允许下载代码:勾选该选项后,非名单内的IP禁止代码的在线下载、本地克隆。

    允许提交代码:勾选该选项后,非名单内的IP禁止代码的在线修改、在线上传、本地提交;构建工程代码化编排,yaml文件同步功能不受访问控制。

    • 提交代码:新建/编辑/删除/上传/重命名文件,新建/删除目录,新建/删除子模块,新建/删除分支,新建/删除tag,解决代码冲突,创建/合入MR,cherrypick,revert,LFS存储,rebase。
    • 代码:单文件/分支/tag/仓库下载,仓库备份。
    • 本地下载:基于SSH协议的下载操作,基于HTTPS协议的下载操作,基于部署密钥的克隆仓库操作。
    • 本地提交:基于SSH协议的提交操作,基于HTTPS协议的提交操作。
    • 仓库同步操作不受IP白名单影响。
  • 租户级IP白名单:当您需要对租户下的所有仓库都统一设置IP白名单时,可以登录您的代码托管服务仓库列表页,单击右上角昵称,单击“租户设置 > 代码托管 > 租户级IP白名单”,进入页面,如下图所示,其配置规则与仓库级IP白名单相同。

    只有租户账号有配置“租户级IP白名单”的权限,单击“新建租户级白名单”旁的扩展按钮,可勾选“租户优先设置”,Git客户端克隆/界面下载仓库源码逻辑可参考下表。

    租户优先设置

    是否配置租户级白名单

    是否配置仓库级白名单

    优先级

    开启

    ×

    ×

    不判断白名单,所有IP均可通过。

    ×

    以仓库级白名单为准。

    ×

    以租户级白名单为准。

    以租户级白名单与仓库级白名单的交集为准。

    关闭

    ×

    ×

    不判断白名单,所有IP均可通过。

    ×

    以仓库级白名单为准。

    ×

    以租户级白名单为准。

    以仓库级白名单为准。

在新建或编辑租户级和仓库级IP白名单时,支持添加备注,字符限制在200以内,可为空。