我需要配置 Azure SQL 数据库
防火墙设置,以便它只能由我的 Azure Function
应用访问。问题是我正在消耗计划中运行该应用程序,据我所知,即使我不采取任何操作,出站 IP 地址也可能会发生变化。
有没有办法将应用程序列入白名单,以便保护数据库免受不需要的连接的影响?
我想到了按 Azure 区域列入白名单,因为所有内容都托管在同一区域中,但是如何防范同一区域中的其他应用程序呢?这就是为什么我考虑使用特定的 IP 地址。我对这种方法唯一担心的是,我不知道其他功能应用程序是否可以与我自己的应用程序共享相同的出站 IP 地址。
附注目前,我的防火墙设置拒绝公共(public)网络访问并仅允许 Azure 服务连接。
最佳答案
有多种方法可以实现这一目标。
您可能希望集成 VNet 或为 Azure Functions 获取静态 IP 地址
图片来自:https://learn.microsoft.com/en-us/azure/azure-functions/functions-networking-options
但是,从您的评论中我看到您不想使用高级计划。
我可以建议您实现托管服务身份的最后一件事。
其背后的想法是,您不使用连接字符串连接数据库,而是使用您授予的访问 token 连接到数据库。如果您不在同一身份中,则无法获取访问 token 。
本教程解释了应用服务的总体思路: https://learn.microsoft.com/en-us/azure/app-service/app-service-web-tutorial-connect-msi
本教程几乎涵盖了您真正想要实现的目标。
祝你好运!
关于azure - 如何将 Azure SQL 数据库中的函数应用程序列入白名单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62153593/