【问题标题】:Accessing SQL Azure from client app从客户端应用程序访问 SQL Azure
【发布时间】:2015-06-26 14:24:22
【问题描述】:

我们有一个使用数据库进行数据存储的客户端应用程序。它通常对它们执行 CRUD 操作(SQL Server、Oracle、SQL Azure ...)。通常,此应用程序安装在最终用户的笔记本电脑上,并直接与数据库通信(无中间件)。

我们之前已经使用 SQL Azure 测试了我们的应用程序,它运行良好。然而,我们看到的一个绊脚石是我们需要将自己插入 Azure 防火墙以允许访问。

我们的客户通常会从具有可变 IP 地址的不同位置访问 Azure,有什么方法可以让他们使用我们的应用程序安全地访问 Azure,而不会影响安全性或对管理 Azure 防火墙造成巨大的管理负担?

谢谢,

鲍勃

【问题讨论】:

    标签: azure visual-c++ azure-sql-database


    【解决方案1】:

    如果您想提供从不同位置直接访问数据库的权限,则需要添加规则以打开防火墙以连接到服务器或数据库级别。也许,这不是安全方面的最佳解决方案,但如果您想将数据库公开给您的应用程序,这是唯一的解决方案。

    .

    一个更好的主意是在应用程序和您的数据库之间创建一个 API 来公开数据。每个客户端都向您的 API 发出请求,并在那里进行验证。如果是注册用户,API 从数据库中获取信息并将其公开给您的客户。它可能需要更多的工作,但它会让您更轻松地控制您的安全性并在未来扩展或修改它。

    如果您想了解有关 Azure SQL 防火墙的更多详细信息,可以查看 MSDN 中的这篇文章:How to configure an Azure SQL database firewall

    【讨论】:

    • 使用 Azure VPN 怎么样?这行得通吗?那么你会有一个固定范围的 IP 吗?
    • 我知道您可以标记检查以使数据库可用于其他 Azure 服务,我不知道它是否包含 Azure VPN。你应该试试:)
    【解决方案2】:

    我还没有解决这个问题,但我发现了一种可能对其他人有用的不同方法。

    我已经在 Azure Remote App 上部署了我的应用,并设置了一个 SQL Azure 数据库作为它的存储引擎。

    这很好用,并且具有用户管理的额外优势,我们可以使用 Microsoft 登录来控制对我们帐户的访问,从而无需防火墙针孔。

    【讨论】:

    • 很高兴您提供了解决方案。只是想知道,是否每个用户都需要为使用这种方法的应用程序付费?我想是的。
    猜你喜欢
    • 2020-12-14
    • 2015-03-25
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    • 2021-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多