Не удалось аутентифицировать MFA для Azure условного доступа - PullRequest
0 голосов
/ 09 июля 2020

В настоящее время я настраиваю портал Azure, используя бесплатную учетную запись, в которой я сейчас использую пробную версию Premium 2 для Active Directory. Первоначально я мог получить доступ к базе данных, используя учетные данные пользователя по имени JP01. Этот пользователь является частью группы администраторов базы данных, которая была назначена серверу sql в качестве администратора AAD. Все это работает нормально.

Однако я также добавил политику условного доступа для всех, кто обращается к Azure Sql База данных также должна выполнять MFA и получать доступ. По большей части все это работает. Я пытаюсь войти в систему, он меня отказывает, отправляет меня на страницу входа, которая вызывает мое приложение для аутентификации, и я могу его одобрить. Проблема в том, что даже после аутентификации мне все равно отказывают в доступе.

Я намерен использовать не MSI, а просто строку подключения с использованием пароля AD Auth:

" Сервер = sds01.database. windows. net, 1433; Исходный каталог = sdb01; Пользователь ID=JP01@testsitegmail.onmicrosoft.com;Password=passw0rd@123 !; Аутентификация = Пароль Active Directory; "

На Azure Data Studio ( не SSMS) Я получаю:

Ошибка входа в систему для принципала, идентифицированного токеном пользователя.

Я получаю программно:

System.AggregateException: Произошла одна или несколько ошибок. (Произошла одна или несколько ошибок. (Произошла одна или несколько ошибок. (AADSTS50076: из-за изменения конфигурации, сделанного вашим администратором, или из-за того, что вы переехали в новое место, вы должны использовать многофакторную аутентификацию для доступа к '022907d3-0f1b- 48f7-bad c -1ba6abab6d66 '. Идентификатор трассировки: ae3b2ad2-eeaf-4f2e-8783-526808d5a900 Идентификатор корреляции: b7f45074-f8b6-4813-9f0 c -e578d067872c Отметка времени: 2020-07-07 16: 30 ))

Azure Журнал Data Studio:

Microsoft.Data.SqlClient.SqlException (0x80131904): Ошибка входа для пользователя ''. в Microsoft.Data.SqlClient.SqlInternalConnection.OnError (исключение SqlException, логическое breakConnection, действие 1 wrapCloseInAction) at Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at Microsoft.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at Microsoft.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at Microsoft.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) at Microsoft.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover) at Microsoft.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout) at Microsoft.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance) at Microsoft.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, Boolean applyTransientFaultHandling, String accessToken, DbConnectionPool pool, SqlAuthenticationProviderManager sqlAuthProviderManager) at Microsoft.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) at Microsoft.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions) at Microsoft.Data.ProviderBase.DbConnectionFactory.<>c_DisplayClass40_0.<TryGetConnection>b1(Task 1) в System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke () в System.Threading.ExecutionContext.ExecutionContext.Result callback, состояние объекта) --- Конец трассировки стека из предыдущего места, где было сгенерировано исключение --- в System.Threading.Tasks.Task.ExecuteWithThreadLocal (Task & currentTaskSlot) --- Конец трассировки стека из предыдущего места, где было сгенерировано исключение --- в Microsoft.SqlTools.ServiceLayer.Connection.ReliableConnection.ReliableSqlConnection. <> c_DisplayClass30_0. d.MoveNext () в D: \ a \ 1 \ s \ src \ Microsoft.SqlTools.ManagedBatchParser \ ReliableConnection \ ReliableSqlConnection.cs: строка 314 --- Конец трассировки стека из предыдущего места, где было создано исключение --- в Microsoft .SqlTools.ServiceLayer.Connection.ConnectionService.TryOpenConnection (ConnectionInfo connectionInfo, ConnectParams connectionParams) в D: \ a \ 1 \ s \ src \ Microsoft.SqlTools.ServiceLayer \ Connection \ ConnectionService.cs: line 549 ClientConnectionId: a. -bf29-1a3576539286 Номер ошибки: 18456, состояние: 1, класс: 14

...