所有文档和帮助线程我都可以找到带有Authentication = ActiveDirectoryIntegrated的引用连接字符串来使用AAD集成来命中SQL。如果我使用SSMS,我也可以选择" Active Directory Universal"如果需要MultiFactorAuth(MFA),则会提示。
我想使用powershell来调用-sqlcmd,甚至直接调用sqlcmd.exe - 是否支持MFA流?如何针对启用AAD的启用MFA的SQLAzure实例获取命令行查询?
invoke-sqlcmd : Failed to authenticate the user NT Authority\Anonymous Logon in Active Directory
(Authentication=ActiveDirectoryIntegrated).
Error code 0xCAA2000C; state 10
AADSTS50079: The user is required to use multi-factor authentication.
Trace ID: 54f0cb31-2f0f-4137-b142-b312a6cd441b
Correlation ID: 70204904-576c-4db5-9c3b-6ccd7fe6b409
Timestamp: 2017-02-09 22:56:39Z
我已经看过https://docs.microsoft.com/en-us/azure/sql-database/sql-database-aad-authentication,一切正常,直到MFA被应用,或者当它意识到是时候重新验证并提示时。
如果我有办法缓存信用卡,那么ActiveDirectoryIntegrated通常可以正常工作,我只需要重新验证并重新缓存,当它决定是时候强制MFA提示时我也会对此开放