所有文档和帮助线程我都可以找到带有 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 提示的时候重新进行身份验证和重新缓存,我也对此持开放态度。
最佳答案
不可以。据我所知,SSMS 是目前唯一通过 Active Directory 通用身份验证为 MFA 启用的工具。(请参阅 here )
如果您对 Azure SQL 数据库有任何想法或建议,可以从 here 提交。
关于powershell - 如何使用 AAD+MultiFactorAuth 调用-sqlcmd(或 sqlcmd.exe),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42148836/