【发布时间】:2021-01-20 08:31:06
【问题描述】:
我有一个在连接到 Azure Blob 存储和 Azure SQL 的 Azure VM 中运行的 powershell 脚本。 Blob 存储和 SQL 都受防火墙保护,Blob 存储是 VNet 的一部分。 VM 位于其自己的 VNet 上。我在 azure storage 和 sql azure 中都插入了 VM 的 IP 地址。对 SQL Azure 的访问很好,但是当我尝试连接到 blob 存储时,我收到了错误消息
"Get-AzStorageContainer : 此请求无权执行 这个操作。 HTTP 状态代码:403 - HTTP 错误消息:此 请求无权执行此操作。错误代码: 授权失败”。
我正在使用连接字符串来访问 blob 存储。如果我从我的 PC 连接(其 IP 地址输入防火墙),我可以访问没有问题。如果我使用 azure 存储资源管理器中的连接字符串从 VM 访问 blob 存储,我会收到相同的错误消息。
如果我禁用 blob 存储上的防火墙,那么我可以使用 powershell 和存储资源管理器从 VM 正常访问它。
不确定这是否相关,但如果我在 VM 上执行 Get-NetIPAddress | Format-Table,我会得到一个报告的 Ipv6 ip 地址,而不是我在其他任何地方和防火墙中使用的 IPv4。
这可能是相关的,但不知道如何以一种或另一种方式证明它:Azure Storage account firewall rules work for table but break blob storage
谁能提出这种奇怪行为的原因?如何在不禁用防火墙的情况下从 VM 可靠地访问 Blob 存储?
【问题讨论】:
标签: azure networking