Azure SQL - Как добавить пользователей AD в базы данных пула SQL - PullRequest
0 голосов
/ 04 февраля 2019

Проблема: Я пытаюсь добавить пользователей и группы активного каталога (синхронизированные с локальной версией в Azure AD) в базы данных SQL, которые существуют в эластичном пуле SQL в Azure втот же арендатор.Я не хочу использовать аутентификацию SQL Server (интегрированную).Похоже, я не могу войти в систему с учетной записью AD (требуется), чтобы добавить дополнительные учетные записи AD.

Локальный каталог синхронизирован с Azure AD.Клиент настроен и работает с электронной почтой O365, и теперь у нас есть несколько баз данных SQL, которые существуют в нашем клиенте в эластичном пуле.

Примечание: это не управляемый экземпляр SQL.Когда я управляю эластичным пулом или базой данных напрямую, у меня не появляется пункт меню Active Directory admin , , как указано здесь .

Моя учетная запись администратора AD добавляетсяв эластичный пул Контроль доступа (IAM) в качестве владельца.

Используя SSMS для подключения к базе данных в облаке, можно подключиться к базе данных с использованием аутентификации SQL Server.Когда я пытаюсь CREATE USER [username@mytenant.com] FROM EXTERNAL PROVIDER я получаю сообщение об ошибке Участник 'username@mytenant.com' не может быть создан.Только соединения, установленные с учетными записями Active Directory, могут создавать других пользователей Active Directory.

Причиной этого, , также обозначенной здесь , является " Пользователи, которые не основаны наУчетная запись Azure AD (включая учетную запись администратора сервера SQL Azure) не может создавать пользователей на основе Azure AD, поскольку у них нет разрешения на проверку предполагаемых пользователей базы данных с помощью Azure AD."

Повторное использование SSMSи соединение с Active Directory - универсальный с поддержкой MFA как username@mytenant.com, при попытке входа в систему я получаю ошибку Ошибка входа для пользователя 'NT AUTHORITY \ ANONYMOUS LOGON'.(Microsoft SQL Server, ошибка: 18456) .Те же результаты, когда я настраиваю Подключение к базе данных в качестве имени DBName и Имя домена AD или идентификатор клиента в качестве mytenant.onmicrosoft.com.У меня тот же результат, даже если я использую исходную учетную запись администратора клиента, которую мы создали при настройке среды.

Поэтому мой вопрос в конце дня - Как добавить пользователя AD, синхронизированного сPrem для базы данных SQL Azure (или эластичного пула), чтобы я мог войти в систему с этим пользователем и начать добавлять дополнительных пользователей AD в базу данных?

Я явно упускаю что-то фундаментальное и мне просто нужноправильное направление.Спасибо за любую оказанную помощь.

1 Ответ

0 голосов
/ 04 февраля 2019

Сначала создайте администратора Active Directory для пула.

  1. Выберите существующий Elastic Pool на портале
  2. В «Обзоре» щелкните свое «Имя сервера»
  3. Выберите «Администратор Active Directory» -> «Установить администратора ».Вы можете установить одного пользователя или группу AD в качестве администратора.

Вы также можете сделать это из CLI:

> az sql server ad-admin create --object-id <Object-Id-OfUserOrGroup>
    -s <Database-Name>
    -g <Resource-Group>
    -u <NameOrEmailAkaDisplayName>

Теперь вы можете войти в систему.в базу данных в Elastic Pool с вашей учетной записью администратора AD через SSMS.В этом случае вы можете войти через «Аутентификацию по паролю Active Directory», но вы также можете использовать «Универсальную аутентификацию» или «Интегрированную аутентификацию».

После входа в систему в качестве администратора AD вы можете создатьновый пользователь SQL Server, который соответствует группе AD.Обратите внимание, что я уже создал группу AD под названием «Разработчики SQL», поэтому я могу сопоставить ее с базой данных SQL Server Azure и добавить ее в фиксированную роль db_datareader, например:

CREATE USER [SQL Developers] FROM EXTERNAL PROVIDER 
ALTER ROLE db_datareader ADD MEMBER [SQL Developers]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...