Есть следующая конфигурация:
1. SharePoint 2010 SP1 с установленными SQL Server 2012 Reporting Services
2. SQL Server 2008 R2 c Named Instance на котором крутится база, из которой нам необходимо брать информацию для формирования отчетов. SQL 2012 настроен по статье
3. Дополнительные параметры:
-домен: test.com
-имя экземпляра SQL: SP
-учетная запись для экземпляра: svcSQL
Задача: заставить это все работать с использованием Kerberos
Приступим
1. Создадим в Active Directory учетную запись для службы Claims to Windows Token Service (например, svcC2WTS) и наделим ее следующими правами на сервере SharePoint:
-Act as part of the operating system
-Impersonate a client after authentication
-Log on as a service
И дополнительно добавим в локальные админы
2. В центре адмнистрирования SharePoint необходимо зарегистрировать созданную учетную запись в качестве Managed Account и запустить службу Claims to Windows Token Service (/_admin/Server.aspx)
Также application pool, который используется для работы SQL 2012 Reporting Services Service Application, работал от зарегистрированного Managed account для C2WTS. Посмотреть и изменить эти параметры можно на странице Service Accounts (/_admin/FarmCredentialManagement.aspx)
3. Также, что потом не было проблем, изменим зависимости для службы Claims to Windows Token: sc config c2wts depend= CryptSvc
4. Перезапускаем SharePoint
5. На SQL сервере задаем статический порт для экземпляра SQL по статье Configure a Server to Listen on a Specific TCP Port (SQL Server Configuration Manager)
У меня, например, порт 1234
Почему так надо, подробно расписано тут
6. Регистрируем SPN:
setspn -A MSSQLSvc/server_fqdn:SP testsvcSQL
setspn -A MSSQLSvc/server_fqdn:1234 testsvcSQL
Подробнее о регистрации SPN для сиквела можно почитать тут
setspn -A SP/SRSS testsvcC2WTS
— это фэйковый SPN
7. В Active Directory Users and Computers настраиваем делегирование для учетной записи svcC2WTS.
На вкладке Delegation необходимо выбрать Use any authentication protocol и добавить только что зарегистрированные SPN для служб сиквела. Важно, чтобы обе записи были отражены на этой вкладке.
8. Создаем новый Data Source с указанием именованного экземпляра SQL. Для подключения используем windows authentication (integrated) or sharepoint user и радуемся успешному коннекту
Автор: ershovis