Использование PerformancePoint на сайтах с поддержкой HTTPS

Дата публикации исходной статьи: среда, 20 июня 2012 г.

Тема для этой публикации назревала уже давно, поскольку службе поддержки довольно часто приходится сталкиваться с соответствующими обращениями от пользователей. Если вы пытались настроить службы PerformancePoint Services для работы на сайте с поддержкой HTTPS, то, возможно, получали ошибки при попытке создать подключение к списку SharePoint или источнику данных служб Excel.

Ниже приведены некоторые сообщения об ошибках, которые вам, возможно, приходилось видеть. Одно из них связано с PerformancePoint, а другое — с SharePoint Foundation.

Сообщение об ошибке от панели мониторинга PerformancePoint
"Службе PerformancePoint Services не удалось подключиться к указанному источнику данных. Убедитесь, что текущему пользователю или автоматической учетной записи службы предоставлены разрешения на чтение из источника данных (в зависимости от настройки безопасности). Проверьте также наличие и правильность всей информации, необходимой для подключения."

Сообщения об ошибках ULS

"SharePoint Foundation | Топология | 8311 | Критическая | Операцию выполнить не удалось, так как следующий сертификат содержит ошибки проверки:<<путь к сертификату и отпечаток сертификата>>\n\nОшибки:\n\n Корневой элемент цепочки сертификатов не является надежным центром сертификации."

"PerformancePoint Service | PerformancePoint Services | ef8z | Критическая | Службе PerformancePoint Services не удалось подключиться к указанному источнику данных. Убедитесь, что текущему пользователю или автоматической учетной записи службы предоставлены разрешения на чтение из источника данных (в зависимости от настройки безопасности). Проверьте также наличие и правильность всей информации, необходимой для подключения. System.Net.WebException: Базовое соединение закрыто: Не удалось установить доверительные отношения для защищенного канала SSL/TLS…"

Сообщение об ошибке SharePoint Foundation наиболее очевидное, поскольку в нем ясно указывается, что проблема связана с сертификатом. Сообщения PerformancePoint могут ввести в заблуждение, поскольку можно решить, что необходимо устранить проблему, связанную с проверкой подлинности или авторизацией. Хотя в конечном итоге причина проблемы и кроется именно в этом, способов проверки того, имеет ли автоматическая учетная запись службы или сама учетная запись службы все необходимые разрешения, не так уж и много. Так или иначе, если проблема связана с сертификатом, всегда обращайте внимание на сообщение о критической ошибке ULS SharePoint Foundation. Оно является неопровержимым доказательством того, что проблема связана именно с сертификатом PerformancePoint. Если вы получили одно из этих сообщений, попробуйте воспользоваться следующим решением, которое уже помогло многим.

Решение
Предполагается, что сертификаты уже получены и в IIS настроены привязки для сайтов SharePoint, с которыми вы работаете. Если они настроены правильно, при просмотре HTTPS-сайтов не должно происходить ошибок, связанных с сертификатами (в этой публикации приводится достаточно подробное описание этого процесса, а также полезные ссылки на соответствующую документацию).

Шаг 1. Извлечение сертификатов в SharePoint Server
В доверенные корневые центры сертификации локального компьютера необходимо установить все сертификаты, расположенные в пути сертификации (корневой, промежуточный и некорневой). Для этого необходимо извлечь все сертификаты из пакета, расположенного в пути сертификации.

  1. Перейдите на интерфейсный веб-сервер или сервер приложений.
  2. Откройте Internet Explorer и перейдите на сайт, который будет использоваться (https://site).
  3. Просмотрите сертификат, связанный с сайтом, в отчете о безопасности URL-адреса.
    1. Справа от URL-адреса щелкните значок с изображением замка 
    2. Щелкните ссылку "Просмотр сертификатов".
  4. Перейдите на вкладку "Путь сертификации".

  1. В пути сертификации выберите корневой узел и нажмите кнопку "Просмотр сертификата".

  1. В открывшемся окне "Сертификат" перейдите на вкладку "Состав".
  2. Нажмите кнопку "Копировать в файл".
  3. Откроется мастер экспорта сертификатов.
  4. Выберите формат сертификата по умолчанию, "Файлы в DER-кодировке X.509 (.CER)", и нажмите кнопку "Далее".

  1. Укажите расположение, в которое следует сохранить файл, присвойте файлу имя RootCertificate и нажмите кнопку "Далее".
    1. Чтобы указать расположение, сначала нажмите кнопку "Обзор".
    2. Выберите "Рабочий стол".
    3. Введите имя (например, Root).

  1. Нажмите кнопку "Готово".
  2. Повторите действия 4–10 для каждого сертификата в пути сертификации.

Шаг 2. Добавление сертификатов в доверенный корневой центр сертификации локального компьютера
Каждый экспортированный сертификат необходимо импортировать в доверенный корневой центр сертификации локального компьютера на каждом из серверов фермы.

  1. На каждом из серверов фермы добавьте экспортированные сертификаты в доверенный корневой центр сертификации локального компьютера (проще всего скопировать сертификаты на каждый сервер в ферме после того, как они будут экспортированы на первый сервер).
  2. Запустите локальный диспетчер сертификатов.

a. В меню "Пуск" нажмите кнопку "Выполнить" и введите "MMC".

b. В меню "Файл" выберите пункт "Добавить или удалить оснастку".

c. В окне "Добавление и удаление оснасток" выберите пункт "Сертификаты" и нажмите кнопку "Добавить".

d. В окне оснастки "Сертификаты" выберите пункт "Учетная запись компьютера" и нажмите кнопку "Далее".

e. Выберите пункт "Локальный компьютер" и нажмите кнопку "Готово".

f. Вернувшись в окно "Добавление и удаление оснасток", нажмите кнопку "ОК".

g. В окне консоли разверните узел "Сертификаты (локальный компьютер)".

 
h. Щелкните правой кнопкой мыши узел "Доверенные корневые центры сертификации" и последовательно выберите пункты "Все задачи" и "Импорт".

i. Выберите ранее экспортированный корневой сертификат и нажмите кнопку "Далее".
j. В последующих окнах не изменяйте параметры по умолчанию, после чего нажмите кнопку "Готово". Должно появиться сообщение о том, что импорт был выполнен успешно.

Повторите действия 8 и 9 для каждого из сертификатов в пути сертификации.

Шаг 3. Добавление сертификатов в разделе "Управление отношениями доверия" в SharePoint

  1. После того как сертификат установлен на локальном компьютере, его необходимо добавить в раздел "Управление отношениями доверия" в SharePoint. Это нужно сделать только на одном сервере, поскольку отношения доверия действуют в пределах всей фермы. Добавьте каждый из сертификатов в раздел "Управление отношениями доверия" в SharePoint.

a. Откройте центр администрирования SharePoint, перейдите на вкладку "Безопасность" и щелкните ссылку "Управление отношениями доверия".
 

b. На ленте "Отношения доверия" выберите команду "Создать". Откроется окно "Установить отношение доверия".
c. В разделе "Общие параметры" укажите имя (например, RootCA, IntermediateLevel1, IntermediateLevel2).
d. В разделе "Корневой сертификат для данного отношения доверия" нажмите кнопку "Обзор" и выберите ранее созданный сертификат.

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

Повторите действия 1–5 для каждого из сертификатов в пути сертификации. 

  1. На интерфейсном веб-сервере SharePoint выполните команду IISReset.
    1. В меню "Пуск" выберите пункт "Выполнить" и введите "cmd".
    2. Введите команду "IISReset" и нажмите клавишу ВВОД.
  2. Проверьте создание источника данных в конструкторе панели мониторинга. Для этого создайте источник данных списка SharePoint, а также источник данных служб Excel.

Приложение А. Проверка импортированных сертификатов

Иногда бывает необходимо проверить, были ли сертификаты импортированы правильно или, наоборот, были ли они полностью удалены из системы. Несколько раз нам встречались "упрямые" сертификаты, которые не удалялись полностью из системы, пока мы не удаляли их из хранилищ сертификатов в реестре.

  1. Запустите программу Regedit.
    1. Откройте меню "Пуск".
    2. Выберите пункт "Выполнить".
    3. Введите "Regedit" и нажмите клавишу ВВОД.
  2. Проверьте подраздел SOFTWARE\Microsoft\SystemCertificates\My\Certificates как в разделе HKEY_LOCAL_MACHINE, так и в разделе HKEY_LOCAL_USER.
  3. Сравните значения отпечатков сертификатов со значениями узлов в контейнере Certificates.
     

Приложение Б. Полезные команды PowerShell

Проверка на сертификаты с помощью PowerShell

Приведенный ниже скрипт экспортирует список сертификатов, установленных в разделе "Управление отношениями доверия" в SharePoint. После этого его можно сравнить со списком сертификатов, добавленных в локальное хранилище сертификатов.

Проверка на сертификаты, добавленные в локальный центр сертификации

Вот и все! Процедура не особенно сложная, но позволяет обеспечить нормальную работу системы.

Джон Фултон (John Fulton),
Инженер по эскалациям службы поддержки Майкрософт,
Группа SharePoint подразделения бизнес-аналитики Office

Это локализованная публикация в блоге. Оригинал — Leveraging PerformancePoint in HTTPS Enabled Sites.