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

如何允许未知用户访问我的SQL(Azure)DB?,azure,azure-sql-database,Azure,Azure Sql Database,显然,必须明确指定(白名单)允许访问SQLAzure数据库的IP地址。不过,我希望有N-gazmillion*用户访问这些表以获取特定于他们的数据 宏伟妄想/妄自尊大 这些人是否需要首先向我提供他们的IP地址,以便我可以将其添加为有效条目,或者是否有一种编程方式来执行此操作,或者其他解决方法?如果您让他们直接与您的数据库通信(例如通过SSM),您需要输入他们的IP(或者您可以将整个范围列为白名单)。通常,他们会通过您自己的API使用您的数据库,因此不需要将他们的IP地址列入白名单。建议使用某

显然,必须明确指定(白名单)允许访问SQLAzure数据库的IP地址。不过,我希望有N-gazmillion*用户访问这些表以获取特定于他们的数据

  • 宏伟妄想/妄自尊大

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

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

建议使用某种中间件访问数据库,而不是直接访问您的客户端

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

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


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

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

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

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

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

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 :)
-- Enable Allconnections.  
EXECUTE sp_set_database_firewall_rule N'Allow All', '0.0.0.0', '255.255.255.255';  

访问权限来自Windows 8/Store应用程序;因此,每个用户都将从他们自己的IP地址进行访问。您可以始终通过服务层(IMO这将是最好的体系结构,个人不会有Win8应用程序直接访问数据库,服务层介于两者之间)Win8->WCF/Web.API->SQLDB@user728584我找到了服务器级文档()但我看不到配置特定端口的方法。有办法吗?你说的“通过我自己的API使用我的数据库”是什么意思?我希望客户端调用一个连接到数据库并插入记录的方法。哦,没关系,我只是在下面读了你的其他评论。我所说的“您自己的API”是指托管在您的一台服务器上的服务,但我看到客户端从自己的PC上调用数据库。请记住,从外部源调用数据库通常是一个非常糟糕的主意:每个客户端都需要知道您数据库的密码(可以反向工程),如果它改变了,你必须更新所有的客户端。通常最好创建一个REST API或类似的东西来执行数据库交互,并从您的客户端调用它。回答很好(谢谢!!),但令人惊讶的是,在Azure这样一个现代化、美观、用户友好的网站上,他们仍然要求您输入这些最小和最大IP地址,而不是给出一个简单的密码“允许任何IP地址”复选框。(几个月后)这很奇怪。我在Azure数据库上设置了“所有访问”IP范围,但SQL Server Management Studio(和我的webapp)拒绝连接,报告不允许我的“IP地址”访问服务器。“就我而言,我不得不使用
1.1.1.1
255.255.255.255
“微软,一切都解释清楚了”-因为如此荒谬的判断,人们真的错过了对评论投反对票的机会。