Делегирование удостоверений для служб Excel (SharePoint Server 2010)

 

Применимо к: Excel Services, SharePoint Server 2010

Последнее изменение раздела: 2016-11-30

В этом сценарии в среду SharePoint Server добавляется приложение-служба служб Excel, а также выполняется настройка ограниченного делегирования Kerberos, позволяющего службе обновлять данные на листе с использованием внешнего источника данных SQL Server.

Примечание

При установке в среде Windows Server 2008 может потребоваться установка следующего исправления для проверки подлинности Kerberos:
Сбой проверки подлинности Kerberos, вместе с кодом ошибки 0X80090302 или 0x8009030f на компьютере под управлением Windows Server 2008 или Windows Vista при использовании алгоритма AES (https://support.microsoft.com/kb/969083/ru-ru)

Зависимости сценария

Для выполнения этого сценария необходимо выполнить процедуры в следующих статьях:

Контрольный список для настройки

Область настройки Описание

Настройка Active Directory

Создание учетной записи службы служб Excel

Настройка имени участника-службы для учетной записи службы служб Excel

Настройка ограниченного делегирования Kerberos для серверов со службами Excel

Настройка ограниченного делегирования для учетной записи службы служб Excel

Настройка SharePoint Server

Запуск утверждений для службы маркеров Windows на серверах служб Excel

Запуск экземпляра службы служб Excel на сервере служб Excel

Создание прокси-сервера и приложения-службы служб Excel

Настройка параметров проверки подлинности и надежного расположения файлов для служб Excel

Проверка ограниченного делегирования служб Excel

Создание библиотеки документов для размещения тестовой рабочей книги

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

Создание рабочей книги Excel с подключениями к данным SQL

Публикация рабочей книги на сервере SharePoint Server и обновление подключения к данным

Сведения о среде сценария

Пути ограниченного делегирования Kerberos

Схема среды для сценария

В этом сценарии выполняется настройка учетной записи службы служб Excel в SharePoint Server для ограниченного делегирования Kerberos в службу SQL Server.

Примечание

В этом сценарии выполняется настройка утверждений для службы маркеров Windows (C2WTS) для использования выделенной учетной записи службы. Если в настройках этого компонента выбран параметр Локальная система, необходимо настроить ограниченное делегирование для учетной записи компьютера, на котором выполняются компонент C2WTS и службы Excel.

Логическая проверка подлинности SharePoint Server

Схема проверки подлинности

Сначала в этом сценарии выполняется проверка подлинности клиента по протоколу Kerberos на интерфейсном веб-сервере. В SharePoint Server 2010 с помощью службы маркеров безопасности (STS) маркер проверки подлинности Windows преобразуется в маркер утверждений. Приложение-служба Excel принимает маркер утверждений и преобразует его в маркер Windows (Kerberos) с использованием локального компонента утверждений для службы маркеров Windows (C2WTS), который входит в состав платформы удостоверений Windows (WIF). После этого приложение-служба Excel использует билет Kerberos для проверки подлинности в серверном источнике данных.

Пошаговые инструкции по настройке

Настройка Active Directory

Создание учетной записи службы служб Excel

Рекомендуется выполнять службы Excel под собственным удостоверением домена. Для настройки приложения-службы Excel требуется создать учетные записи Active Directory. В этом примере созданы следующие учетные записи:

Служба SharePoint Server Удостоверение пула приложений IIS

Службы Excel

vmlab\svcExcel

Настройка имени участника-службы для учетной записи службы служб Excel

Если планируется делегирование удостоверения клиента из служб Excel в серверный источник данных, необходимо настроить ограниченное делегирование Kerberos. В этом примере службы Excel запрашивают данные из транзакционной БД SQL, в связи с чем делегирование Kerberos является обязательным.

Для настройки делегирования Kerberos обычно используется оснастка консоли управления (MMC) "Пользователи и компьютеры Active Directory". Для настройки параметров делегирования в этой оснастке необходимо применить имя участника-службы к настраиваемому объекту Active Directory; в противном случае в диалоговом окне свойств объекта не будет представлена вкладка Делегирование. В этом примере имя участника-службы настраивается именно с этой целью, однако для работы служб Excel оно не требуется.

Выполните следующую команду в командной строке:

SETSPN -S SP/ExcelServices

Примечание

Это недействительное имя участника-службы. Оно применяется к указанной учетной записи службы для того, чтобы открыть доступ к параметрам делегирования в оснастке "Пользователи и компьютеры Active Directory". Существуют другие способы настройки параметров делегирования (в частности, с помощью атрибута msDS-AllowedToDelegateTo Active Directory), однако в этом разделе они не рассматриваются.

Настройка ограниченного делегирования Kerberos для служб Excel

Чтобы разрешить делегирование удостоверений клиентов из служб Excel, необходимо настроить ограниченное делегирование Kerberos. Для преобразования утверждений в маркеры Windows с помощью компонента C2WTS платформы WIF необходимо настроить ограниченное делегирование с переносом протокола.

Каждый сервер, на котором выполняются службы Excel, должен быть определен как надежный для делегирования учетных данных в каждой серверной службе, в которой будет выполняться проверка подлинности Excel. Кроме того, необходимо настроить службу служб Excel для делегирования в тех же серверных службах.

В этом примере определены следующие пути делегирования:

Тип участника Имя участника Делегаты для службы

Пользователь

svcExcel

MSSQLSVC/MySqlCluster.vmlab.local:1433

*Пользователь

svcC2WTS

MSSQLSVC/MySqlCluster.vmlab.local:1433

**Компьютер

VMSP10APP01

MSSQLSVC/MySqlCluster.vmlab.local:1433

*Настраивается позже в этом сценарии

**Требуется только в том случае, если компонент C2WTS выполняется как локальная система

Настройка ограниченного делегирования

  1. Откройте свойства объекта Active Directory в оснастке "Пользователи и компьютеры Active Directory".

  2. Перейдите на вкладку Делегирование.

  3. Выберите параметр Доверять этому пользователю делегирование указанных служб.

  4. Выберите параметр Использовать любой протокол проверки подлинности. Это позволяет выполнять перенос протокола и является необходимым условием для использования компонента C2WTS учетной записью службы.

  5. Нажмите кнопку "Добавить", чтобы выбрать участника-службу, для которого будет разрешено делегирование.

  6. Щелкните Пользователи и компьютеры.

  7. Выберите учетную запись службы для службы, для которой настраивается делегирование. В данном примере это учетная запись для службы SQL.

    Примечание

    К выбранной учетной записи службы должно быть применено имя участника-службы. В нашем примере это имя было настроено в предыдущем сценарии.

  8. Нажмите кнопку ОК. Отображается запрос на выбор имен участников-служб, для которых будет настроено делегирование на следующем экране.

  9. Вберите службы для кластера SQL и нажмите кнопку "ОК".

  10. Выбранные имена участников-служб должны отображаться в списке Службы, с которыми эта учетная запись может использовать делегированные учетные данные.

  11. Повторите эти шаги для каждого пути делегирования, определенного в начале этого раздела.

Проверка имени участника-службы MSSQLSVC для учетной записи службы, под которой эта служба выполняется на сервере SQL Server (выполняется в сценарии 2)

Проверьте существование имени участника-службы для учетной записи служб Analysis Services (vmlab\svcSQL) с помощью следующей команды SetSPN:

SetSPN -L vmlab\svcSQL

Должны отображаться следующие сведения:

MSSQLSVC/MySqlCluster MSSQLSVC/MySqlCluster.vmlab.local:1433

Настройка SharePoint Server

Настройка и запуск утверждений для службы маркеров Windows на серверах служб Excel

Утверждения для службы маркеров Windows (C2WTS) — это компонент платформы удостоверений Windows (WIF), который обеспечивает преобразование маркеров утверждений в маркеры Windows. В службах Excel компонент C2WTS используется для этой цели в тех случаях, когда требуется делегировать учетные данные в серверную систему, в которой используется встроенная проверка подлинности Windows. Платформа WIF развертывается вместе с SharePoint Server 2010; компонент C2WTS можно запустить из центра администрирования.

На каждом сервере приложений служб Excel компонент C2WTS должен выполняться локально. Этот компонент не открывает никакие порты и, следовательно, недоступен для удаленного вызова. Кроме того, для файла конфигурации службы C2WTS необходимо отдельно настроить доверие удостоверению локального вызывающего клиента.

Рекомендуется выполнять компонент C2WTS с использованием выделенной учетной записи службы и не в качестве локальной системы (конфигурация по умолчанию). Учетной записи службы C2WTS требуются особые локальные разрешения на каждом сервере, на котором она выполняется; эти разрешения необходимо настраивать при каждом запуске службы на сервере. Лучше настраивать разрешения этой учетной записи службы на локальном сервере до запуска компонента C2WTS, однако при необходимости можно перезапустить этот компонент с помощью консоли управления службами Windows (services.msc) после настройки.

Запуск компонента C2WTS

  1. Создайте в Active Directory учетную запись службы, под которой будет выполняться служба. В этом примере — vmlab\svcC2WTS.

  2. Добавьте произвольное имя участника-службы для учетной записи службы, чтобы открыть доступ к параметрам делегирования для этой учетной записи в оснастке "Пользователи и компьютеры Active Directory". Это имя может иметь любой формат, поскольку проверка подлинности C2WTS по протоколу Kerberos не выполняется. Чтобы избежать возможного дублирования имен участников-служб в среде, рекомендуется не использовать имена участников-служб HTTP. В этом примере для учетной записи vmlab\svcC2WTS регистрируется имя SP/C2WTS:

    SetSPN -S SP/C2WTS vmlab\svcC2WTS
    
  3. Настройте ограниченное делегирование Kerberos для учетной записи служб C2WTS. В этом сценарии учетные данные делегируются службе SQL, которая выполняется под именем участника-службы MSSQLSVC/MySqlCluster.vmlab.local:1433.

  4. Далее настройте на сервере необходимые локальные разрешения для службы C2WTS. Настройку разрешений нужно провести на каждом сервере, на котором выполняется компонент C2WTS. В нашем примере это VMSP10APP01. Войдите в систему сервера и назначьте компоненту C2WTS следующие разрешения:

    1. Добавьте учетную запись службы в локальную группу "Администраторы".

    2. В разделе назначения прав пользователям в локальной политике безопасности (secpol.msc) предоставьте этой учетной записи службы следующие разрешения:

      1. Работа в режиме операционной системы

      2. Имитация клиента после проверки подлинности

      3. Вход в качестве службы

  5. Откройте центр администрирования.

  6. В разделе "Безопасность->Настройка управляемых учетных записей служб" зарегистрируйте учетную запись службы C2WTS как управляемую.

  7. В разделе "Службы" выберите элемент Управление службами на сервере.

  8. В поле выбора сервера в верхнем правом углу выберите серверы, на которых выполняются службы Excel. В нашем примере это VMSP10APP01.

  9. Найдите службу "Утверждения для службы маркеров Windows" и запустите ее.

  10. Перейдите в раздел "Безопасность->Управление учетными записями служб". Измените удостоверение для компонента C2WTS на новую управляемую учетную запись.

    Примечание

    Если компонент C2WTS был запущен до настройки выделенной учетной записи службы, а также если требуется изменить разрешения для этой учетной записи после запуска C2WTS, необходимо перезапустить службу C2WTS из консоли служб.

Кроме того, при возникновении проблем с C2WTS после перезапуска может потребоваться сброс пулов приложений IIS, с которыми работает компонент C2WTS.

Добавление зависимостей запуска в службу C2WTS платформы WIF

Существует известная проблема, из-за которой компонент C2WTS может не запускаться автоматически после перезагрузки системы. Чтобы обойти эту проблему, настройте зависимость службы от служб криптографии:

  1. Откройте окно командной строки.

  2. Введите команду sc config "c2wts" depend= CryptSvc

  3. Найдите службу "Утверждения для службы маркеров Windows" в консоли служб.

  4. Откройте ее свойства.

  5. Откройте вкладку Зависимости. Убедитесь, что в списке присутствует элемент Службы криптографии.

  6. Нажмите кнопку ОК.

Предоставление учетной записи службы служб Excel разрешения на доступ к базе данных контента веб-приложения

При настройке веб-приложений Office SharePoint Server 2010 обязательно разрешается доступ учетной записи служб веб-приложения к базам данных контента соответствующего веб-приложения. В этом примере учетной записи службы служб Excel предоставляется доступ к БД контента веб-приложения "портал" с помощью оболочки Windows PowerShell.

Выполните следующую команду в командной консоли SharePoint 2010:

$w = Get-SPWebApplication -Identity http://portal

$w.GrantAccessToProcessIdentity("vmlab\svcExcel")

Запуск экземпляра службы служб Excel на сервере служб Excel

Перед созданием приложения-службы служб Excel запустите соответствующую службу на выделенных серверах фермы.

  1. Откройте центр администрирования.

  2. В разделе "Службы" выберите элемент Управление службами на сервере.

  3. В поле выбора сервера в верхнем правом углу выберите серверы, на которых выполняются службы Excel. В нашем примере это VMSP10APP01.

  4. Запустите службы вычислений Excel.

Создание прокси-сервера и приложения-службы служб Excel

Далее настройте новое приложение-службу служб Excel и прокси приложения, чтобы обеспечить работу веб-приложений со службами Excel:

  1. Откройте центр администрирования.

  2. Выберите элемент Управление приложениями-службами в разделе Управление приложениями.

  3. Щелкните Создать и выберите элемент Приложение Служб Excel.

  4. Настройте новое приложение-службу. Обратите внимание на выбор правильной учетной записи службы (если учетная запись службы Excel отсутствует в списке, создайте новую управляемую учетную запись).

Настройка параметров проверки подлинности и надежного расположения файлов для служб Excel

После создания приложения служб Excel укажите в свойствах нового приложения надежное расположение узла и параметры проверки подлинности.

  1. Откройте центр администрирования.

  2. Выберите элемент Управление приложениями-службами в разделе Управление приложениями.

  3. Щелкните ссылку нового приложения-службы (в этом примере — Службы Excel).

  4. На экране управления службами Excel щелкните элемент "Надежные расположения файлов".

  5. Добавьте новое надежное расположение файлов.

  6. Укажите расположение тестовой библиотеки.

    Примечание

    В нашем примере в качестве надежных указываются URL-адреса корневого каталога веб-приложения и всех его дочерних каталогов. В рабочей среде можно ограничить набор надежных расположений менее широким диапазоном.

  7. В разделе Внешние данные выберите элемент Надежные библиотеки подключений к данным и внедренные.

    Примечание

    В этом примере используется внедренное подключение к серверу SQL Server. В реальной среде можно создать отдельный файл подключения и сохранить его в надежной библиотеке подключений данных. В таком случае необходимо выбрать элемент "Только надежные библиотеки подключений к данным".

  8. Измените срок хранения в кэше внешних данных — при тестировании рекомендуется изменить время жизни кэша внешних данных, чтобы гарантировать своевременное обновление данных и поступление данных не из кэша, а из источника данных. Измените следующие параметры в разделе "Внешние данные":

    Автоматическое обновление (периодическое / при открытии) = 0

    Ручное обновление = 0

    Примечание

    В рабочей среде в большинстве случаев требуется настроить срок хранения в кэше больше 0. Нулевое значение используется исключительно в целях тестирования.

Проверка ограниченного делегирования служб Excel

Создание библиотеки документов для размещения тестовой рабочей книги

Откройте сайт по пути к надежному расположению, заданному на предыдущем шаге. Создайте новую библиотеку документов для размещения тестовой рабочей книги Excel.

Создание рабочей книги Excel с подключениями к данным SQL

Далее создайте рабочую книгу Excel, содержащую подключение к данным для новой тестовой базы данных:

  1. Откройте приложение Excel.

  2. На вкладке Данные выберите Из других источников->С сервера SQL Server.

  3. Подключитесь к тестовому источнику данных SQL.

  4. Выберите тестовую БД и тестовую таблицу (в нашем примере — Продажи).

  5. Нажмите кнопку "Далее". Нажмите кнопку параметров проверки подлинности. Убедитесь, что выбрана проверка подлинности Windows.

  6. Нажмите кнопку "Готово".

  7. Выберите отчет сводной таблицы.

  8. Настройте сводную таблицу. Убедитесь, что данные возвращаются из источника SQL.

Публикация рабочей книги на сервере SharePoint Server и обновление подключения к данным

На заключительном шаге проверки приложения служб Excel выполняется публикация рабочей книги и тестовое обновление внедренного подключения SQL.

  1. Откройте вкладку Файл.

  2. Последовательно выберите команды Сохранить и отправить, Сохранить в SharePoint и Поиск расположения.

  3. Укажите расположение надежной библиотеки, созданной на предыдущих шагах.

  4. Убедитесь, что выбран параметр Открыть в Excel в браузере.

    На этом этапе открывается новое окно браузера, в котором отображается тестовая рабочая книга. После отображения книги обновите подключение к данным; для этого откройте вкладку Данные и выберите команду Обновить все подключения.

    Успешное обновление подключения к данным свидетельствует о правильной настройке делегирования Kerberos для служб Excel. Для дальнейшей проверки возможностей подключения измените данные источника с помощью SQL Management Studio и обновите подключение. В книге должны отобразиться обновленные данные. Если изменения не отображаются, и при этом не выводятся сообщения об ошибке, вероятнее всего в книге представлены данные кэша. По умолчанию службы Excel кэшируют данные из внешних источников в течение пяти минут. Дополнительные сведения об изменении этого параметра кэша см. в разделе Настройка параметров проверки подлинности и надежного расположения файлов для служб Excel этой статьи.