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

3

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

enter image description here

我收到了这个错误: 在Active Directory中无法验证用户NT Authority\Anonymous Logon (Authentication=ActiveDirectoryIntegrated)。 错误代码为0xCAA90002;状态为10 WSTrust响应没有被认可的SAML断言。(.Net SqlClient Data Provider)
以下是真实情况: 1. 我是Azure SQL Server中的Active Directory管理员。 2. Azure SQL Server防火墙接受所有IP地址。 3. 我正在指定连接属性选项卡下的数据库。 4. 我有.NET 4.6,并且我正在使用SSMS v17.1。 5. 如果我使用“Active Directory Universal Authentication”,则身份验证有效。
有什么想法吗? 谢谢。
3个回答

1

我曾经遇到过同样的错误提示,后来发现是因为密码过期所致。当我更新了密码后,错误提示消失了。


1
这个问题与 AD 同步选项有关。在我的环境中,AD 没有将密码同步到租户中。这会阻止 AD 集成认证和 AD 密码认证。在这种情况下,唯一有效的身份验证是 AD 通用身份验证。

如果在Powershell中使用AD通用身份验证,连接字符串会是什么样子呢? - Asher

1
这可能是由于SSMS使用的ADALSQL.dll旧API导致的,该API用于Active Directory密码。事实上,Active Directory Universal(使用来自ADAL.net的较新API)的工作表明问题在于AD库,而不是SQL。

我之前曾经为自己解决过这个问题,但现在我的同事也遇到了同样的问题,可是我再也找不到解决方案了。:( - Tony

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接