我刚刚创建了我的第一个 Azure SQL Server 和数据库,现在正在尝试配置防火墙,以便我的 Web 应用程序可以连接并更改服务器上的单个数据库。
然而,这是不好的做法吗?我看到我的客户端 IP 地址列在 Azure 门户中 我能否澄清一下我现在应该只允许单个 IP 地址访问,然后当我将我的 Web 应用程序发布到 Azure 时,我将获得一个 IP 地址web 应用程序存在并且仅限制对其的访问(假设人们只能通过我的前端应用程序进行数据库更改)。
谢谢
我刚刚创建了我的第一个 Azure SQL Server 和数据库,现在正在尝试配置防火墙,以便我的 Web 应用程序可以连接并更改服务器上的单个数据库。
然而,这是不好的做法吗?我看到我的客户端 IP 地址列在 Azure 门户中 我能否澄清一下我现在应该只允许单个 IP 地址访问,然后当我将我的 Web 应用程序发布到 Azure 时,我将获得一个 IP 地址web 应用程序存在并且仅限制对其的访问(假设人们只能通过我的前端应用程序进行数据库更改)。
谢谢
是的,这是不好的做法。他们还必须通过其他层(例如,服务器登录),但这会打开前门并允许任何人在闲暇时挑选它。
如果您有一个 Web 服务器在某个服务器上托管您的 Web 应用程序(您必须是),将该服务器的 IP 地址列入白名单(可能是您自己的,用于开发/管理目的),但允许所有 IP 不被认为是好的做法,不。
您可能确实希望允许这样做的一种特殊情况是,如果您将桌面应用程序分发给必须连接到后端的未知客户端。在这一点上它变得非常诱人,但即便如此,推荐的做法(或至少,我推荐的做法)将是使用一个 Web 服务,该服务将在应用程序启动时接受应用程序注册,通过该服务临时注册客户端 IP ,然后有一个后台服务器(想想WebJobs),它将刷新防火墙规则,例如,每晚左右(或者对于更复杂的设置,接受超时注册并使用连续的WebJob来轮询超时和刷新/必要时撤销)