Проверка подлинности Active Directory (AD) в Azure Sql не работает - PullRequest
0 голосов
/ 30 июня 2018

Я пытаюсь заставить аутентификацию 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 Ответ

0 голосов
/ 01 июля 2018

Из "сообщения simialr"

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...