如何允许未知用户访问我的SQL(Azure)数据库?

B. *_*non 54 azure azure-sql-database

显然,必须明确指定(白名单)允许访问SQL Azure DB的IP地址.但是,我想让N-gazillion*用户访问这些表以获取特定于他们的数据.

  • 妄想的妄想/狂妄自大

这些是否需要首先向我提供他们的IP地址,以便我可以将其添加为有效条目,或者是否有编程方式来执行此操作或其他一些解决方法?

cil*_*arl 120

建议让某种中间件访问数据库,而不是直接访问客户端.

但是,如果您希望任何IP能够连接到数据库,只需将此条目添加到防火墙列表:

Azure门户 - >数据库 - >服务器 - >配置并添加以下规则:

在此输入图像描述

  • 非常好的答案(谢谢!),但令人惊讶的是,如果有一个像Azure这样的现代,外观漂亮,用户友好的网站,他们仍然需要您输入这些最小和最大IP地址,而不是简单地"允许任何IP地址"复选框. (3认同)
  • "微软.这一切都解释了" - 对于这种荒谬的判断,人们真的错过了对评论的投票. (2认同)

use*_*584 6

您的用户将如何通过Web应用程序(前端)或直接访问数据库(我假设您不会让用户直接访问您的数据库?),如果它通过Web应用程序(表示层),那么您只需要todo授予对表示层/服务层的IP地址的访问权限(如果在Azure中托管它旁边).

SQL DB Azure有两种类型的访问限制(此处有更多信息)" Windows Azure SQL数据库防火墙 "

  • 服务器级防火墙规则:
  • 数据库级防火墙规则

您可以打开所有IP地址0.0.0.0 - 255.255.255.255(不是非常安全),或者根据上述数据库防火墙规则提出更精细的策略.

  • 你总是可以通过服务层(IMO,这将是最好的架构,个人不会有Win8应用程序直接访问数据库,服务层之间)Win8 - > WCF/Web.API-> SQL DB (2认同)

小智 6

唯一的方法是通过 SQL 查询。Azure 仅显示仅在门户上可见的防火墙服务器规则,但在数据库级别唯一的方法是通过 SQL。

-- Enable Allconnections.  
EXECUTE sp_set_database_firewall_rule N'Allow All', '0.0.0.0', '255.255.255.255';  
Run Code Online (Sandbox Code Playgroud)