Azure Sql中的Active Directory(AD)身份验证不起作用

时间:2018-06-30 06:06:59

标签: azure azure-sql-database azure-active-directory

我正在尝试使Azure AD身份验证针对我的Azure SQL数据库工作。

  • 我创建了一个PaaS数据库及其关联的PaaS Sql Server。
  • 我将MY Azure AD帐户分配为“ PaaS Sql Server”的“ Active Directory管理员”。

接下来,我使用我的域帐户登录到SSMS以创建用户:

   Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'. (.Net SqlClient Data Provider)

    Server Name: zzzzz.database.windows.net
    Error Number: 18456
    Severity: 14
    State: 1
    Line Number: 65536

当我尝试使用xxxxx@yyy.com帐户登录时,我回来了:

CREATE USER [xxx@yyy.com] FROM EXTERNAL PROVIDER; 

我想念什么?

奇怪的观察,如果我有意使用了错误的密码,我会得到以下错误信息: AADSTS70002:验证凭据时出错。 AADSTS50126:无效的用户名或密码,表明AD以某种方式起作用,但整个过程出现了问题。

另一个奇怪的发现: 如果我添加一个有效的AD帐户,它将成功

CREATE USER [xxxABC@yyy.com] FROM EXTERNAL PROVIDER; 

如果我生成了错误的AD帐户

Principal 'xxxABC@yyy.com' could not be found or this principal type is not supported.

我回来了:


Project::with('tasks.tags')->get();

1 个答案:

答案 0 :(得分:2)

来自“类似帖子”

当您未指定要连接的数据库时,将发生“匿名登录”错误。只需在SSMS登录屏幕上选择“选项”,然后输入要连接的数据库名称即可。 。这是因为您的用户是创建它的数据库中的包含用户。它在Master上不存在。 – Greg Grater '17 Mar 3'7 at 1:23

这解决了我的问题-浪费了很多时间!

注意:对于ODBC连接,用户也必须在master中创建