3

所有文档和帮助线程我都可以找到 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 提示时重新验证和重新缓存,我也对此持开放态度。

4

2 回答 2

3

我想使用 powershell 来调用-sqlcmd,甚至直接调用 sqlcmd.exe - 是否支持 MFA 流?

没有。据我所知,SSMS 是目前唯一通过 Active Directory 通用身份验证启用 MFA 的工具。(请参阅此处

如果您对 Azure SQL 数据库有任何想法或建议,可以从此处提交。

于 2017-02-10T05:55:44.673 回答