Вхід у систему Microsoft SQL Server за допомогою облікових даних Active Directory


14

Наші сервери Microsoft SQL працюють на серверах Windows, які є частиною домену Active Directory.

Для зручного управління користувачем, наша авторизація SQL налаштовується за допомогою груп користувачів Active Directory, як пояснено в цій публікації .

Тепер це працює добре, поки всі працюють у домені. Люди входять на свій комп’ютер за допомогою своїх облікових даних AD і можуть підключитися до SQL-сервера за допомогою "Автентифікації Windows".

Проблема полягає в тому, що наші користувачі також працюватимуть на інших клієнтських комп’ютерах, які не входять до домену Active Directory (і додавати їх до домену не є можливим).

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

Екран входу в SQL Server

Однак це, здається, не працює.

Вхід у систему за допомогою автентифікації пароля Acive Directory надає проблеми з сертифікатом. Помилка: "Ланцюг сертифікатів був виданий органом, якому не довіряють."

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.


Відкрийте C:\WINDOWS\system32\cliconfg.exeта перевірте, чи включено шифрування протоколу примусового використання. Якщо його відключити
Drifter104

Ні, це не ввімкнено.
Gilles Lesire

2
Цікава проблема. Це здається дійсним: runas /netonly /user:domain\username "c:\path\ssms.exe" mssqltips.com/sqlservertip/3250/…
Michal Sokolowski

Відповіді:


11

Повідомлення про помилку полягає в тому, що сертифікати видані не довіреною владою. Це, швидше за все, ваш домен AD.

Кілька рішень, які ви можете спробувати:

  1. Цей пост dba.stackexchange.com пропонує натиснути кнопку параметрів у вікні підключення вище та додати в TrustServerCertificate=Trueрозділі Додаткові параметри з'єднання. Це в основному говорить SSMS, що так, ви знаєте, просто зробіть це.
  2. Якщо це не працює, ця публікація dba.stackexchange.com пропонує використовувати руни, щоб обманути Windows. Наприклад, runas /netonly /user:domain\username "C:\path_to\ssms.exe"я ніколи цього не робив із SSMS, але варто спробувати, оскільки ОП, здається, опинився в подібній ситуації з вами (і я довіряю хлопцеві, що відповідає).

У будь-якому випадку, сподіваємось, один із цих способів вирішить для вас трюк.


1
Перше рішення не спрацювало, воно вже було вирішено в моєму питанні. Друге рішення, здається, працює, хоча при вході в нього все ще говориться, що моє ім’я Windows поруч із з'єднанням потрібно виконати деякі тести, якщо це насправді обліковий запис домену та чи працює він належним чином, як сподівався. Схрещені пальці.
Жиль Лесіре

Якщо руна працює, чи є спосіб уникнути командного рядка? Не всі наші користувачі є технологічними.
Жиль Лесіре

3
Можливо, ви могли б створити спеціальний ярлик? Я насправді просто перевірив це, додавши runas /netonly /user:domain\username до початкового рядка скопійований ярлик. Він працював чудово, хоча він також спливав командний рядок для введення їхніх облікових даних.
Кетрін Вільярд

Або скористайтеся Sysinternals ShellRunAs
1818

1

Найпростіший спосіб - це лише клацання правою кнопкою миші на "Microsoft SQL Server Management Studio" - "ще" виберіть "Запустити як інший користувач". Це працювало для мене. Я думав, що якщо я виберу "Активний каталог - пароль" на екрані входу, який би зробив ту саму роботу, але ... на жаль, це не відбулося.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.