Як використовувати автентифікацію Kerberos в SQL Server

Переклади статей Переклади статей
Номер статті: 319723 - Показ продуктів, яких стосується ця стаття.
Розгорнути все | Згорнути все

На цій сторінці

Підсумки

Ви можете використовувати автентифікацію Kerberos з Microsoft SQL Server 2000. SQL Server 2000 підтримує цю функцію у рамках типовий Microsoft Windows 2000 або Microsoft Windows Server 2003 служба Active Directory домену установки. З 2000 року пакет оновлень 3 (SP3) для Microsoft Windows та Windows Server 2003, можна активувати Kerberos автентифікації на сервері кластери.

Для отримання додаткових відомостей про це додано функціональності, клацніть номер статті в в Microsoft Knowledge Base:
235529Підтримку Kerberos на кластерах сервер під керуванням Windows 2000

Примітка. Можна використовувати цю функцію лише, якщо Windows запущено 2000 SP3 або Windows Server 2003.

SQL Server 2000 Резервний кластеризація також використовує цю функціональність. Коли мережне ім’я ресурс, який сервер SQL залежить знаходиться в кластерів під керуванням Windows 2000 Ви можете використовувати автентифікацію Kerberos на ресурс, після оновлення на комп'ютера до Windows 2000 SP3 або для Windows Server 2003. Для інсталяції SQL Server Резервний кластеризації, необхідно мати Microsoft SQL Server 2000 Enterprise Edition або Developer Edition інстальовано.

Примітка. Концепції та обговорення в цій статті, які застосовуються до SQL Server 2000 також застосовуються до SQL Server 2005. Для отримання додаткових відомостей про цю тему в SQL Server 2005 див нижче SQL Server 2005 книг онлайн:
  • Як: увімкнути автентифікацію Kerberos, у тому числі SQL Server віртуальних серверів на сервері кластери
  • Реєстрація імені учасника служби
Щоб отримати додаткові відомості про те, як переконатися, що ви використовуєте автентифікацію Kerberos в SQL Server 2005 клацніть номер статті в базі знань Microsoft Knowledge Base:
909801Як переконатися, що ви використовуєте автентифікацію Kerberos, під Вільний час створення віддаленого підключення до екземпляра SQL Server 2005

Додаткові відомості

SQL Server можна використовувати автентифікацію Kerberos для сервера кластери. Ви можете використовувати автентифікацію Kerberos з автономних комп'ютерів що запущено SQL Server, або з екземплярів SQL Server, які працюють на в Віртуальний сервер.

Підключитися до сервера, який працює під керуванням Microsoft Інформаційні служби Інтернету і зробити Kerberos підключення до SQL Server 2000

У цьому розділі описано, як підключитися до сервера, що працює Microsoft інформаційних служб Інтернету (IIS) для Kerberos підключення до сервер, який працює SQL Server.

Примітка
перед виконанням процедура установки, завантажити на Kerbtray і утиліти SetSPN.

Завантажити утиліту Kerbtray, до нижче веб-сайті Microsoft: З Kerbtray.exe, можна легко перевірити чи видалити (або обидва) Kerberos квитки за будь-який з пов'язаних комп'ютерів, які використовуються.

Завантажити утиліти SetSPN, відвідайте наступні веб Microsoft сайт:
http://www.Microsoft.com/Downloads/Details.aspx?FamilyID=5fd831fd-ab77-46a3-9cfe-ff01d29e5c46&displaylang=EN


Нижче описано приклад установки послідовність, де ви використовувати автентифікацію Kerberos через IIS сторінки для доступу до сервер, який працює SQL Server.

Крок 1: Настроювання контролера домену

На контролері домену в служба Active Directory – користувачі й комп'ютери:
  1. Клацніть правою кнопкою миші комп’ютер-зразок, який ви хочете встановити вгору для Делегація (служб IIS сервер) і натисніть кнопку вибрати Довіряти цьому комп’ютер-зразок для делегування. Якщо комп’ютер-зразок, на якому запущено SQL Server мабуть, останній комп’ютер-зразок зв'язався, але що комп’ютер-зразок має на зв'язаний сервер, вона повинна також надати дозволи делегування. Якщо це не останній комп’ютер-зразок в ланцюжку, всі комп'ютери, які потрібні посередники повинні бути довіреним для делегування.
  2. Надання дозволу делегування на службу SQL Server обліковий запис А комп'ютера користувача домену облікового запису. Ви повинні мати обліковий запис А комп'ютера користувача домену для згруповані Установок SQL Server (цей крок не є обов'язковим для комп'ютерів, які є працює SQL Server, які використовують обліковий запис А комп'ютера локальної системи):
    1. У в Користувачі папки, клацніть правою кнопкою миші на обліковий запис А комп'ютера користувача а потім натисніть кнопку Властивості.
    2. У діалоговому вікні Властивості облікового запису користувача натисніть на обліковий запис А комп'ютера вкладки.
    3. У розділі Параметри облікового запису, щоб виділити на обліковий запис А комп'ютера є довіреним для делегування прапорець. Упевнитися що в Рахунок чутливі і не можуть бути передані іншим перевірити прапорець знято для цього облікового запису.

      Примітка. 'Обліковий запис А є довіреним для делегування' право, для облікового запису служби SQL Server тільки коли ви є делегування фінансові дані від цільового сервера SQL до віддаленого сервера SQL як у подвійний хоп сценарії, як розподілені запитів (зв'язаного сервера запитів), що сценарій виконання автентифікації Windows.
    Примітка. Ці кроки застосовуються лише до Windows 2000 Server. Якщо ви використовуєте Windows Server 2003, відвідайте такий веб-сайт Microsoft Developer Network (MSDN):
    http://technet2.Microsoft.com/windowsserver/EN/Library/bef202b0-c8e9-4999-9af7-f56b991a4fd41033.mspx
  3. Використайте утиліту Kerbtray.exe щоб переконатися, що Kerberos квитки були отримані від контролера домену та хостингу:
    1. Клацніть правою кнопкою миші динамічна піктограма Kerbtray у сповіщенні область а потім натисніть Очистити квитки.
    2. Зелений Kerbtray значка зміни із зеленим на жовтий. Як тільки це відбувається, відкрийте вікно командний рядок і запускати це команда:
      чистий сесії * /d
      Це буде падіння наявних сеансів і змусити новий сеанс до бути створений і отримав квиток Kerberos.

Крок 2: Настроювання сервера служб IIS

  1. Замінити файли за промовчанням веб-сайт Wwwroot на зразок заблокує файлів. Створення зразків заблокує файлів, використовувати код, який надається у у розділі "ASP перевірити сценарій для отримання даних SQL Server".
  2. запит на додавання файлу до папки Wwwroot». Щоб зробити це, використовувати на приклади коду в розділі "ASP тест сценарій для SQL Server пошуку даних". Збереження файлу як Default.asp.
  3. Переконфігурувати веб-сервер для сценарій виконання інтегрованих Windows Автентифікації:
    1. Клацніть правою кнопкою миші веб-сервера за промовчанням і натисніть кнопку на Безпека папки.
    2. У папці безпеки зробити правильний зміни, і натисніть кнопку Очистити анонімний доступ.
    3. У командному рядку запустіть цю команду:
      отримати cscript C:\Inetpub\Adminscripts\adsutil.vbs W3SVC/NTAuthenticationProviders
      Якщо ввімкнуто узгодження таких повертається:
       NTAuthenticationProviders : (STRING) Negotiate,NTLM
      Щоб отримати додаткові відомості клацніть, номер статті в базі знань Майкрософт:
      215383Налаштування служб IIS для підтримки протоколів Kerberos та NTLM з метою автентифікації в мережі
    Примітки
    • Microsoft даних Access (MDAC) 2.6 або пізнішої версії, слід установити на сервер служби IIS. Щоб зробити це (і зробити інструменти доступні для тестування), Установка засобів клієнт SQL Server 2000 до веб-сервера. Щоб інсталювати лише MDAC 2.6, або пізніше (без автоматична інсталяція інструменти клієнт), відвідайте такий веб-сайт корпорації Майкрософт:
      http://msdn2.Microsoft.com/EN-US/Data/aa937730.aspx
    • IIS є загальна система середнього рівня. Однак, IIS не є лише середнього рівня системи. Якщо IIS не система середнього рівня у вашому середовищі, виконайте відповідні кроки для середнього рівня системи.
  4. Переконайтеся, що на
    HKLM\SW\MS\MSSQLSERVER\Client\DSQUERY
    значення є присутня в реєстрі. Якщо значення не відображається, додайте його як
    DSQUERY:Reg_SZ:DBNETLIB
    .
  5. Використайте утиліту Kerbtray.exe щоб переконатися, що Kerberos квитки були отримані від контролера домену та хостингу:
    1. Клацніть правою кнопкою Kerbtray піктограму в області сповіщень і виберіть пункт Очистити квитки.
    2. Зелений Kerbtray значка зміни із зеленим на жовтий. Як тільки це відбувається, відкрийте вікно командний рядок і запускати це команда:
      чистий сесії * /d
      Це буде падіння наявних сеансів і змусити новий сеанс до бути створений і отримав квиток Kerberos.

Крок 3: Настроювання служби SQL Server створити SPN динамічно

Для цього потрібно надати наступні параметри керування доступом для облікового запису служби SQL Server у службі каталогів Active Directory:
  • Читайте servicePrincipalName
  • Написати servicePrincipalName
Попередження
  • Якщо ви використовуєте оснастки служба Active Directory застосунок-служба інтерфейси (ADSI) редагування, утилітою LDP або LDAP 3 клієнтів і неправильне змінення атрибутів служба Active Directory об'єкти, виникають серйозні проблеми. Щоб вирішити ці проблеми, ви, можливо, доведеться переінсталювати Microsoft Exchange 2000 Server або Microsoft Exchange Server 2003. У деяких випадках може знадобитися переустановити Microsoft Windows 2000 Server або Microsoft Windows Server 2003 а потім переінсталювати сервер Exchange 2000 або Microsoft Exchange Server 2003. Ми не можемо гарантувати, що ці проблеми можуть бути вирішені. Змінити ці атрибути на свій власний ризик.
  • Ви повинні увійти як адміністратор домену. Крім того, ви повинні попросити вашого домену адміністратора надати відповідні дозволи та відповідними правами на рахунок запуску SQL Server.
Щоб настроїти службу SQL Server створити SPN динамічно, після запуску служби SQL Server, виконайте такі дії:
  1. Натисніть кнопку Почати, натисніть кнопку Запустити, тип Команду adsiedit. mscа потім натисніть кнопку Гаразд.

    Примітка. ADSIEdit інструмент включено базова підтримка. Отримати базова підтримка, відвідайте такий веб-сайт корпорації Майкрософт:
    http://www.Microsoft.com/Downloads/Details.aspx?familyid=6EC50B78-8BE1-4E81-B3BE-4E7AC4F0912D&displaylang=EN
  2. На редагування ADSI оснастка розгорніть [ДоменІм'я домену], розгорніть DC = RootDomainName, розгорніть CN = користувачів, клацніть правою кнопкою миші CN = AccountName а потім натисніть кнопку Властивості.

    Примітки
    • Ім'я домену є рамкою для ім'я домену.
    • RootDomainName є рамкою для імені кореневий домен.
    • AccountName є рамкою для облікового запису, вказаного для запуску служби SQL Server.
    • Якщо вказується обліковий запис А комп'ютера локальної системи, щоб запустити службу SQL Server AccountName є рамкою для облікового запису, який використовується для входу до Microsoft Windows.
    • Якщо вказується обліковий запис А комп'ютера користувача домену запустити службу SQL Server AccountName є рамкою для облікового запису користувача домену.
  3. У в CN = AccountName Властивості діалогове вікно, натисніть на Безпека вкладки.
  4. На в Безпека вкладки, натисніть кнопку Розширений.
  5. У в Додаткові параметри безпеки діалогове вікно, переконайтеся, що САМОВРЯДУВАННЯ у списку Елементи дозволів.

    Якщо САМОВРЯДУВАННЯ є немає у списку, клацніть Додатиа потім додати САМОВРЯДУВАННЯ.
  6. У розділі Елементи дозволів, натисніть кнопку САМОВРЯДУВАННЯа потім натисніть кнопку Редагувати.
  7. У в Елемент дозволу діалогове вікно, натисніть на Властивості вкладки.
  8. На в Властивості вкладки, натисніть кнопку Лише цей об'єкт у в Застосувати список і натисніть кнопку установіть прапорці для таких дозволів під Дозволи:
    • Читайте servicePrincipalName
    • Написати servicePrincipalName
  9. Натисніть кнопку Гаразд два рази.

    Примітка. За допомогою цього процесу зверніться до представник служби підтримки клієнтів продукту служба Active Directory і згадати про цю статтю база знань Microsoft.

    Примітка. сценарій виконання засобу dsacls, щоб визначити, якщо самоврядування облікового запису дозволу написати ServicePrincipalName, за допомогою команди dsacls . Нижче наведено синтаксис:
    dsacls <distinguished_Name_of_service_account>
    Якщо самостійного облікового запису дозволу написати ServicePrincipalName, ви бачите такий скрипт:
    Allow NT Authority\SELF SPECIAL ACCESS for Validated Write to Service principal name
    WRITE PROPERTY
    Інструмент dsacls є частиною засобів підтримки.
  10. У в CN = AccountName Властивості діалогове вікно, натисніть кнопку Атрибут редактора.
  11. У розділі Атрибути, натисніть кнопку servicePrincipalName у в Атрибут стовпець а потім натисніть кнопку Редагувати.
  12. У в Багатозначний рядок редактора діалогове вікно, видаліть імена принцип служби (SPN) для екземплярів SQL Server, які використовують цей обліковий запис А комп'ютера служби SQL Server.

    Попередження. Для екземплярів SQL Server, що ви в даний Вільний час працює на слід видалити тільки SPN. Інших екземплярів SQL Server, які використовують цей обліковий запис А комп'ютера служби будуть мати можливість видалити SPN, які стосуються цих випадках під Вільний час наступного запуску цих випадках.
  13. Завершити роботу редагування ADSI оснастка.
Після виконання цих дій, SPN питання також будуть ліквідовані змінення порту TCP/IP або ім'я домену для нової інсталяції SQL Server 2005 або для наявних екземплярів SQL Server 2005.

Важливо. Рекомендовано не надає WriteServicePrincipalName права на обліковий запис А комп'ютера служби SQL, коли виконуються такі умови:
  • Є кілька контролерів домену.
  • Згруповані SQL Server.
У цьому випадку SPN для SQL Server може бути видалено з-затримка реплікації служба Active Directory. Це може спричинити проблеми з підключенням до екземпляра SQL Server.

Припустимо, що у вас є такі:
  • Віртуальний екземпляр SQL з іменем Sqlcluster з двома вузлами: вузла A та b-вузол.
  • Вузол A засвiдченi в контролері домену A та b-вузол засвiдченi в контролері домену b.


Виникає наступне:
  1. Sqlcluster екземпляр активним на вузол A і зареєстровані контролер домену A, SPN SQL під Вільний час запуску вгору..
  2. Sqlcluster інстанції не над вузол B коли вузол A, як правило, завершення роботи.
  3. Sqlcluster екземпляр скасовуватися реєстрація його SPN з контролером домену A під Вільний час процесу завершення роботи на вузол A.
  4. На SPN видаляється з контролером домену A, але зміни не ще були репліковані на контролері домену b.
  5. Під Вільний час запуску на b-вузол, Sqlcluster інстанції намагається зареєструватися SQL SPN з контролером домену b. З тих пір, у SPN, все ще існує вузол B не реєструє в SPN.
  6. Після деякого часу контролер домену A повторює видалення SPN (за крок 3) до контролера домену B як частину реплікації служба Active Directory. Кінцевий результат, що не припустиму SPN існує для домену, екземпляр SQL і звідси ви бачите проблеми зі з'єднанням до екземпляра Sqlcluster.

Примітка. Цю проблему усунуто в SQL Server 2012.


Крок 4: Налаштування клієнтських комп'ютерах

  1. Для кожного клієнта, який буде підключатися, переконайтеся, що Microsoft Internet Explorer налаштовано на сценарій виконання автентифікації Windows:
    1. В Internet Explorer на в Інструментименю, натисніть Властивості браузера.
    2. Натисніть на Розширений вкладки.
    3. У розділі Безпека, щоб виділити увімкнути інтегровану перевірку автентичності Windows (потрібен перезапуск), і натисніть кнопку Гаразд.

Крок 5: приймальні випробування конфігурації

Для кожного комп'ютера, які беруть участь:
  1. Увійдіть комп’ютер-зразок а потім використовувати Kerbtray.exe для перевірки комп’ютер-зразок може отримати квиток дійсний Kerberos із домену контролер.
  2. Використовувати Kerbtray.exe, щоб видалити всі квитки на в комп’ютер-зразок.
  3. Створення та підключення до веб-сторінка, яка повертає SQL Сервер даних.

    Примітка. Замінити SQLSERVERNAME з назвою комп’ютер-зразок, на якому запущено SQL Server:
    • Якщо повернення даних, на цій сторінці відображено на тип автентифікації узгодженняі даних SQL Server для результат sp_helpdb збереженої процедури, яка повинна повернути список баз даних на сервер, який в даний Вільний час підключення через на.ASP сторінки.
    • Якщо аудит увімкнуто в SQL Server, у в журнал застосунку, ви побачите, що з'єднання має "довіри".

ASP пробний скрипт для отримання даних SQL Server

Тут є ASP тест сценарію для даних SQL Server. Якщо ви використовуєте це код зразка, переконайтеся, що ви замінити SQLSERVERNAME ім'я комп'ютера, що є запущено SQL Server.
<%@ Language=VBScript %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>
<%="'auth_user' is" & request.servervariables("auth_user")%>
<P>
<%="'auth_type' is" & request.servervariables("auth_type")%>
<P>
Connections string is " Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=pubs;Data Source=SQLSERVERNAME 
<P>
<%
	set rs = Server.CreateObject("ADODB.Recordset")
	set cn = Server.CreateObject("ADODB.Connection")
	cn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=pubs;Data Source=SQLSERVERNAME"
	rs.open "MASTER..sp_helpdb",cn
	Response.Write cstr(rs.Fields.Count) +"<BR>"
	while not rs.EOF
		Response.Write cstr(rs(0))+"<BR>"
		rs.MoveNext
	wend
	rs.Close
	cn.Close
	set rs = nothing ' Frees memory reserved by the recordset.
	set cn = nothing ' Frees memory reserved by the connection.
%>
</BODY>
</HTML>
					

Як зібрати список служба Active Directory сервері принцип відомості про ім'я

Зібрати список служба Active Directory ім'я учасника сервера (SPN) інформацію, введіть таку команду на одному з ваших контролерів домену де betaland є ім'ям домену NetBIOS і NewoutputUsers.txt ім'я вихідного файлу що ви будете використовувати порт результати. Якщо ви не використовуєте повний шлях до файлу розміщено в поточній папці, де ви запустити з командний рядок. Цей зразок команда запити цілого домену:
LDIFDE -d "CN = користувачів, DC =betaland"servicePrincipalName -l -F NewoutputUsers. txt
Цей синтаксис створює файл з назвою NewoutputUsers.txt який містить інформацію, яка схожа на вивід на рівні домену" вихід з NewouputUsers.txt"в розділі цієї статті.

Цей вихід може бути переважною, коли ви збираєте його для всього домену. Таким чином, щоб обмежити до зібрали інформацію до конкретного користувача ім'я, використовуйте такий синтаксис, де ім'я користувача Це ім'я користувача та betaland є домен, яке відображається:
LDIFDE -d "CN =ім'я користувачаDC =betaland"servicePrincipalName -l -F NewoutputUsers. txt
Збір інформації для певного користувача значно знижує на дані, які ви повинні шукати через. Якщо ви збирати інформацію для цілому домен, пошук конкретного користувача ім'я сервера в питанні. У в вихідний зразок, ви бачите:
  • запис А бізнес-партнера для серверів, які більше не існують, але які не були повністю видалено з служба Active Directory.
  • Користувача"ім'я користувача"має неприпустимий SPN інформацію про десять різних серверах.
Крім того, ви можете використовувати службу каталогів Active Інтерфейси (ADSI) інструмент для виправлення служба Active Directory елементи, які не є припустимим.

Попередження. Якщо ви використовуєте редагування ADSI оснастка, утилітою LDP або будь-який інший LDAP версії 3 клієнт і ви неправильно змінити атрибути активний Реєстр об'єктів, може викликати серйозні проблеми. Ці проблеми можуть вимагати Щоб переінсталювати Microsoft Windows 2000 Server, Microsoft Windows Server 2003, ви Microsoft Exchange 2000 Server, Microsoft Exchange Server 2003 або Windows та обміну валют. корпорація Майкрософт не гарантує, що проблеми, які виникають, якщо ви Неправильне змінення служба Active Directory атрибутів об'єктів може бути вирішена. Змінити ці атрибути на свій власний ризик.

Домен рівні виводу NewouputUsers.txt

	dn: CN=User Name,CN=Users,DC=betaland
	changetype: add
	servicePrincipalName: MSSQLSvc/CLUSTERDEFAULT.betaland:1257
	servicePrincipalName: MSSQLSvc/INST3.betaland:3616
	servicePrincipalName: MSSQLSvc/INST2.betaland:3490
	servicePrincipalName: MSSQLSvc/SQLMAN.betaland:1433
	servicePrincipalName: MSSQLSvc/VSS1.betaland:1433
	servicePrincipalName: MSSQLSvc/INST1.betaland:2536
	servicePrincipalName: MSSQLSvc/INST4.betaland:3967
	servicePrincipalName: MSSQLSvc/SQLVIRTUAL1.betaland:1434
	servicePrincipalName: MSSQLSvc/SQLVIRTUAL.betaland:1433
	servicePrincipalName: MSSQLSvc/SQLBUSTER.betaland:1315

Посилання

Докладніше про делегування облікових записів безпеки див. Тема "Безпеки облікового запису делегація" в SQL Server Books Online.

Щоб отримати додаткові відомості клацніть такі номери для перегляду статті в базі знань Microsoft Knowledge Base:
262177Увімкнення ведення журналу подій Kerberos
321708 сценарій виконання засобу діагностики мережі (Netdiag.exe) у Windows 2000
326985 Виправлення неполадок, пов'язаних з автентифікацією Kerberos у службі IIS
244474 Як примусити Kerberos використовувати TCP замість UDP у Windows Server 2003, Windows XP та Windows 2000

Властивості

Номер статті: 319723 - Востаннє переглянуто: 7 квітня 2013 р. - Редакція: 2.0
Застосовується до:
  • Microsoft SQL Server 2000 Standard Edition, у разі використання з:
    • Microsoft Windows Server 2003 Enterprise Edition
    • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL 2005 Server Workgroup
Ключові слова: 
kbinfo kbmt KB319723 KbMtuk
Машинний переклад
УВАГА! Цю статтю переклала програма машинного перекладу Microsoft, а не людина. Корпорація Microsoft пропонує вам як машинні переклади, так і переклади фахівців, щоб Ви мали доступ до всіх статей бази знань рідною мовою. Проте стаття, яку переклав комп’ютер, не завжди бездоганна. Вона може містити лексичні, синтаксичні або граматичні помилки. Так само помиляється іноземець, спілкуючись вашою рідною мовою. Корпорація Microsoft не несе відповідальність за жодні неточності, помилки або шкоду, завдану неправильним перекладом змісту або його використанням з боку користувачів. Крім того, корпорація Microsoft часто оновлює програму машинного перекладу.
Клацніть тут, щоб переглянути цю статтю англійською мовою: 319723

Надіслати відгук

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com