Использование проверки подлинности Kerberos в SQL Server

Переводы статьи Переводы статьи
Код статьи: 319723 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

С помощью Microsoft SQL с помощью проверки подлинности Kerberos Server 2000. SQL Server 2000 поддерживает эту функциональную возможность в рамках обычной Microsoft Windows 2000 или Microsoft Windows Server 2003 Active Directory домена установки. С Microsoft Windows 2000 с пакетом обновления 3 (SP3) и Windows Server 2003 можно включить Проверка подлинности Kerberos в кластерах серверов.

Для получения дополнительных сведений об этом добавлен функциональные возможности, щелкните следующий номер статьи в База знаний корпорации Майкрософт:
235529Поддержка проверки подлинности Kerberos в кластерах серверов под управлением Windows 2000

Примечание Можно использовать только эти функциональные возможности при работе с Windows 2000 SP3 или Windows Server 2003.

SQL Server 2000 отказоустойчивый кластер использует эту функцию. Если имя сети ресурс, который SQL Server зависит от находится в кластере под управлением 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 щелкните следующий номер статьи базы знаний Майкрософт:
909801Как убедиться, что используется проверка подлинности Kerberos, при создании удаленного подключения к экземпляру SQL Server 2005

Дополнительная информация

SQL Server может использовать проверку подлинности Kerberos для сервера кластеры. Проверка подлинности Kerberos можно использовать с автономными компьютерами, с SQL Server или с экземплярами SQL Server, запущенные на виртуальный сервер.

Подключиться к серверу, на котором запущен Microsoft Службы IIS и Создание соединения Kerberos SQL Server 2000

В этом разделе описывается, как подключиться к серверу, на котором запущен Microsoft Internet информации СЛУЖБ для установки соединения Kerberos сервер, на котором запущен SQL Server.

Примечание
Прежде чем выполнить процедуру настройки загрузки Kerbtray и Служебные программы SetSPN.

Загрузить средство Kerbtray по адресу следующий веб-узел корпорации Майкрософт:
http://www.Microsoft.com/downloads/details.aspx?FamilyID = 4e3a58be-29f6-49f6-85be-e866af8e7a88 & displaylang = en
Используя программу Kerbtray.exe, можно легко проверить и удалить (или оба) Билеты Kerberos с любых связанных компьютеров, которые используются.

Для загрузки программы SetSPN, посетите следующий веб-узла корпорации Майкрософт веб-узел:
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, используемой учетной записи локальной системы):
    1. В Пользователи папки, щелкните правой кнопкой мыши учетная запись пользователя, а затем нажмите Свойства.
    2. В диалоговом окне свойств учетной записи пользователя щелкните Учетная запись Вкладка.
    3. В группе Параметры учетной записи, выберите очередь Учетная запись доверена для делегирования флажок. Убедитесь, что , то Учетная запись важна и не может быть делегирована загрузке снят для этой учетной записи.

      Примечание Право «Учетная запись доверена для делегирования» для учетной записи службы SQL Server требуется только при делегировании учетные данные из целевого сервера SQL Server на удаленном сервере 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 сменится Желтый. Как только это произойдет, откройте окно командной строки и запустите этот файл команда:
      NET session * /d
      Это удаление существующих сеансов и заставить новый сеанс установить и получению билета Kerberos.

Шаг 2: Настройка сервера служб IIS

  1. Замените образец файлы Wwwroot веб-узел по умолчанию ASP-файлы. Чтобы создать файлы-образцы ASP, используйте код, приведенный в в разделе «Тестовый сценарий ASP для получения данных SQL Server».
  2. Добавьте файл в папке Wwwroot. Для этого используйте пример кода в разделе «ASP тестового сценария для SQL Server извлечения данных». Сохраните файл как Default.asp.
  3. Конфигурировать веб-сервер на использование встроенной проверки Только для проверки подлинности:
    1. Щелкните правой кнопкой мыши веб-сервер по умолчанию и нажмите кнопку Безопасность папки.
    2. В папке безопасности правильный, внесите изменения и Снимите флажок анонимный доступ.
    3. В командной строке выполните следующую команду:
      получить cscript C:\Inetpub\Adminscripts\adsutil.vbs W3SVC/NTAuthenticationProviders
      Если Согласование будет включена, возвращается следующее:
       NTAuthenticationProviders : (STRING) Negotiate,NTLM
      Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
      215383Настройка служб IIS для поддержки протоколов Kerberos и протокол NTLM для проверки подлинности в сети
    Заметки
    • Доступа К данным (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 сменится Желтый. Как только это произойдет, откройте окно командной строки и запустите этот файл команда:
      NET session * /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 Server или Exchange Server 2003. Мы не может гарантировать, что эти проблемы могут разрешаться. Изменение этих атрибутов на свой страх и риск.
  • Необходимо войти в систему как администратор домена. В качестве альтернативы должны попросить администратора домена предоставить соответствующие разрешения и соответствующие права, чтобы стартовая учетная запись SQL Server.
Чтобы настроить службу SQL Server для динамического создания имен SPN при запуске службы SQL Server, выполните следующие действия.
  1. Нажмите кнопку Начало, нажмите кнопку Запустить, тип Adsiedit.msc, а затем нажмите кнопку ОК.

    Примечание Средства ADSIEdit входит в состав средств поддержки Windows. Для получения средств поддержки Windows, посетите следующий веб-узел корпорации Майкрософт:
    http://www.Microsoft.com/downloads/details.aspx?FamilyId=6EC50B78-8BE1-4E81-B3BE-4E7AC4F0912D&displaylang=en
  2. Оснастки ADSI Edit разверните узел [Домен]Имя_домена], разверните узел DC = Имя_корневого_домена, разверните узел CN = Users, щелкните правой кнопкой мыши CN = Имя учетной записи , а затем нажмите кнопку Свойства.

    Заметки
    • Имя_домена — Это имя домена.
    • Имя_корневого_домена — Это имя корневого домена.
    • Имя учетной записи — Это учетная запись, укажите для запуска службы SQL Server.
    • Если указать учетную запись локальной системы для запуска службы SQL Server Имя учетной записи — Это учетная запись, которая используется для входа в Microsoft Windows.
    • Если указать учетную запись пользователя домена для запуска службы SQL Server Имя учетной записи — Это учетная запись пользователя домена.
  3. В CN = Имя учетной записи Свойства диалоговое окно, нажмите кнопку Безопасность Вкладка.
  4. На Безопасность Щелкните Дополнительно.
  5. В Дополнительные параметры безопасности диалоговом окне убедитесь, что САМОГО СЕБЯ в группе Разрешение записи.

    Если САМОГО СЕБЯ — нет в списке, нажмите кнопку Добавить, а затем добавьте САМОГО СЕБЯ.
  6. В группе Разрешение записи, нажмите кнопку САМОГО СЕБЯ, а затем нажмите кнопку Редактирование.
  7. В Запись разрешения диалоговое окно, нажмите кнопку Свойства Вкладка.
  8. На Свойства Щелкните Только для этого объекта В диалоговом окне Применять список и установите флажки для следующих разрешений в разделе Разрешения:
    • Чтение servicePrincipalName
    • Запись servicePrincipalName
  9. Нажмите кнопку ОК два раза.

    Примечание Для получения справки по этому процессу обратитесь в службу поддержки службы каталогов Active Directory и упомянуть статьи базы знаний Майкрософт.

    Примечание Для использования средства dsacls для определения, имеет ли учетная запись self разрешение записи ServicePrincipalName используется DSACLS команда. Ниже приведен синтаксис.
    dsacls <distinguished_Name_of_service_account>
    Если учетная запись self имеет разрешение записи ServicePrincipalName, отображаются следующие сведения:
    Allow NT Authority\SELF SPECIAL ACCESS for Validated Write to Service principal name
    WRITE PROPERTY
    Средства dsacls входит в состав средств поддержки.
  10. В CN = Имя учетной записи Свойства диалоговое окно, нажмите кнопку Редактор атрибутов.
  11. В группе Атрибуты, нажмите кнопку Имя servicePrincipalName (SPN В диалоговом окне Атрибут столбец, а затем нажмите кнопку Редактирование.
  12. В Многозначный строковый редактор диалоговом окне удалить имена участника службы (SPN) для экземпляров SQL Server, с помощью этой учетной записи службы SQL Server.

    Предупреждение Можно удалять следует только имена SPN для экземпляров SQL Server, которые в данный момент работаете. Другие экземпляры SQL Server, использующих эту учетную запись службы смогут удалять имена участников-служб, связанных с этими экземплярами при следующем запуске этих экземпляров.
  13. Закройте оснастку ADSI Edit.
После выполнения этих действий SPN проблемы также исключаются при изменении порта TCP/IP или имя домена для новых установок SQL Server 2005 или для существующих экземпляров SQL Server 2005.

Шаг 4: Настройка клиентских компьютеров

  1. Для каждого клиента, который будет подключаться, убедитесь, что Microsoft Обозреватель Internet Explorer настроен на использование проверки подлинности Windows:
    1. В обозревателе Internet Explorer на Сервисменю, нажмите кнопку Параметры Интернета.
    2. Нажмите кнопку Дополнительно Вкладка.
    3. В группе Безопасность, выберите Включение встроенной проверки подлинности Windows (требуется перезапуск), и выберите команду ОК.

Шаг 5: Проверка конфигурации

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

    Примечание Замена ИМЯ_СЕРВЕРА_SQL_SERVER с именем компьютер, на котором запущен SQL Server:
    • Если возвращаемые данные на этой странице отображаются Тип проверки подлинности Согласованиеи данные SQL Server для результата sp_helpdb Хранимая процедура, которая должна возвращать список баз данных на сервер, на который выполняется подключение к по.Страницы ASP.
    • Если аудит включен в SQL Server в Журнал приложений, вы увидите, что соединение «надежных».

Тестовый сценарий ASP для получения данных SQL Server

Ниже приведен код тестового сценария ASP для данных SQL Server. Если вы используете это примеры кода, убедитесь, что замена ИМЯ_СЕРВЕРА_SQL_SERVER имя компьютера, на котором находится под управлением 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 <B>" Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=pubs;Data Source=SQLSERVERNAME </B>
<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 = Users, DC =betaland«-l servicePrincipalName -F NewoutputUsersTXT
Этот синтаксис создает файл с именем NewoutputUsers.txt содержащий сведения, аналогичные выходных данных на уровне домена" в разделе Вывод NewouputUsers.txt".

Этот вывод может быть огромным, если собрать для всего домена. Таким образом, чтобы ограничить собранные сведения с определенным именем пользователя, используйте следующий синтаксис, где Имя пользователя имя пользователя и betaland это домен, который запрашивается:
LDIFDE -d "CN =Имя пользователяDC =betaland«-l servicePrincipalName -F NewoutputUsersTXT
Сбор информации для конкретного пользователя значительно снижает данные, которые необходимо просмотреть. Если собрать необходимые данные для всей домен, поиск определенного пользователя, имя сервера в вопросе. В пример выходных данных, можно увидеть:
  • Записи серверов, больше не существует, но которые не были полностью удаляется из Active Directory.
  • Пользователь"Имя пользователя"имеет недопустимый Имя участника-службы сведений о десяти разных серверах.
Кроме того можно использовать службы активного каталога Интерфейсы (ADSI) средство для устранения записей Active Directory, которые не являются допустимыми.

Предупреждение При использовании оснастки ADSI Edit, LDP или любого другого Клиента LDAP версии 3, неправильное изменение атрибутов Active Объекты каталогов, может привести к серьезным проблемам. Эти проблемы могут потребовать переустановки Microsoft Windows 2000 Server, Microsoft Windows Server 2003 Microsoft Exchange 2000 Server, Microsoft Exchange Server 2003 или в обоих окнах и Exchange. Корпорация Майкрософт не гарантирует, что проблемы, возникающие, если вы Неправильное изменение атрибутов объектов могут быть решены 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.

Для получения дополнительных сведений щелкните следующий номер статьи к следующим статьям 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 - Последний отзыв: 17 сентября 2011 г. - Revision: 5.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2000 Standard Edition на следующих платформах
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Ключевые слова: 
kbinfo kbmt KB319723 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке: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