首页 > 解决方案 > 是否可以将 Azure Blob 存储容器 IP 列入白名单以仅接受来自特定 Azure Functions 的请求

问题描述

我们目前正在尝试创建一个解决方案,该解决方案使用在 C# 中编译的 Function Apps (v2) 来处理 Azure 中的敏感数据。由于应用服务环境对于我们需要的解决方案来说代价高昂,因此我们首先尝试使用 vnet 集成,然后使用 IP 限制来保护我们的函数与通用 blob 存储 (v1) 队列和表之间的通信。不幸的是,尝试通过 IP 限制从函数对 blob 存储的访问不起作用 - 当我们尝试连接时,它似乎总是失败并显示“禁止”,即使将函数的外部 IP 的完整列表添加到 blob 存储的允许 IP 也是如此列表。并且 blob 存储不允许将函数的内部 IP(Kudu 中的 LOCAL_ADDR)添加到“允许的 IP”列表中,因为它是内部 IP,甚至将整个 Azure 区域的 IP 地址添加到 blob 存储似乎仍然不允许该函数连接。唯一可行的是完全关闭 IP 限制,这使整个解决方案在安全方面(例如 GDPR)处于不稳定的基础上。

有没有人设法找到解决这个问题的方法?这真的有可能吗?如果是的话,我们可能会出错吗?

标签: azuresecurityazure-functionsazure-blob-storagewhitelist

解决方案


我找到的最接近的可能解决方案是将您的 Functions App 连接到 VNET,然后将您的存储帐户连接到同一个 VNET,然后您可以基于该 VNET 配置限制。存储不专门支持 Functions 和异常安全性,因为在“允许 Azure 可信服务”下查看不包括 Functions 产品。

我建议检查本文档的第二部分以帮助将您的 Functions 应用程序配置为 VNET,然后查看部分以使用相同的 vnet 配置您的存储帐户,然后在存储防火墙上​​添加限制。


推荐阅读