2

所有文檔和幫助主題我可以通過Authentication = ActiveDirectoryIntegrated找到引用連接字符串,以便使用AAD集成命中SQL。如果我使用SSMS,我還可以選擇「Active Directory Universal」,如果需要MultiFactorAuth(MFA),它將提示提示。如何使用AAD + MultiFactorAuth調用sqlcmd(或sqlcmd.exe)

我想使用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提示時重新進行身份驗證並重新緩存,我對此也持開放態度。

+0

如果我使用Pin或智能卡而不是用戶/密碼登錄到Windows,ActiveDirectoryIntegrated就可以。如果在這裏有另一個流程仍然感興趣 – ZackRun

回答

2

我想使用powershell來調用sqlcmd,甚至直接sqlcmd.exe - 要麼支持MFA流?

號據我所知,SSMS是通過Active Directory通用認證爲MFA當前啓用的唯一工具。(參見here

如果您有關於Azure的SQL數據庫中的任何意見或建議,你可以從here提交。