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

时间:2012-11-15 21:36:35

标签: azure azure-sql-database

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

  • 宏伟/狂妄自大的妄想

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

5 个答案:

答案 0 :(得分:101)

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

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

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

enter image description here

答案 1 :(得分:6)

您的用户将如何通过Web App(前端)或直接访问数据库(我假设您不会让用户直接访问您的数据库?),如果它通过Web App(表示层)然后所有你需要的是授予对表示层/服务层的IP地址的访问权限(如果在Azure中托管它旁边)。

SQL DB Azure有两种类型的访问限制(此处有更多信息)“Windows Azure SQL Database Firewall

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

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

答案 2 :(得分:3)

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

-- Enable Allconnections.  
EXECUTE sp_set_database_firewall_rule N'Allow All', '0.0.0.0', '255.255.255.255';  

答案 3 :(得分:2)

Login to azure Portal

    select your database subscription

        click on Tools

                Now there is option 'Open in VisualStudio' (click on it)

                    You can see "Configure Firewall" click on it.

        Add you new IP.

Done :)

答案 4 :(得分:1)

如果您让他们直接与您的数据库对话(例如通过SSMS),您需要输入他们的IP(或者您可以将整个范围列入白名单)。通常他们会通过您自己的API使用您的数据库,然后不需要将他们的IP地址列入白名单。