Проверка подлинности 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.

Проверка конфигурации кластера

  1. Перезагрузите компьютеры с SharePoint Server — в результате этого действия перезапускаются все службы, после чего принудительно выполняется их повторное подключение и проверка подлинности с использованием протокола Kerberos.

  2. Откройте 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
    

    Этот запрос возвращает метаданные для каждого сеанса и подключения. Данные сеанса позволяют определить источник подключения, а в сведениях о сеансе раскрывается схема проверки подлинности для подключения.

  3. Убедитесь, что проверка подлинности служб SharePoint Server выполняется с использованием протокола Kerberos. Если проверка подлинности Kerberos настроена правильно, в столбце auth_scheme результатов запроса отображается элемент Kerberos.

Создание тестовой базы данных SQL Server и тестовой таблицы

Чтобы проверить работу функции делегирования между различными приложениями-службами SharePoint Server, которые используются в сценариях в этом документе, необходимо настроить тестовый источник данных, к которому будут обращаться эти службы. На заключительном шаге этого сценария настраивается тестовая база данных с именем Test и тестовая таблица с именем Sales, которые будут использоваться позднее.

  1. В SQL Server Management Studio создайте новую базу данных с именем Test. Примите предлагаемые по умолчанию параметры базы данных.

  2. В БД Test создайте новую таблицу со следующей схемой:

    Имя столбца Тип данных Разрешить значения NULL

    Область

    nvarchar(10)

    Нет

    Год

    nvarchar(4)

    Нет

    Сумма

    money

    Нет

    Идентификатор строки

    int

    Нет

  3. Сохраните таблицу с именем Sales.

  4. В Management Studio заполните таблицу демонстрационными данными. Значения данных не играют особой роли и не влияют на работоспособность последующих сценариев. Нескольких строк данных будет достаточно.