如何配置Azure存储账户仅允许指定应用服务、SQL数据库服务器和公网IP进行读写访问
如何配置Azure存储账户仅允许指定应用服务、SQL数据库服务器和公网IP进行读写访问
嗨,我来帮你一步步解决这个问题,你之前配置VNet后全被挡住大概率是没把需要的访问源都正确添加,或者服务端点没启用到位。咱们按下面的步骤来操作:
一、基础设置:切换存储账户的网络访问模式
- 打开Azure门户,找到你的存储账户「mystorage」,点击左侧菜单里的「网络」选项卡。
- 在「允许访问来自」区域,选择「选定的网络」——这是核心前提,选这个模式后,只有你指定的源能访问存储账户,其他所有请求都会被拦截。
二、添加允许的公网IP地址
在「防火墙」区域的「地址范围」里,点击「添加IP地址」,输入 200.300.400.500/32(单个IP用/32后缀来精确匹配)。完成后,来自这个公网IP的读写请求就能正常访问存储账户的文件和Blob了。
三、允许应用服务「myappservice」访问
因为所有资源都在同一区域,用服务端点是最简便可靠的方式:
- 先给应用服务所在的子网启用存储服务端点:
- 找到「myappservice」所属的虚拟网络和子网,进入子网设置页面,在「服务端点」选项里勾选「Microsoft.Storage」,保存设置。
- 回到存储账户的「网络」设置,在「虚拟网络」区域点击「添加现有虚拟网络」:
- 选择应用服务所在的VNet和刚才启用了服务端点的子网,勾选「启用服务端点」,然后保存配置。
- 补充权限配置:
- 进入存储账户的「访问控制(IAM)」选项卡,点击「添加角色分配」,分别选择「Storage Blob Data Contributor」和「Storage File Data Contributor」角色,将应用服务的托管标识作为被分配者添加进去——这一步确保应用服务有实际的读写操作权限,而不只是被防火墙放行。
四、允许Azure SQL数据库服务器「dbserver」访问
同样用服务端点来配置,步骤和应用服务类似:
- 给SQL服务器所在的子网启用存储服务端点:
- 找到「dbserver」所属的VNet和子网,进入子网设置,在「服务端点」里勾选「Microsoft.Storage」并保存。
- 回到存储账户的「网络」设置,在「虚拟网络」区域添加这个VNet和子网,勾选「启用服务端点」并保存。
- 补充权限配置:
- 如果SQL服务器需要读写存储账户,建议给SQL服务器的托管标识分配「Storage Blob Data Contributor」和「Storage File Data Contributor」角色;如果用的是存储账户密钥,确保密钥已正确配置在SQL的数据库凭据中。
五、常见问题排查
- 如果你在配置过程中发现自己无法通过Azure门户访问存储账户,可以临时勾选「防火墙」区域的「允许从我的IP地址访问」,配置完成后再取消勾选即可。
- 之前你配置VNet后全被拦截,大概率是只添加了VNet但没把指定的公网IP、服务端点对应的子网正确加入允许列表,或者服务端点未启用,导致所有非指定来源的请求都被挡住了。
备注:内容来源于stack exchange,提问作者user1147862
相关产品推荐
相关产品推荐

