Azure VNet对等互联场景下Databricks访问ADLS存储403权限问题咨询
Azure VNet对等互联下Databricks访问ADLS的权限问题解析
场景回顾
- 部署两个测试用虚拟网络:
- vnet1:后端关联ADLS存储账户
- vnet2:后端部署带有公网、私网双子网的Databricks
- vnet1与vnet2已建立VNet对等互联,状态为已连接且同步
- Databricks集群的NIC IP处于vnet2地址范围内
- 执行
dbutils.fs.ls(abfss_url)尝试访问ADLS时,返回403错误:"This request is not authorized to perform this operation." - 将vnet2添加至ADLS存储账户的防火墙规则后,访问恢复正常
疑问解答
1. VNet对等互联在此场景下的工作方式
VNet对等互联的核心作用是打通两个虚拟网络的私网连通性:让vnet2内的Databricks集群可以通过私网IP直接访问vnet1内的ADLS存储账户,无需经过公网路由转发,降低延迟并提升安全性。但请注意,对等互联仅解决网络层面的可达性,不自动赋予资源访问权限。
ADLS存储账户的防火墙是独立的访问控制机制,默认会拒绝所有未被显式允许的网络请求——哪怕请求来自已对等的VNet,只要不在防火墙的允许列表内,就会被拦截并返回403错误。
2. 是否无需添加防火墙规则即可让Databricks集群访问存储账户?
不行。VNet对等互联和ADLS防火墙规则是两个独立的层面:
- 对等互联确保网络通路畅通
- 防火墙规则是ADLS的访问准入门槛
即使两个VNet已经对等,你仍需要在ADLS的防火墙设置中显式允许vnet2(或vnet2的特定子网)的访问。另外,若你的Databricks是部署在自己的VNet中(即用户托管VNet模式),无法通过勾选"允许受信任的Microsoft服务访问"来绕过防火墙,必须添加具体的VNet/子网规则。
内容的提问来源于stack exchange,提问作者Pirvu Georgian
相关产品推荐
相关产品推荐

