Проверка подлинности Kerberos для SQL OLTP (SharePoint Server 2010)
Применимо к: SharePoint Server 2010
Последнее изменение раздела: 2016-11-30
В этом сценарии рассматривается пошаговый процесс настройки проверки подлинности Kerberos для кластера SQL Server в демонстрационной среде. По завершении этого процесса проверяется, прошли ли проверку подлинности службы SharePoint Server в кластере с помощью протокола Kerberos.
В этом сценарии выполняются следующие действия:
Настройка существующего кластера SQL Server 2008 R2 для использования проверки подлинности Kerberos
Проверка возможности проверки подлинности клиента в кластере с использованием протокола Kerberos
Создание тестовой базы данных и демонстрационных данных для использования в последующих сценариях
Примечание
Использовать проверку подлинности Kerberos для SQL Server для основных служб обработки данных SharePoint Server (например, для служб подключения к базам данных платформы) не обязательно. В демонстрационной среде развернут один кластер SQL Server, в котором размещаются дополнительные демонстрационные базы данных, используемые в последующих сценариях. Для правильной работы функции делегирования в этих сценариях кластер SQL Server должен поддерживать прошедшие проверку Kerberos подключения.
Примечание
При установке в среде Windows Server 2008 может потребоваться установка следующего исправления для проверки подлинности Kerberos:
Сбой проверки подлинности Kerberos, вместе с кодом ошибки 0X80090302 или 0x8009030f на компьютере под управлением Windows Server 2008 или Windows Vista при использовании алгоритма AES (https://support.microsoft.com/kb/969083/ru-ru)
Контрольный список для настройки
Область настройки | Описание |
---|---|
Настройка DNS |
Создание записи узла DNS (A) для IP-адреса кластера SQL Server |
Настройка Active Directory |
Создание имен участников-служб для службы SQL Server |
Проверка конфигурации SQL Server Kerberos |
Запрос метаданных подключения SQL с помощью SQL Server Management Studio, чтобы убедиться в использовании протокола проверки подлинности Kerberos |
Сведения о среде сценария
В этом сценарии показана ферма SharePoint Server, в которой используется псевдоним SQL для подключения к кластеру SQL Server, настроенному для использования проверки подлинности Kerberos.
Пошаговые инструкции по настройке
Настройка DNS
Настройте DNS для кластера SQL Server в среде. В этом примере используется один кластер SQL Server, MySqlCluster.vmlab.local, работающий через порт 1433 по IP-адресу кластера 192.168.8.135/4. Кластер имеет конфигурацию «Активный/Пассивный»; ядро базы данных SQL Server выполняется на установленном по умолчанию экземпляре на первом узле.
Общие сведения о настройке DNS см. в статье, посвященной управлению записями DNS (Возможно, на английском языке).
В этом примере настраивается запись DNS (A) для кластера SQL Server.
Примечание
Технически, поскольку имена участников-служб SQL Server включают в себя имена экземпляра (если используется второй именованный экземпляр того же компьютера), можно зарегистрировать узел DNS для кластера как псевдоним CNAME, что позволяет избежать связанной с CNAME ошибки, которая описывается в приложении A статьи Известные проблемы, связанные с конфигурацией Kerberos (SharePoint Server 2010). Тем не менее, если используются имена CNAME, необходимо зарегистрировать имя участника-службы с использованием имени записи узла DNS (A) для псевдонимов CNAME.
Настройка Active Directory
Для проверки подлинности клиентов SQL Server с использованием протокола Kerberos необходимо зарегистрировать имя участника-службы для учетной записи службы, под которой выполняется SQL Server. В конфигурациях, в которых используется экземпляр по умолчанию, а не именованный экземпляр SQL Server, имена участников-служб для ядра базы данных SQL Server должны иметь следующий формат:
MSSQLSvc/<полное_доменное_имя>:порт
Дополнительные сведения о регистрации имен участников-служб для SQL Server 2008 см. в статье, посвященной регистрации имени участника-службы.
В этом примере выполняется настройка имени участника-службы SQL Server для учетной записи службы ядра БД SQL Server (vmlab\svcSQL) с помощью следующей команды SetSPN:
SetSPN -S MSSQLSVC/MySQLCluster.vmlab.local:1433 vmlab\svcSQL
Именованные экземпляры SQL Server
Если вместо экземпляра по умолчанию используются именованные экземпляры SQL Server, необходимо зарегистрировать имена участников-служб, относящиеся к экземпляру SQL Server и службе браузера SQL Server. Дополнительные сведения о настройке проверки подлинности Kerberos для именованных экземпляров см. в следующих статьях:
Псевдонимы SQL
При построении фермы рекомендуется использовать псевдонимы SQL для подключения к серверу SQL Server. При использовании псевдонимов SQL формат имени участника-службы Kerberos для этих подключений не изменяется. Зарегистрированное имя узла DNS (запись A) по-прежнему используется в имени участника-службы для SQL Server. Например, если зарегистрировать псевдоним SPFARMSQL для кластера MySQLCluster.vmlab.local, имя участника-службы при подключении к SPFarmSQL останется прежним, MSSQLSVC/MySQLCluster.vmlab.local:1433.
Проверка конфигурации SQL Server Kerberos
После настройки DNS и имен участников-служб можно перезагрузить компьютеры с SharePoint Server и убедиться, что проверка служб SharePoint Server в SQL Server теперь осуществляется с применением проверки подлинности Kerberos.
Проверка конфигурации кластера
Перезагрузите компьютеры с SharePoint Server — в результате этого действия перезапускаются все службы, после чего принудительно выполняется их повторное подключение и проверка подлинности с использованием протокола Kerberos.
Откройте SQL Server Management Studio и выполните следующий запрос:
Select s.session_id, s.login_name, s.host_name, c.auth_scheme from sys.dm_exec_connections c inner join sys.dm_exec_sessions s on c.session_id = s.session_id
Этот запрос возвращает метаданные для каждого сеанса и подключения. Данные сеанса позволяют определить источник подключения, а в сведениях о сеансе раскрывается схема проверки подлинности для подключения.
Убедитесь, что проверка подлинности служб SharePoint Server выполняется с использованием протокола Kerberos. Если проверка подлинности Kerberos настроена правильно, в столбце auth_scheme результатов запроса отображается элемент Kerberos.
Создание тестовой базы данных SQL Server и тестовой таблицы
Чтобы проверить работу функции делегирования между различными приложениями-службами SharePoint Server, которые используются в сценариях в этом документе, необходимо настроить тестовый источник данных, к которому будут обращаться эти службы. На заключительном шаге этого сценария настраивается тестовая база данных с именем Test и тестовая таблица с именем Sales, которые будут использоваться позднее.
В SQL Server Management Studio создайте новую базу данных с именем Test. Примите предлагаемые по умолчанию параметры базы данных.
В БД Test создайте новую таблицу со следующей схемой:
Имя столбца Тип данных Разрешить значения NULL Область
nvarchar(10)
Нет
Год
nvarchar(4)
Нет
Сумма
money
Нет
Идентификатор строки
int
Нет
Сохраните таблицу с именем Sales.
В Management Studio заполните таблицу демонстрационными данными. Значения данных не играют особой роли и не влияют на работоспособность последующих сценариев. Нескольких строк данных будет достаточно.