本文为您介绍当MaxCompute项目开启白名单功能时,如何添加、查看、修改、关闭云产品互联网络和VPC网络的IP白名单及场景。仅Project Owner和Super_Administrator角色以及自定义的包含IP白名单管理相关权限的项目管理类角色有权限执行此操作。
背景信息
MaxCompute的安全访问控制有多个层次,例如项目空间的多租户及安全认证机制。仅当获取到正确且经过授权的AccessKey ID及AccessKey Secret时,您才能通过鉴权,并在授权范围内进行数据访问和计算。
在安全访问控制基础上,MaxCompute增加IP白名单控制方式。当MaxCompute项目开启白名单功能时,仅允许白名单内的设备访问项目空间;非白名单内的设备访问项目空间时,即使拥有正确的AccessKey ID及AccessKey Secret,也无法通过鉴权。以下是云产品互联网络和VPC网络添加IP白名单的部分场景。
当MaxCompute项目未开启白名单功能时,您仍可以通过各网络类型访问项目空间,限制如下:
云产品互联网络:同账号、同地域下,所有使用云产品互联网络Endpoint的IP均可访问MaxCompute项目。
VPC网络:同VPC下,所有使用VPC网络Endpoint的IP均可访问MaxCompute项目。
公网:所有使用公网Endpoint的IP均可访问MaxCompute项目。
云产品互联网络下的IP白名单。
使用MaxCompute客户端访问项目空间,您需要配置部署MaxCompute客户端所在设备的IP地址。
使用应用系统访问项目空间,您需要配置部署应用系统Server的设备的IP地址。
通过代理服务器或多跳代理服务器访问项目空间,您需要配置的IP地址为最后一跳代理服务器的IP地址。
通过ECS设备访问MaxCompute服务,您需要配置的IP地址为NAT IP。NAT IP详情请参见弹性公网IP。
如果您是DataWorks用户,请将DataWorks独享资源组等相关IP地址加入到白名单中。
VPC网络下的IP白名单。
设置VPC网络下的IP白名单时,您需要:
获取VPC网络的VPC实例ID。
配置VPC网络下的Endpoint。详情参见Endpoint。
添加所有连接MaxCompute服务的IP地址至白名单列表。例如,如果您使用数据集成、数据地图、Flink等服务,则需要添加对应服务的IP地址至白名单列表。
MaxCompute仅支持设置项目级别的IP白名单。支持的IP地址表示形式如下:
IPv4或IPv6:例如192.168.0.0或2001:db8::。
带子网掩码的IP地址:例如172.12.0.0/16或2001:db8::/32。
网段:例如192.168.10.0-192.168.255.255或2001:db8:1:1:1:1:1:1-2001:db8:4:4:4:4:4:4。
添加IP白名单
MaxCompute支持使用客户端等命令行方式来添加白名单,也支持在MaxCompute的控制台上界面化操作添加白名单。
命令行方式添加IP白名单
公网和云产品互联网络IP白名单参数为odps.security.ip.whitelist;VPC网络的白名单参数为odps.security.vpc.whitelist。更多命令格式及参数说明请参见查看项目空间属性。
在MaxCompute客户端执行如下命令将IP地址添加至IP白名单中:
如果只配置公网和云产品互联网络IP白名单,则公网和云产品互联网络访问受配置限制,VPC网络访问全部禁止。配置命令示例如下。
setproject odps.security.ip.whitelist=192.168.0.0 odps.security.vpc.whitelist=\N;
设置公网和云产品互联网络的IP白名单时,请在IP白名单中添加操作MaxCompute客户端所在的设备IP,以免将自己屏蔽。
如果只配置VPC网络IP白名单,则VPC网络访问受配置限制,公网和云产品互联网络访问全部禁止。配置命令示例如下。
setproject odps.security.ip.whitelist=\N odps.security.vpc.whitelist=<vpc实例id>[192.168.0.10,192.168.0.20];
如果公网和云产品互联网络IP、VPC网络IP白名单均需要配置,则公网和云产品互联网络、VPC网络访问均受配置限制。配置命令示例如下。
setproject odps.security.ip.whitelist=192.168.0.0 odps.security.vpc.whitelist=<vpc实例id>[192.168.0.10,192.168.0.20];
如果公网和云产品互联网络IP、VPC网络IP白名单均配置,且有多个公网和云产品互联网络IP、多个VPC实例的IP。配置命令示例如下。
● setproject odps.security.ip.whitelist=192.168.0.0,192.168.0.10 odps.security.vpc.whitelist=<vpc实例id1>[192.168.0.10,192.168.0.20],<vpc实例id2>;
多个公网和云产品互联网络IP使用半角逗号(,)分隔;VPC网络IP的格式为
VPC实例ID[IP列表]
,如果需要把某个VPC实例的所有IP都加入这个白名单,则直接输入VPC实例ID即可。
设置IP白名单后,您需要等待五分钟后才会生效。
控制台上添加IP白名单
您可以登录MaxCompute控制台进入对应地域的项目管理页面,单击目标项目操作列的管理,在参数配置页签中,编辑IP白名单。
公网和云产品互联网络IP:IP列表以半角逗号(,)分隔。如果只配置公网和云产品互联网络IP白名单,则公网和云产品互联网络访问受配置限制,VPC网络访问全部禁止。
VPC网络IP:IP列表以英文逗号(,)分隔。如果只配置VPC网络IP白名单,则VPC网络访问受配置限制,公网和云产品互联网络访问全部禁止。IP白名单示例:
<vpc实例id1>[192.168.0.10,192.168.0.20],<vpc实例id2>
。
查看IP白名单
您可以执行setproject;
命令查看IP白名单列表。odps.security.ip.whitelist=
或odps.security.vpc.whitelist
的内容即为白名单列表。如果odps.security.ip.whitelist=
或odps.security.vpc.whitelist
的内容为空,则表示未设置白名单列表。
setproject;
返回结果如下。
odps.security.ip.whitelist=192.168.0.0
odps.security.vpc.whitelist=<vpc实例id>[192.168.0.10,192.168.0.20]
如果您使用之前区域ID和VPC ID的方式配置的VPC网络IP白名单,返回结果示例如下:
odps.security.vpc.whitelist=cn-beijing_125179[192.168.0.10,192.168.0.20]
修改IP白名单
您可以执行setproject
命令,分别修改公网和云产品互联网络IP、VPC网络IP的白名单列表。修改后,旧的IP白名单列表会失效,系统以新的IP白名单列表为准控制访问权限。
修改公网和云产品互联网络IP白名单
setproject odps.security.ip.whitelist=192.168.0.10;
修改VPC网络IP白名单
setproject odps.security.vpc.whitelist=<vpc实例id>[192.168.10.10,192.168.0.20];
关闭IP白名单
执行如下命令关闭IP白名单功能,公网和云产品互联网络、VPC网络访问将不受限制。
setproject odps.security.ip.whitelist= odps.security.vpc.whitelist= ;
公网和云产品互联网络IP、VPC网络IP的白名单必须同时置为空,才表示关闭了IP白名单功能。
设置阿里云产品访问MaxCompute白名单
您可以通过如下命令设置所有阿里云产品都可以通过VPC网络访问MaxCompute。
setproject odps.security.ip.whitelist=192.168.0.0/16,172.16.0.0/12,10.0.0.0/8,11.0.x.x/8,33.0.x.x/8,100.64.0.0/10 odps.security.vpc.whitelist=<regionname>_*,cn_*;
11.0.x.x/8与33.0.x.x/8地址中的x为占位符,表示0~255之间的任意数值。
odps.security.ip.whitelist
:公网和云产品互联网络的IP白名单。您可以参考上述IP填写即可,如果还有其他需要设置的IP地址,直接追加到IP地址列表。regionname
:阿里云产品所在RegionID。
RegionID
阿里云区域ID如下。
区域 | RegionID |
华东1(杭州) | cn-hangzhou |
华东2(上海) | cn-shanghai |
华北2(北京) | cn-beijing |
华北3(张家口) | cn-zhangjiakou |
华北6(乌兰察布) | cn-wulanchabu |
华南1(深圳) | cn-shenzhen |
西南1(成都) | cn-chengdu |
中国香港 | cn-hongkong |
华东 2 金融云 | cn-shanghai-finance-1 |
华北 2 阿里政务云 1 | cn-north-2-gov-1 |
华南 1 金融云 | cn-shenzhen-finance-1 |
日本(东京) | ap-northeast-1 |
新加坡 | ap-southeast-1 |
马来西亚(吉隆坡) | ap-southeast-3 |
印度尼西亚(雅加达) | ap-southeast-5 |
德国(法兰克福) | eu-central-1 |
英国(伦敦) | eu-west-1 |
美国(硅谷) | us-west-1 |
美国(弗吉尼亚) | us-east-1 |
阿联酋(迪拜) | me-east-1 |
受白名单限制报错示例
受公网和云产品互联网络IP白名单限制后,报错如下:
FAILED:Accessdeniedbyprojectipwhitelist:sourceIP:'xxxxx'isnotinwhitelist.project:xxx
表示当前发起访问请求的IP(sourceIP)不在公网和云产品互联网络IP白名单中,对应的Project为报错信息中的
project: xxx
。您需要将
sourceIP
加到对应Project的公网和云产品互联网络IP白名单列表中。受VPC IP白名单限制后,报错如下:
FAILED:Accessdeniedbyprojectipwhitelist:sourceIP:'xxxxx'isnotinwhitelist.project:xxxFAILED:Accessdeniedbyprojectvpcwhitelist:vpc:'vpc-xxx'notinvpcwhitelist,ip:'xxxx'.project:xxx
表示当前发起访问请求的VPC IP不在VPC白名单中,对应的Project为报错信息中的
project: xxx
。您需要将这个VPC IP加到对应Project的VPC IP白名单列表中。