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

Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Во время настройки служб Analysis Services для проверки подлинности Kerberos, скорее всего, потребуется добиться одного или обоих приведенных ниже результатов: олицетворения пользовательского удостоверения с помощью служб Analysis Services для доступа к данным или делегирования пользовательского удостоверения с помощью служб Analysis Services в службу более низкого уровня. У каждого сценария есть свои требования к конфигурации. Для обоих сценариев необходима проверка, чтобы убедиться в правильности настройки.

Совет

Microsoft Диспетчер конфигурации Kerberos для SQL Server — это диагностическое средство, которое помогает устранять неполадки Kerberos, связанные с проблемами подключения при использовании SQL Server. Дополнительные сведения см. в разделе Диспетчер конфигурации Microsoft Kerberos для SQL Server.

Этот раздел состоит из следующих подразделов.

Примечание

Делегирование не требуется, если подключение к службам Analysis Services выполняется в один прыжок или в решении используются сохраненные учетные данные, предоставляемые службой SharePoint Secure Store или службами Reporting Services. Если все соединения являются прямыми от Excel к базе данных служб Analysis Services либо соединениями на основе сохраняемых учетных данных, то можно использовать Kerberos (без NTLM) без необходимости настройки ограниченного делегирования.

Ограниченное делегирование Kerberos требуется, если удостоверение пользователя должно проходить через несколько подключений к компьютеру (известное как "двойной прыжок"). Если доступ к данным служб Analysis Services основан на пользовательском удостоверении и запрос соединения исходит от делегирующей службы, по контрольному списку в следующем разделе проверьте, что службы Analysis Services могут выполнить олицетворение исходного заявителя. Дополнительные сведения о потоках проверки подлинности служб Analysis Service см. в разделе Проверка подлинности для бизнес-аналитики Майкрософт и делегирование удостоверений.

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

Разрешение службам Analysis Services выполнять олицетворение пользовательского удостоверения

Чтобы разрешить службе более высокого уровня, например службам Reporting Services, IIS или SharePoint, выполнять олицетворение пользовательского удостоверения для работы со службами Analysis Services, следует настроить ограниченное делегирование Kerberos для таких служб. В этом случае службы Analysis Services олицетворяют текущего пользователя с использованием удостоверения, предоставленного делегирующей службой, и возвращают результаты на основе членства пользовательского удостоверения в роли.

Задача Описание
Этап 1. Убедитесь, что учетные записи подходят для делегирования Убедитесь, что учетные записи, используемые для запуска служб, имеют необходимые свойства в Active Directory. Учетные записи службы в Active Directory должны быть отмечены как критические учетные записи или исключены явным образом из сценариев делегирования. Дополнительные сведения см. в разделе Основные сведения об учетных записях пользователей.

Примечание. Как правило, все учетные записи и серверы должны принадлежать к одному домену Active Directory или доверенным доменам одного леса. Но поскольку Windows Server 2012 поддерживает делегирование через across границы домена, можно настроить ограниченное делегирование Kerberos через границы домена, если домен имеет функциональный уровень Windows Server 2012. Другой вариант — настроить службы Analysis Services для доступа по HTTP-протоколу и использовать методы проверки подлинности служб IIS через клиентское соединение. Дополнительные сведения см. в разделе Настройка http-доступа к службам Analysis Services в службах IIS 8.0.
Этап 2. Регистрация имени участника-службы Перед настройкой ограниченного делегирования необходимо зарегистрировать имя субъекта-службы (SPN) для экземпляра служб Analysis Services. Имя участника-службы Analysis Services необходимо при настройке ограниченного делегирования Kerberos для служб среднего уровня. Инструкции см. в разделе SPN registration for an Analysis Services instance .

Имя субъекта-службы (SPN) указывает уникальное удостоверение службы в домене, настроенном для проверки подлинности Kerberos. Клиентские соединения с использованием встроенной безопасности часто запрашивают имя участника-службы в составе проверки подлинности SSPI. Запрос перенаправляется к контроллеру домена (DC) Active Directory, а служба проверки подлинности Kerberos предоставляет билет, если имя участника-службы, указанное клиентом, имеет совпадающую регистрацию имени участника-службы в Active Directory.
Этап 3. Настройка ограниченного делегирования После проверки предназначенных для использования учетных записей и регистрации для них имен участников-служб следующим шагом будет настройка служб более высокого уровня, например IIS, Reporting Services, веб-службы SharePoint для ограниченного делегирования с указанием имени участника-службы Analysis Services в качестве конкретной службы, для которой разрешено делегирование.

Службы, запускаемые в режиме SharePoint, например службы Excel Services или Reporting Services в режиме интеграции с SharePoint, часто содержат книги и отчеты, которые используют многомерные или табличные данные служб Analysis Services. Настройка ограниченного делегирования для этих служб — обычная задача настройки конфигурации, необходимая для поддержки обновления данных из служб Excel. По следующим ссылкам можно получить инструкции для служб SharePoint, а также других служб, которые, по всей вероятности, будут передавать запросы на подключение к данным более низкого уровня для данных служб Analysis Services:

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

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

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

По службам IIS 7.0 см. раздел Настройка проверки подлинности Windows (IIS 7.0) или Настройка служб SQL Server 2008 Analysis Services и SQL Server 2005 Analysis Services для использования проверки подлинности Kerberos.
Этап 4. Проверка подключения В процессе тестирования попробуйте установить соединение с удаленного компьютера с различными удостоверениями и запросите службы Analysis Services с использованием тех же приложений, которые будут использоваться пользователями из сферы бизнеса. Можно использовать приложение SQL Server Profiler для контроля за соединением. По запросу должно отобразиться пользовательское удостоверение. Дополнительные сведения см. в подразделе Проверка олицетворенного или делегированного удостоверения этого раздела.

Настройка служб Analysis Services для доверенного делегирования

Настройка служб Analysis Services для ограниченного делегирования Kerberos позволяет службе олицетворять клиентское удостоверение в службе более низкого уровня, например в реляционной базе данных, для передачи данных, как если бы клиент устанавливал соединение напрямую.

Сценарии делегирования для служб Analysis Services ограничены табличными моделями, настроенными для работы в режиме DirectQuery . Это единственный случай, когда службы Analysis Services могут передавать делегированные учетные данные в другую службу. Во всех остальных сценариях (например в сценариях SharePoint, упомянутых в предыдущем разделе), службы Analysis Services представляют принимающую сторону цепи делегирования. Дополнительные сведения о DirectQuery см. в разделе Режим DirectQuery.

Примечание

Часто ошибочно считается, что хранилище ROLAP, операции обработки или доступ к удаленным разделам каким-либо образом предоставляет требования к ограниченному делегированию. Это не тот случай. Все данные операции выполняются непосредственно учетной записью службы (также известной как учетная запись обработки) от ее собственного имени. В Analysis Services делегирование для этих операций не требуется при условии, что разрешения для таких операций предоставляются непосредственно учетной записи службы (например, предоставление разрешений db_datareader в реляционной базе данных, чтобы служба могла обрабатывать данные). Дополнительные сведения об операциях и разрешениях сервера см. в разделе Настройка учетных записей служб (службы Analysis Services).

В этом разделе приводится описание настройки служб Analysis Services для доверенного делегирования. После завершения этой задачи службы Analysis Services смогут передать учетные данные делегирования в SQL Server в поддержку режима DirectQuery, использующегося в табличных решениях.

Перед началом работы

  • Убедитесь, что службы Analysis Services запущены.

  • Убедитесь в правильности имени участника-службы, зарегистрированного для служб Analysis Services. Инструкции см. в разделе SPN registration for an Analysis Services instance.

Если оба условия соблюдены, выполните следующие шаги. Обратите внимание, что необходимо быть администратором домена для настройки ограниченного делегирования.

  1. В окне «Пользователи и компьютеры Active Directory» найдите учетную запись службы, от имени которой выполняются службы Analysis Services. Щелкните правой кнопкой учетную запись службы и выберите Свойства.

    Для иллюстрации действий на следующих снимках экрана OlapSvc и SQLSvc обозначают службы Analysis Services и SQL Server соответственно.

    OlapSvc — это учетная запись, которая будет настроена для ограниченного делегирования в SQLSvc. После завершения этой задачи OlapSvc получит разрешение передавать делегированные учетные данные по билету в службу SQLSvc, олицетворяя исходного заявителя при запросе данных.

  2. На вкладке «Делегирование» выберите Доверять этому пользователю делегирование только для указанных служб, затем Использовать только Kerberos. Нажмите кнопку Добавить , чтобы указать, каким службам службы Analysis Services могут делегировать учетные данные.

    Вкладка «Делегирование» отображается только в том случае, если учетная запись пользователя (OlapSvc) назначена службе (службам Analysis Services) и служба имеет зарегистрированное имя участника-службы. Для регистрации имени участника-службы необходимо, чтобы служба была запущена.

    SSAS_Kerberos_1_AccountProperties SSAS_Kerberos_1_AccountProperties

  3. На странице «Добавление службы» выберите Пользователи или компьютеры.

    SSAS_Kerberos_2_

  4. На странице «Выбор пользователей или компьютеров» введите имя учетной записи, используемой для запуска экземпляра SQL Server, который содержит табличные шаблоны баз данных служб Analysis Services. Нажмите кнопку ОК , чтобы подтвердить учетную запись службы.

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

    SSAS_Kerberos_3_SelectUsers SSAS_Kerberos_3_SelectUsers

  5. Экземпляр SQL Server должен появиться на странице «Добавление служб». Службы, которые используют эту учетную запись, также появятся в списке. Выберите нужный экземпляр SQL Server. Нажмите кнопку ОК , чтобы подтвердить экземпляр.

    SSAS_Kerberos_4_

  6. Страница свойств учетной записи служб Analysis Services теперь должна выглядеть примерно так, как на следующем снимке экрана. Нажмите кнопку ОК , чтобы сохранить внесенные изменения.

    SSAS_Kerberos_5_Finished

  7. Для проверки успешного делегирования подключитесь с удаленного клиентского компьютера под другим удостоверением и отправьте запрос для табличной модели. Пользовательское удостоверение должно отобразиться для соответствующего запроса в приложении SQL Server Profiler.

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

Приложение SQL Server Profiler позволяет отслеживать удостоверение пользователя, который запрашивает данные.

  1. Запустите приложение SQL Server Profiler на экземпляре служб Analysis Services, затем запустите новую трассировку.

  2. В разделе «Выбор событий» убедитесь, что объекты Audit Login и Audit Logout отмечены в разделе «Аудит безопасности».

  3. Подключитесь к службам Analysis Services через службу приложений (например, SharePoint или службы Reporting Services) с удаленного клиентского компьютера. Событие «Имя входа учетной записи аудита» отобразит удостоверение пользователя, подключенного к службам Analysis Services.

Для более тщательного тестирования потребуются средства сетевого мониторинга, которые способны отслеживать запросы и отклики Kerberos по сети. Для этой задачи может использоваться служебная программа монитора сети (netmon.exe), в которой применены фильтры для Kerberos. Дополнительные сведения об использовании Netmon 3.4 и других инструментов для тестирования средств проверки подлинности Kerberos см. в разделе Настройка проверки подлинности Kerberos: основная конфигурация (SharePoint Server 2010).

См. также:

Проверка подлинности для бизнес-аналитики Майкрософт и делегирование удостоверений
Взаимная проверка подлинности с помощью Kerberos
SPN registration for an Analysis Services instance
Свойства строки подключения (службы Analysis Services)