Azure 存储帐户防火墙规则适用于表但会破坏 blob 存储

Posted

技术标签:

【中文标题】Azure 存储帐户防火墙规则适用于表但会破坏 blob 存储【英文标题】:Azure Storage account firewall rules work for table but break blob storage 【发布时间】:2018-08-13 10:12:36 【问题描述】:

如果我在我的 Azure 存储帐户上添加仅允许从我的 IP 地址访问的防火墙规则,我仍然可以成功访问该存储帐户中的表和队列存储,但是当我尝试访问任何 blob 或文件时存储,我得到一个错误。

使用 Microsoft Azure 存储资源管理器时,我看到的错误是“无法检索子资源。此请求无权执行此操作'

防火墙规则对 blob 和表存储的工作方式不同,这似乎很疯狂。有什么想法吗?

【问题讨论】:

能否请您在存储资源管理器中分离该存储帐户,然后重新连接? 如何在 Microsoft Azure 存储资源管理器中连接到您的存储帐户? Azure 帐户或连接字符串或存储帐户密钥名称和密钥? 使用 Azure 帐户或连接字符串连接没有区别。如果我尝试从 Azure 门户或使用 Powershell 连接到 blob 存储,我也会看到同样的问题。在所有这些场景中仍然可以访问表存储。 另外,我已经在三个单独的存储帐户上看到了这个问题。这些帐户都在西欧和同一个资源组中。 您能告诉我有关您的存储帐户的更多设置信息吗? 【参考方案1】:

我终于想通了。有点尴尬!原来我公司有两个互联网连接,防火墙根据资源名称决定使用哪一个。因此,表和 blob 存储使用不同的 IP 地址访问。我只将其中一个 IP 地址放入防火墙规则(用于访问表存储的那个)。

感谢 Jason Ye 帮助我!

【讨论】:

以上是关于Azure 存储帐户防火墙规则适用于表但会破坏 blob 存储的主要内容,如果未能解决你的问题,请参考以下文章

用于漏洞评估的 Azure 存储帐户防火墙权限

使用 Powershell 列出所有 Azure 存储帐户和网络规则

从 Azure Function App 访问带有防火墙的 Azure Blob 存储

Azure Databricks:访问防火墙后面的 Blob 存储

使用 PowerShell 生成 Azure 存储帐户 SAS 密钥

Azure 存储帐户文件共享内容保留期