同VNet下Azure Function访问Azure VM共享路径被拒绝如何解决?
Azure Function App 访问VM共享驱动器访问报错排查方案
- 首先校验共享目录的双重权限配置:如果使用SMB共享,需要同时确认VM端共享文件夹的NTFS权限和SMB共享权限都给Function App用到的访问凭证开放了读取权限,两类权限取交集才是最终生效的访问权限。如果是先把Azure文件共享挂载到VM再做二次共享的场景,还要额外给Function App用到的身份配置存储账号下对应文件共享的RBAC权限,比如
存储文件数据 SMB 共享读取者。 - 其次校验VNet网络规则配置:确认Function App的VNet集成已经开启全部出站流量走VNet的配置,消费层Function App还需要确认用的是区域VNet集成,对应子网的NSG没有拦截发往VM共享协议端口的出站请求,同时VM端的NSG、操作系统防火墙也放通了Function App子网段的对应端口(SMB对应445端口)入站请求。
- 再校验身份认证逻辑:如果用托管身份访问共享,确认Function App的系统分配/用户分配托管身份已启用,代码中获取访问令牌的逻辑没有写错身份标识;如果用账号密码认证,确认传入的凭证是有权限访问共享的本地/域账号,没有拼写错误、账号不存在锁定/过期问题。
- 最后做基础连通性验证:可以进入Function App的Kudu高级工具开控制台,执行
Test-NetConnection <VM内网IP> -Port 445先验证端口连通性,再尝试用net use命令挂载共享目录,判断是网络不通问题还是权限配置问题。
补充提示:消费层Function App默认VNet集成只转发RFC1918私有地址的流量走VNet,如果你是通过VM公网IP访问共享,需要给Function App添加应用配置
WEBSITE_VNET_ROUTE_ALL=1,强制所有出站流量都走VNet转发。
内容的提问来源于stack exchange,提问作者user15428551
相关产品推荐
相关产品推荐

