【问题标题】:Cannot to Azure blob storage from VM because of firewall由于防火墙,无法从 VM 到 Azure Blob 存储
【发布时间】: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


    【解决方案1】:

    不确定您是否说过“blob 存储是 VNet 的一部分。”。但在这种情况下,您可以在 VNet(位于 VM)中为 Azure 存储启用 Service endpoint,并将其子网添加到 Blob 存储的虚拟网络中。您无需将 VM 的 IP 地址添加到存储帐户的防火墙中。

    参考:http://techtalk.cloud/azure-vnet-integration-service-endpoints-for-azure-storage/

    更新

    如果存储帐户和 VM 位于同一区域,则流量会通过 Azure 主干网络。我在不同区域的 VM 上尝试过,然后将 Azure VM 的静态公共 IP 列入存储帐户的防火墙,它成功了!

    注意

    IP 网络规则对来自 ​​相同的请求没有影响 Azure 区域作为存储帐户。使用虚拟网络规则 允许同区域请求。

    与存储帐户使用的相同区域中部署的服务 用于通信的私有 Azure IP 地址。因此,您不能 根据公共服务限制对特定 Azure 服务的访问 出站 IP 地址范围。

    参考:https://docs.microsoft.com/en-us/azure/storage/common/storage-network-security#grant-access-from-an-internet-ip-range

    【讨论】:

    • 好的,但是如果虚拟机有一个公共 IP 地址,为什么我不能将它添加到存储的防火墙并通过这种方式获得访问权限?
    • 啊这个规则!是的,我现在记得。我会检查一下,看看我是否可以实施解决方案
    • 好的。是的,我的资产在同一地区,所以你的回答似乎可以解释我的问题。我已将存储服务端点添加到 VM 子网。然后将相同的 VM 子网添加到存储的网络安全组。但它仍然不起作用。我错过了什么吗?
    • 存储账号的虚拟网络是否添加了同一个子网?
    • 这里的关键是 VM 和 blob 存储在 Azure 中的同一区域,因此 Azure 通过 ipv6 而不是 VM 发布的 IP 地址进行通信。上面@Nancy 的解决方案详细说明了如何解决这个问题。
    猜你喜欢
    • 1970-01-01
    • 2018-09-26
    • 2018-09-21
    • 2019-05-29
    • 2018-08-13
    • 1970-01-01
    • 2021-11-12
    • 2019-09-28
    • 2020-09-30
    相关资源
    最近更新 更多