我们有一个客户端应用程序,它使用数据库来存储数据。它通常对它们执行CRUD操作(SQL Server,Oracle,SQL Azure ......)。通常,此应用程序安装在最终用户的笔记本电脑上,并直接与数据库(无中间件)进行对话。
我们之前已经使用SQL Azure测试了我们的应用程序并且运行良好。但是,我们看到的一个绊脚石是我们需要将自己插入Azure防火墙以允许访问。
我们的客户通常会从具有可变IP地址的不同位置访问Azure,有没有办法允许他们使用我们的应用程序安全地访问Azure,而不会影响安全性或管理Azure防火墙带来巨大的管理负担?
谢谢,
鲍勃
答案 0 :(得分:2)
如果要从不同位置直接提供对数据库的访问,则需要添加规则以打开防火墙以连接到服务器或数据库级别。也许,这不是安全术语中的最佳解决方案,但如果您希望将数据库暴露给您的应用程序,则这是唯一的解决方案。
更好的想法是在应用程序和数据库之间创建一个公开数据的API。每个客户端都会向您的API发出请求,并在那里进行验证。如果是注册用户,则API从数据库获取信息并将其公开给您的客户。它可能需要更多的工作,但它可以使您更容易控制安全性,并在将来扩展或修改它。
如果您想了解有关Azure SQL防火墙的更多详细信息,可以查看MSDN上的这篇文章:How to configure an Azure SQL database firewall。
答案 1 :(得分:1)
我还没有解决这个问题,但我发现了一种可能对其他人有用的不同方法。
我已在Azure Remote App上部署了我的应用程序,并将SQL Azure数据库设置为其存储引擎。
这很好用,并且具有用户管理的附加优势,我们可以使用Microsoft登录来控制对我们帐户的访问,从而消除对防火墙的影响。