使用 Azure SQL DB 的 SSMS Active Directory 身份验证

SSMS Active Directory Authentication with Azure SQL DB

我正在尝试使用 SSMS 登录到 Azure SQL 数据库。我需要能够使用 Active Directory 集成身份验证登录数据库。尝试登录时:

我收到此错误: 无法验证用户 NT Authority\Anonymous 登录 Active Directory (Authentication=ActiveDirectoryIntegrated)。 错误代码 0xCAA90002;状态 10 WSTrust 响应没有可识别的 SAML 断言。 (.Net SqlClient 数据提供者)

下列说法正确的是:

  1. 我是 Azure SQL 服务器中的 Active Directory 管理员。
  2. Azure SQL 服务器防火墙接受所有 IP 地址
  3. 我在连接属性选项卡下指定一个数据库
  4. 我有 .NET 4.6,我正在使用 SSMS v17.1
  5. 身份验证有效 如果我使用 "Active Directory Universal Authentication"。

有什么想法吗? 谢谢

此问题与 AD 同步选项有关。在我的环境中,AD 不会将密码同步到租户中。这会阻止 AD 集成身份验证和 AD 密码身份验证。在此实例中唯一有效的身份验证是 AD 通用身份验证。

这可能是由于 SSMS 使用 ADALSQL.dll 的旧 API 作为 Active Directory 密码。 Active Directory Universal(使用 ADAL.net 中较新的 API)起作用的事实表明问题出在 AD 库中,而不是 SQL.

我收到了同样的错误信息,原来是密码过期导致的。 我一更新密码,错误信息就消失了。