本文为您介绍如何设置公网和VPC网络的IP白名单。仅Project Owner和Super_Administrator角色有权限执行此操作。

背景信息

MaxCompute的安全访问控制有多个层次,例如项目空间的多租户及安全认证机制。仅当获取到正确且经过授权的AccessKey ID及AccessKey Secret时,您才能通过鉴权,并在授权范围内进行数据访问和计算。

在安全访问控制基础上,MaxCompute增加IP白名单控制方式,仅允许白名单内的IP地址访问项目空间。非白名单内的IP地址访问项目空间时,即使拥有正确的AccessKey ID及AccessKey Secret,也无法通过鉴权。

公网的IP白名单参数为odps.security.ip.whitelist,VPC网络的白名单参数为odps.security.vpc.whitelist

MaxCompute仅支持设置项目级别的IP白名单。支持的IP地址表示形式如下:
  • IPv4或IPv6:例如101.132.236.134FE80:0202:B3FF:FE1E:8329
  • 带子网掩码的IP地址:例如100.116.0.0/16FE80:0101:4567:F456:0202:B3FF:1111:1111/126
  • 网段:例如101.132.236.134-101.132.236.144FE80:0101:4567:F456:0202:B3FF:FE1E:8330-FE80:0101:4567:F456:0202:B3FF:FE1E:8331

设置公网的IP白名单

设置公网的IP白名单步骤如下。

  1. 获取需要写入白名单的IP地址。
    • 如果使用MaxCompute客户端访问项目空间,您需要配置部署MaxCompute客户端的设备的IP地址。
    • 如果使用应用系统访问项目空间,您需要配置部署应用系统Server的设备的IP地址。
    • DataWorks的设备默认在白名单内,您通过DataWorks提交MaxCompute作业不受限制,无需配置白名单。
    • 如果通过代理服务器或多跳代理服务器访问项目空间,您需要配置的IP地址为最后一跳代理服务器的IP地址。
    • 如果通过部署ECS的设备访问项目空间,您需要配置的IP地址为NAT IP。
  2. 设置IP白名单。登录MaxCompute客户端,执行如下命令将IP地址添加至IP白名单中。例如,待添加的IP地址为101.132.236.134
    setproject odps.security.ip.whitelist=101.132.236.134;

    MaxCompute支持在1条命令中添加3种不同的IP地址格式,多个IP地址之间用逗号(,)分隔。

    setproject odps.security.ip.whitelist=101.132.236.134,100.116.0.0/16,101.132.236.134-101.132.236.144;
    说明
    • 设置IP白名单后,您需要等待五分钟后才会生效。
    • 设置IP白名单时,请在白名单中添加操作客户端所在的设备IP,以免将自己屏蔽。如果您因误操作,将自己屏蔽,请提工单联系阿里云技术支持。
  3. 查看IP白名单。您可以通过如下命令查看odps.security.ip.whitelist=的内容,等于号(=)后为IP地址。如果等于号(=)后为空,则表示未设置白名单列表。
    setproject;
  4. 可选:执行如下命令清空IP白名单。清空IP白名单后,MaxCompute会判定项目空间关闭了白名单功能。
    setproject odps.security.ip.whitelist=;

设置VPC网络的IP白名单

设置VPC网络的IP白名单步骤如下。

  1. 获取区域ID。请根据您所在的区域,参考下表获取您的区域ID。
    区域 区域ID
    华北3(张家口) cn-zhangjiakou
    华北2(北京) cn-beijing
    华南1(深圳) cn-shenzhen
    西南1(成都) cn-chengdu
    华东2(上海) cn-shanghai
    华东1(杭州) cn-hangzhou
    上海中心 cn
    中国(香港) cn-hongkong
    新加坡(新加坡) ap-southeast-1
    澳大利亚(悉尼) ap-southeast-2
    马来西亚(吉隆坡) ap-southeast-3
    印度尼西亚(雅加达) ap-southeast-5
    日本(东京) ap-northeast-1
    德国(法兰克福) eu-central-1
    美国(硅谷) us-west-1
    美国(弗吉尼亚) us-east-1
    印度(孟买) ap-south-1
    阿联酋(迪拜) me-east-1
    英国(伦敦) eu-west-1
  2. 获取VPC ID。
    • 如果您是首次设置VPC网络的IP白名单,请登录MaxCompute客户端,执行如下命令获取VPC ID。
      whoami;

      返回结果如下。

      VPC_ID 结果
      说明 客户端(odpscmd)0.31.2及以上版本支持该命令。
    • 如果需要在已有的白名单中新增VPC IP,您可以通过新VPC IP访问MaxCompute时返回的错误信息获取区域ID。由于新的IP未被授权,访问时会报错。报错信息
  3. 执行如下命令设置VPC网络的IP白名单。
    setproject odps.security.vpc.whitelist=cn-beijing_125179[192.168.10.102,192.168.0.10];

    其中,cn-beijing为用户所在区域ID,125179为VPC ID,192.168.10.102192.168.0.10为VPC内网IP地址。

    MaxCompute支持在1条命令中添加3种不同的IP地址格式,多个IP地址之间用逗号(,)分隔。
    setproject odps.security.vpc.whitelist=cn-beijing_125179[192.168.10.102,192.168.0.10],cn-chengdu_461230[172.16.1.100,172.16.30.200];
    说明
    • 设置IP白名单后,您需要等待五分钟后才会生效。
    • 设置IP白名单时,请在白名单中添加操作客户端所在的设备IP,以免将自己屏蔽。如果您因误操作,将自己屏蔽,请提工单联系阿里云技术支持。
  4. 查看IP白名单。您可以通过如下命令查看odps.security.vpc.whitelist=的内容,等于号(=)后为IP地址。如果等于号(=)后为空,则表示未设置白名单列表。
    setproject;
  5. 可选:执行如下命令清空IP白名单。清空IP白名单后,MaxCompute会判定项目空间关闭了白名单功能。
    setproject odps.security.vpc.whitelist=;