5

我有一个使用不同服务器的不同数据库的 Azure 应用程序。这个数据库是独立的,我的应用程序的每个扇区只使用一个数据库。我尝试制作一个 IP 过滤器。此过滤器必须识别请求者的 ip,并根据此过滤器是否允许访问每个数据库。这给了我一种方法,允许访问 A 而不是 B 的 IP,访问 B 而不是 A 的另一个 IP,完全访问另一个不同的 IP ......使用 Azure 的安全性。这可能吗?

谢谢,我等一个答案!

PD:对不起我糟糕的英语!

4

2 回答 2

0

假设您指的是 SQL Azure 托管数据库,您可以使用数据库级防火墙设置,此处记录了这些设置。

使用 sp_set_database_firewall_rule 存储过程创建数据库级防火墙规则。通过在 sp_set_database_firewall_rule 存储过程的 name 参数中指定唯一名称,为基于 Internet 的连接添加新的防火墙设置。使用 start_ip_address 参数指定该范围内所需的最低 IP 地址,并使用 end_ip_address 参数指定该范围内所需的最高 IP 地址。name 参数是 nvarchar 数据类型,start_ip_address 和 end_ip_address 参数是 varchar 数据类型。

同样,您可以通过使用参数 start_ip_address 和 end_ip_address 等于 0.0.0.0 的 sp_set_database_firewall_rule 存储过程来启用来自 Windows Azure 的连接尝试。

于 2012-11-13T16:26:33.417 回答
0

我相信你已经找到了一个解决方案,因为它现在已经有几个月了,但以防万一......

假设我理解正确,您有一堆客户端与您的应用程序服务器通信,而应用程序服务器又会查询许多数据库服务器中的一个。mellamokb 建议的防火墙不是一个选项,因为客户端实际上并没有访问数据库,因此需要的东西必须位于应用程序服务器上。

根据客户端的 IP 地址选择用于访问/a 数据库的连接字符串可能就是您在这里所追求的。如果您还需要使用其本机安全性锁定数据库,则需要为每个客户端创建一个命名用户帐户。

或者,您可以调查Azure SQL 数据库上的联合,并使用客户端的 IP 地址或类似的标识符作为分发密钥。

于 2013-01-29T14:30:34.757 回答