1. 程式人生 > 其它 >【Azure 儲存服務】App Service 訪問開啟防火牆的儲存賬號時遇見 403 (This request is not authorized to perform this operation.)

【Azure 儲存服務】App Service 訪問開啟防火牆的儲存賬號時遇見 403 (This request is not authorized to perform this operation.)

問題描述

需要 App Service 訪問開啟防火牆的儲存賬號。儲存賬號中設定為允許選中的VNET訪問,同時允許了信任的Azure服務的訪問,但是仍然報錯 “403 (This request is not authorized to perform this operation.)

因為App Service 並沒有與Stroage Account允許訪問所選的VNET進行整合,所以App Service是通過Outbound IP地址與Storage Account進行通訊。當Storage Account與App Service處於同一資料中心時,把App Service所有的出口IP地址都新增到Storage Account的 Firewall中,依然出現403問題。這是什麼原因呢?

問題分析

檢視Storage Account的IP網路規則文件,發現其中有一點 “限制對與儲存帳戶部署在同一區域中的 Azure 服務的訪問” 這是因為與儲存帳戶部署在同一區域中的Azure服務使用專用的 Azure IP 地址進行通訊。 因此,不能基於特定的 Azure 服務的公共出站 IP(App Service的出口IP) 地址範圍來限制對其的訪問。

如何來避免這個問題呢?

1)當App Service 與 Stroage Account 都處於同一區域時,可以把App Service整合在Storage Account所允許訪問的VNET中,使得App Service與Storage Account通過VNET進行通訊。

2)當App Service 與 Storage Account 不在同一個區域時,在Storage Account的Firewall中新增 所有App Service的出口IP地址為允許訪問即可。

參考文件

配置 Azure 儲存防火牆和虛擬網路: https://docs.azure.cn/zh-cn/storage/common/storage-network-security?toc=%2Fstorage%2Fblobs%2Ftoc.json&tabs=azure-portal#grant-access-from-an-internet-ip-range

將應用與 Azure 虛擬網路整合:

https://docs.azure.cn/zh-cn/app-service/web-sites-integrate-with-vnet#regional-vnet-integration

當在複雜的環境中面臨問題,格物之道需:濁而靜之徐清,安以動之徐生。 雲中,恰是如此!