限制对包含用于云服务(扩展支持)部署的包 blob 的存储帐户的访问

限制对包含用于云服务(扩展支持)部署的包 blob 的存储帐户的访问

我几乎已经将我们的云服务(经典)部署迁移到云服务(扩展支持)。我现在正在更新部署管道。我的包 blob 位于存储帐户中。我为 blob 创建了一个 SAS,并使用对 management.azure.com 的 API 调用创建/更新部署,将 ARM 模板作为请求主体传递。

只要包含包 blob 的存储帐户的网络设置为“允许从所有网络访问”,此方法即可正常工作。我想限制此访问。我设置了允许从以下网络访问:

  • 我们的 DevOps 服务器的特定 IP 地址
  • 我们自己的 IP 地址
  • 云服务的私有虚拟网络/子网

我还勾选了“允许受信任服务列表中的 Azure 服务访问此存储帐户”复选框。

但是,API 调用失败,并显示错误消息,表明不允许访问 blob。当我将存储帐户网络配置更改为“允许从所有网络访问”时,一切正常。

经过大量搜索,我发现只有一个结果解释了同样的问题 -https://github.com/Azure/azure-powershell/issues/20299- 但除了允许所有网络访问之外,还没有提出其他解决方案。

我肯定错过了一些技巧 - 但那是什么呢?如何限制对存储帐户的访问?

答案1

这里有两件事你可以看看:

  1. 使用云服务 vNet 的私有 IP 不起作用,因为存储帐户只能看到公共 IP。默认情况下,您的出站公共 IP 将被随机分配,但您可以通过附加NAT网关到 vNet,然后允许该网关的公共 IP 到存储防火墙。

  2. 或者,您也可以使用私有端点将存储帐户加入到您的 vNet,这意味着云服务将通过私有 IP 访问它,并被允许通过防火墙。这可能是最简单、最便宜的选择。

相关内容