azure - 如何将 Azure SQL 数据库中的函数应用程序列入白名单

标签 azure azure-functions azure-sql-database whitelist

我需要配置 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

enter image description here

但是,从您的评论中我看到您不想使用高级计划。

我可以建议您实现托管服务身份的最后一件事。

其背后的想法是,您不使用连接字符串连接数据库,而是使用您授予的访问 token 连接到数据库。如果您不在同一身份中,则无法获取访问 token 。

本教程解释了应用服务的总体思路: https://learn.microsoft.com/en-us/azure/app-service/app-service-web-tutorial-connect-msi

本教程几乎涵盖了您真正想要实现的目标。

https://www.azurecorner.com/using-managed-service-identity-in-azure-functions-to-access-azure-sql-database/

祝你好运!

关于azure - 如何将 Azure SQL 数据库中的函数应用程序列入白名单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62153593/

相关文章:

Azure Functions 和本地 TCP 服务器

sql-server - 触发从 SQL Server 到 Azure 事件中心的事件

c# - 作为单独实例运行的单例 Azure 函数

使用 varchar (max) 的 Sql select 查询花费太多时间

azure - 自动缩放 Azure SQL 数据库

asp.net-mvc - EF 核心和 Azure

Azure Web应用服务: IIS Reverse proxy possible?

azure - 无法使用 Azure Sphere 设备作为 TCP 客户端

Azure 创建的容器未显示在门户中

azure - 是否有推荐的方法来获取网络应用程序的实时数据?