Назад | Перейти на главную страницу

Вход в Microsoft SQL Server с использованием учетных данных Active Directory

Наши серверы Microsoft SQL работают на серверах Windows, которые являются частью домена Active Directory.

Для упрощения управления пользователями наша авторизация SQL настраивается с помощью групп пользователей Active Directory, как описано в этом Почта.

Теперь это работает нормально, пока все работают внутри домена. Люди входят в свой компьютер, используя свои учетные данные AD, и могут подключаться к серверу SQL, используя «Аутентификацию Windows».

Проблема в том, что наши пользователи также будут работать на других клиентских компьютерах, которые не являются частью домена Active Directory (и их добавление в домен не вариант).

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

Однако, похоже, это не работает.

При входе в систему с использованием аутентификации пароля активного каталога возникают проблемы с сертификатом. Ошибка: «Цепочка сертификатов была выдана ненадежным центром».

Cannot connect to x.x.x.x.

===================================

A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - The certificate chain was issued by an authority that is not trusted.) (.Net SqlClient Data Provider)

------------------------------
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=-2146893019&LinkId=20476 (page does not exist)

Как ни странно, если я перейду к настройкам «параметров» в окне входа в систему и поставлю флажок «доверять сертификату сервера». Я внезапно НЕ могу подключиться к серверу и просто получаю сообщение об ошибке.

Cannot connect to x.x.x.x.

===================================

Login failed for user ''. (.Net SqlClient Data Provider)

Возможна ли установка, которую я хочу достичь? И если да, то как я могу этого добиться? :)

Резюме: Серверы SQL работают в домене AD, пользователи имеют учетные данные AD, но также должны иметь возможность входить в систему с клиентских компьютеров, НЕ являющихся частью домена AD, со своими учетными данными AD.

Сообщение об ошибке заключается в том, что сертификаты были выпущены ненадежным центром. Скорее всего, это будет ваш домен AD.

Пара обходных путей, которые вы можете попробовать:

  1. Это сообщение dba.stackexchange.com предлагает нажать кнопку параметров в окне подключения выше и добавить TrustServerCertificate=True в разделе «Дополнительные параметры подключения». По сути, это говорит SSMS, что да, вы знаете, просто сделайте это.
  2. Если это не сработает, это сообщение dba.stackexchange.com предлагает использовать runas, чтобы обмануть Windows. Например, runas /netonly /user:domain\username "C:\path_to\ssms.exe" Я никогда не делал этого с SSMS, но стоит попробовать, поскольку OP, похоже, находится в той же ситуации, что и вы (и я верю, что парень отвечает).

В любом случае, надеюсь, один из этих обходных путей поможет вам.

Самый простой способ - просто щелкнуть правой кнопкой мыши «Microsoft SQL Server Management Studio» - «еще» выбрать «Запуск от имени другого пользователя». У меня это сработало. Я думал, что если я выберу «Active Directory - Пароль» на экране входа в систему, это выполнит ту же работу, но ... к сожалению, этого не произошло.