Проверка подлинности Active Directory(AD) в Azure Sql не работает

Я пытаюсь заставить аутентификацию Azure AD работать с моей базой данных SQL Azure.

  • Я создал базу данных PaaS и связанный с ней сервер PaaS Sql.
  • Я назначил свою учетную запись Azure AD в качестве "администратора Active Directory" "PaaS Sql Server".

Затем я вошел в систему SSMS, используя учетную запись МОЕГО домена, чтобы создать пользователя:

CREATE USER [xxx@yyy.com] FROM EXTERNAL PROVIDER; 
GO
sp_addrolemember db_datareader,  [xxx@yyy.com];  
GO
sp_addrolemember
db_datawriter,  [xxx@yyy.com];  
GO

Когда я пытаюсь войти в систему с учетной записью xxxxx@yyy.com, я получаю обратно:

   Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'. (.Net SqlClient Data Provider)

    Server Name: zzzzz.database.windows.net
    Error Number: 18456
    Severity: 14
    State: 1
    Line Number: 65536

Что мне не хватает?

Странное наблюдение, если я намеренно использую неправильный пароль, я получаю эту ошибку: AADSTS70002: Ошибка при проверке учетных данных. AADSTS50126: Неверное имя пользователя или пароль, которые говорят о том, что AD как-то работает, но что-то не работает в общем процессе.

Еще одно странное наблюдение: если я добавлю действительную учетную запись AD, она будет успешной

CREATE USER [xxx@yyy.com] FROM EXTERNAL PROVIDER; 

Если я создаю плохую учетную запись AD

CREATE USER [xxxABC@yyy.com] FROM EXTERNAL PROVIDER; 

Я вернусь:

Principal 'xxxABC@yyy.com' could not be found or this principal type is not supported.

1 ответ

Из "simialr post"

Ошибка анонимного входа возникает, когда вы не указали базу данных, к которой хотите подключиться. Просто выберите "параметры" на экране входа в систему SSMS и введите имя базы данных, к которой вы хотите подключиться. Это потому, что ваш пользователь является отдельным пользователем в базе данных, в которой он был создан. Он не существует в Master. - Грег Тертер 7 марта 17:23

Это исправило мою проблему - часы потрачены впустую!!!

Примечание: для соединений ODBC пользователь также должен быть создан в master

Другие вопросы по тегам