【发布时间】:2019-09-30 12:28:06
【问题描述】:
最初我尝试使用 IP 地址限制从应用服务对 blob 存储的访问,但结果证明您只能使用虚拟网络执行此操作:Firewall access from Azure app service to blob storage
我希望能够在不设置点到站点 VPN 的情况下实现这一目标。我在 Azure 中设置虚拟网络的步骤如下:
- 已创建网络安全组“securitygroup-frontend”,添加自定义 名为 Web 的入站规则,源:服务标签,源服务标签: Internet,源端口范围:*,目标:任意,目标端口 范围:80、443,协议:任何,操作:允许,优先级:100
- 创建虚拟网络,地址空间为 192.168.0.0/23,子网称为前端地址范围 192.168.0.0/26,网络安全组:securitygroup-frontend 和子网委派到 Microsoft.Web/serverFarms 和服务端点 Microsoft.Storage 李>
- 转到应用服务 -> 网络 -> 配置 VNet 集成 -> 添加 VNet 预览并选择您创建的子网
- 进入存储 -> 防火墙和虚拟网络 -> 配置 VNet 集成 -> 选择“选定网络”并添加刚刚创建的虚拟网络和子网。
我不得不将 Azure 诊断和日志(例如密钥保管库、服务总线和 sql azure)移动到它自己的 Blob 存储中,因为这些需要在虚拟网络之外进行 Blob 存储,并且无法在内部工作。该应用程序服务在标准计划中。应用服务、blob 存储和虚拟网络都在同一个区域。
上述步骤虽然阻止了应用服务对 blob 存储的访问,但其中的任何资产都会返回错误:(403) Forbidden。如果我从 blob 存储中删除虚拟网络,它可以正常工作。我做错了什么?
【问题讨论】:
-
你好@johnstaveley,看来我不能重复你的问题,我可以知道你如何访问你的文件吗?
-
使用这个命名空间:Microsoft.WindowsAzure.Storage.Blob 和这些对象:CloudBlobClient、CloudBlockBlob、CloudStorageAccount、CloudBlobContainer
-
我也在使用 .net storage .SDK,但它在我这边工作得很好,不太清楚原因……抱歉
标签: azure azure-web-app-service azure-storage