本文為您介紹當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地址。
通過Proxy 伺服器或多跳Proxy 伺服器訪問專案空間,您需要配置的IP地址為最後一跳Proxy 伺服器的IP地址。
通過ECS裝置訪問MaxCompute服務,您需要配置的IP地址為NAT IP。NAT IP詳情請參見Elastic IP Address。
如果您是DataWorks使用者,請將DataWorks獨享資源群組等相關IP地址加入到白名單中。
VPC網路下的IP白名單。
設定VPC網路下的IP白名單時,您需要:
擷取VPC網路的VPC執行個體ID。
配置VPC網路下的Endpoint。詳情參見Endpoint。
添加所有串連MaxCompute服務的IP地址至白名單列表。例如,如果您使用Data Integration、資料地圖、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白名單列表中。