Як я можу змусити зв’язаний сервер працювати за допомогою автентифікації Windows?


20

Я намагаюся отримати зв’язаний сервер із ServerA, створеним на іншому сервері, ServerB, використовуючи "Будьте зроблені з використанням поточного контексту безпеки входу" у доменному середовищі. Я прочитав, що для активації Kerberos мені потрібно створити SPN для облікових записів служб, на яких працює SQL Server на кожному з серверів. Я це зробив, і обидва зараз показують схему аутентифікації Kerberos, однак я все ще стикаюся з помилкою:

"Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'".

У Active Directory я бачу, що для делегування в MSSQLSvc обліковий запис служби для ServerB довіряється, але я помітив, що в обліковому записі служби для ServerA ще не ввімкнено "довірити цього користувача для делегування". Чи потрібно також цільовому серверу включити цю опцію? Чи потрібно щось інше, щоб мати можливість використовувати поточний логін для входу в Windows, щоб використовувати пов'язаний сервер?

Відповіді:


22

Кожна машина в ланцюзі від вашого робочого столу до сервера, на який ви телефонуєте, має бути включена Kerberos, щоб довіра просунулася через перший скачок. Отже, так, сервер повинен довіряти користувачеві для делегування.

"Помилка входу для користувача" NT AUTHORITY \ ANONYMOUS LOGON "" майже завжди вказує на проблему делегування.

  • Ваш обліковий запис Windows повинен мати доступ як до ServerA, так і до ServerB.
  • У вас не повинно бути налаштування "Обліковий запис є чутливим і його не можна делегувати".
  • І ServerA, і ServerB повинні мати свій власний SPN.
  • Сервери повинні бути підключені TCP / IP або названі труби.

Стаття про Інтернет-книги SQL Server Books, яка пропонує дещо детальніше, - "Налаштування пов'язаних серверів для делегування": http://msdn.microsoft.com/en-us/library/ms189580(v=sql.105).aspx


1
Корисний блог MSDN до подробиць про SPN та Kerberos
Jan Zahradník

Також перевірте, чи використовується псевдонім DNS для будь-якого сервера, чи повинні відповідати SPN.
Грег

-1

Тут дві речі:

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

  2. Також вам знадобиться налаштувати локальний DTC через DCOMCNFG для зв'язку. Дивіться додане зображення.

(DCOMCNFG -> Послуги компонентів -> Комп'ютери -> Мій комп'ютер -> Координатор розподілених транзакцій -> LocalDTC -> Властивості -> Безпека)

введіть тут опис зображення

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