"帐户没有订阅"从SQL Server Management Studio添加新的防火墙规则时

时间:2017-01-12 11:36:52

标签: sql-server azure azure-sql-database firewall

  1. 用户正在尝试通过SQL Server Management Studio(SSMS v16.5.1)连接到Azure SQL数据库。

  2. Azure SQL Server的防火墙规则中未列出用户的当前IP地址。

  3. 因此,用户会看到“新建防火墙规则”对话框。

  4. 当用户使用Azure Active Directory(Azure AD)凭据登录时,会收到错误消息:

      

    帐户没有订阅

  5. 点击"详情"显示:

      

    我们在连接Azure时遇到了问题

         

    其他信息:
      登录帐户没有Azure订阅   (Microsoft.SqlServer.Management.ApplicationAuthenticationManagement)

  6. 为什么用户收到此错误消息,他们如何为其IP地址添加新的防火墙规则?

    enter image description here

3 个答案:

答案 0 :(得分:6)

Azure支持已根据an Azure documentation article与我分享了以下内容。

在Azure SQL Server中,只有 Active Directory管理员 SQL Server管理员有权在服务器级别添加防火墙规则。

上述错误消息(有点模糊)表示用户不是。

enter image description here

我的个人经验还表明,分配为Subscription 共同管理员的Azure AD帐户也可以设置防火墙规则。

如果且仅当给予用户权限是合适的,可以通过以下三种方式之一来完成:

  1. 将用户指定为 SQL Server管理员

  2. 将服务器的 Active Directory管理员设置为Azure Active Directory组,并使用户的AD帐户成为该组的成员。

  3. 通过https://manage.windowsazure.com/

  4. 让用户成为订阅的共同管理员

    在采取行动之前,请务必了解每个选项的安全隐患。

答案 1 :(得分:2)

请看这两个即将上线的教程(2017年1月13日晚些时候): https://docs.microsoft.com/en-us/azure/sql-database/sql-database-control-access-sql-authentication-get-started https://docs.microsoft.com/en-us/azure/sql-database/sql-database-control-access-aad-authentication-get-started

这些教程讨论了使用服务器和数据库级防火墙规则以及SQL Server身份验证和Azure Active Directory身份验证。 我希望这些帮助, 卡尔

答案 2 :(得分:0)

在Azure门户中(https://portal.azure.com/#resource/subscriptions/ {Your-GUID} /resourceGroups/AdminPortalDev/providers/Microsoft.Sql/servers/wjidentityserver/databases/ {Your-DATABASE_SERVER} / overview)

  • 选择您的数据库
  • 选择"概述"
  • "设置服务器防火墙"在工具栏上
  • 在工具栏上添加客户端IP

然后您就可以从新的IP地址进行连接  我无需管理员即可添加IP地址。

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-security-tutorial#create-a-server-level-firewall-rule-in-the-azure-portal中描述了更多细节的步骤。

其他问题Client with IP addres is not allowed to access the server Azuredb描述了更有意义的信息和相同的解决方案。