Поделиться через


SPN registration for an Analysis Services instance

Имя участника-службы (SPN) однозначно идентифицирует экземпляр службы в домене Active Directory, если протокол Kerberos используется для взаимной проверки подлинности идентификаторов клиента и службы. Имя участника-службы сопоставляется с учетной записью входа, от имени которой выполняется экземпляр службы.

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

Чтобы прошла взаимная проверки подлинности, имена участников-служб, построенные клиентом, должны соответствовать объекту имени участника-службы в контроллере домена Active Directory. Это означает, что может потребоваться регистрация нескольких имен участников-служб для единственного экземпляра служб Analysis Services, чтобы описать все способы, с помощью которых пользователь может задать имя узла в строке подключения. Например, возможно, потребуется два имени участника-службы для работы с полным доменным именем сервера (FQDN), а также для короткого имени компьютера. Правильная регистрация имени участника-службы Analysis Services необходима для выполнения успешного подключения. Если SPN отсутствует, имеет неправильный формат или повторяется, установить соединение не удастся.

Регистрация имени участника-службы выполняется вручную администратором служб Analysis Services. В отличие от компонента SQL Server Database Engine, службы Analysis Services при запуске не регистрируют автоматически имя участника-службы. Выполнять регистрацию вручную обязательно, если службы Analysis Services запускаются от имени стандартной виртуальной учетной записи, учетной записи пользователя домена или встроенной учетной записи, в том числе идентификатора безопасности службы.

Регистрация имени участника-службы не требуется, если служба запускается от имени предопределенной учетной записи управляемой службы, созданной администратором домена. Обратите внимание, что в зависимости от функционального уровня домена для регистрации имени участника-службы может потребоваться разрешение администратора домена.

Совет

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

Совет

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

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

Когда требуется регистрация имени участника-службы

Формат имени участника-службы для Analysis Services

Регистрация имени участника-службы для виртуальной учетной записи.

Регистрация имени участника-службы для учетной записи домена.

Регистрация имени участника-службы для встроенной учетной записи

Регистрация имени участника-службы для именованного экземпляра

Регистрация имени участника-службы для кластера SSAS

Регистрация имени участника-службы для экземпляров службы SSAS, настроенных на доступ по протоколу HTTP

Регистрация имени участника-службы для экземпляров службы SSAS, слушающих фиксированные порты

Когда требуется регистрация имени участника-службы

Любое клиентское подключение, указывающее "SSPI=Kerberos" в строке подключения, будет предъявлять требования к регистрации имени субъекта-службы для экземпляра служб Analysis Services.

Регистрация имени участника-службы требуется в следующих ситуациях. Более подробные сведения см. в разделе Configure Analysis Services for Kerberos constrained delegation.

  • Делегирование удостоверения обязательно для передачи удостоверения пользователя от клиентского приложения или службы-посредника в службы Analysis Services. Делегирование удостоверения обычно используется в тех случаях, когда для определенных объектов определены фильтры или разрешения для отдельных пользователей.

    Распространенный сценарий, при котором применяется делегация удостоверения, — настройка служб-посредников, например служб Excel Services или Reporting Services, с ограниченным делегированием, когда необходимо олицетворение пользователя при получении данных из служб Analysis Services. Для поддержки данной возможности необходимо указать имя участника-службы Analysis Services в качестве целевой службы при настройке служб Excel или Reporting Services для ограниченного делегирования.

  • Службы Analysis Services делегируют удостоверение пользователя при получении данных из реляционной базы данных SQL Server для табличных баз данных в режиме DirectQuery. Это единственный случай, когда службы Analysis Services будут делегировать удостоверение пользователя в другую службу.

Формат имени участника-службы для Analysis Services

Для регистрации имени участника-службы используйте команду setspn . На современных операционных системах программа setspn устанавливается как системная. Дополнительные сведения см. в разделе SetSPN.

В следующей таблице описываются все части имени участника-службы для служб Analysis Services.

Элемент Описание
Класс службы MSOLAPSvc.3 определяет службу как экземпляр служб Analysis Services. «.3» — это версия протокола XMLA-over-TCP/IP, используемого в передачах служб Analysis Services. Он не связан с версией продукта. Таким образом, MSOLAPSvc.3 — это правильный класс службы для SQL Server 2005, 2008, 2008, 2012 R2 и любых последующих выпусков служб Analysis Services до тех пор, пока не будет обновлен сам протокол.
Имя узла Идентифицирует компьютер, на котором выполняется служба. Это может быть полное доменное имя или имя NetBIOS. Регистрация имени участника-службы необходима в обоих случаях.

При регистрации имени участника-службы для имени NetBIOS сервера обязательно используйте команду SetupSPN -S для проверки повторяющихся регистраций. Обратите внимание, что в пределах леса не гарантируется уникальность имен NetBIOS, а наличие дублированных регистраций имени участника-службы приведет к сбою подключения.

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

Никогда не создавайте имя участника-службы (SPN) с помощью IP-адреса. Протокол Kerberos использует возможности домена по разрешению DNS. Задание IP-адреса приводит к неиспользованию этих возможностей.
Номер порта Хотя номер порта и является частью синтаксиса имени участника-службы, не указывайте номер порта при регистрации имени участника-службы Analysis Services. Символ двоеточия ( : ), который, как правило, в стандартном синтаксисе имени участника-службы используется для указания номера порта, в службах Analysis Services применяется для указания имени экземпляра. Для экземпляров служб Analysis Services применяется порт по умолчанию (порт TCP 2383) или порт, назначенный службой обозревателя SQL Server (порт TCP 2382).
Имя экземпляра Analysis Services — службы, которые можно установить несколько раз на одном и том же компьютере. Каждый экземпляр определяется посредством его имени.

Перед именем экземпляра добавляется символ двоеточия ( : ). Например, если есть главный компьютер с именем SRV01 и именованный экземпляр SSAS-Tabular, то имя участника-службы выглядит как SRV01:SSAS-Tabular.

Обратите внимание, что синтаксис для указания именованного экземпляра служб Analysis Services отличается от того, что используется другими экземплярами SQL Server. Другие службы используют обратную косую черту (\) для добавления имени экземпляра в имя участника-службы.
Service-account Это стартовая учетная запись службы Windows MSSQLServerOLAPService . Это может быть учетная запись пользователя домена Windows, виртуальная учетная запись, управляемая учетная запись службы (MSA) или встроенная учетная запись, например идентификатор безопасности службы, NetworkService или LocalSystem. Учетная запись пользователя домена может иметь формат «домен\пользователь» или «пользователь@домен».

Регистрация имени участника-службы для виртуальной учетной записи.

Виртуальные учетные записи для служб SQL Server являются типом записи по умолчанию. Виртуальная учетная запись — NT Service\MSOLAPService для экземпляра по умолчанию и NT Service\MSOLAP$<имя> _экземпляра для именованного экземпляра.

Как следует из имен, эти учетные записи не присутствуют в Active Directory. Виртуальная учетная запись существует только на локальном компьютере. При подключении ко внешним службам, приложениям и устройствам подключение осуществляется от имени учетной записи локальной машины. Поэтому регистрация имени участника-службы для служб Analysis Services, выполняющихся от имени виртуальной учетной записи, фактически является регистрацией SPN для учетной записи машины.

Пример синтаксиса для экземпляра по умолчанию, запущенного как NT Service\MSOLAPService.

Этот пример демонстрирует синтаксис setspn для стандартного экземпляра служб Analysis Services, запущенного под стандартной виртуальной учетной записью. В данном примере имя хост-компьютера — AW-SRV01. Как было сказано ранее, регистрация имени участника-службы должна содержать учетную запись машины вместо виртуальной учетной записи NT Service\MSOLAPService.

Setspn -s MSOLAPSvc.3/AW-SRV01.AdventureWorks.com AW-SRV01  

Примечание

Помните, что нужно добавить две регистрации имени участника-службы: одно для имени NetBIOS, а другое для полного доменного имени хост-компьютера (узла). Разные клиентские приложения используют разные соглашения об именовании узлов при подключении к службам Analysis Services. Наличие двух регистраций имени участника-службы гарантирует учет обеих версий имени узла.

Пример синтаксиса для именованного экземпляра, работающего как NT Service\MSOLAP$<имя_экземпляра>

Этот пример демонстрирует синтаксис setspn для именованного экземпляра служб Analysis Services, запущенного под стандартной виртуальной учетной записью. В этом примере имя узла — AW-SRV02, а имя экземпляра — AW-FINANCE. Опять же, это учетная запись компьютера, указанная для имени субъекта-службы, а не виртуальной учетной записи NT Service\MSOLAP$<instance-name>.

Setspn -s MSOLAPSvc.3/AW-SRV02.AdventureWorks.com:AW-FINANCE AW-SRV02  

Регистрация имени участника-службы для учетной записи домена.

Использование учетной записи домена для запуска экземпляра служб Analysis Services — это распространенная практика.

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

Пример синтаксиса для экземпляра по умолчанию, запущенного от имени пользователя домена.

Этот пример демонстрирует синтаксис setspn для стандартного экземпляра служб Analysis Services, запущенного от имени учетной записи пользователя домена SSAS-Serviceв домене AdventureWorks.

Setspn -s msolapsvc.3\AW-SRV01.Adventureworks.com AdventureWorks\SSAS-Service  

Совет

Проверьте, было ли создано имя участника-службы для сервера Analysis Services, запустив командлет Setspn -L <domain account> или Setspn -L <machinename>в зависимости от способа регистрации имени участника-службы. В списке должен отобразиться MSOLAPSVC.3/<hostname> .

Регистрация имени участника-службы для встроенной учетной записи

Хотя подобный метод не рекомендуется, предыдущие установки служб Analysis Service иногда настраиваются для запуска от имени встроенной учетной записи, такой как Network Service, Local Service или Local System.

Пример синтаксиса для экземпляра по умолчанию, запущенного от имени встроенной учетной записи

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

Setspn -s MSOLAPSvc.3/AW-SRV01.AdventureWorks.com AW-SRV01  

Регистрация имени участника-службы для именованного экземпляра

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

Пример синтаксиса имени участника-службы для службы обозревателя SQL, запущенной как LocalService.

Класс службы MSOLAPDisco.3. По умолчанию эта служба запускается как NT AUTHORITY\LocalService, а это означает, что регистрация имени участника-службы задается для учетной записи компьютера. В данном примере учетная запись машины — AW-SRV01, что соответствует имени компьютера.

Setspn -S MSOLAPDisco.3/AW-SRV01.AdventureWorks.com AW-SRV01  

Регистрация имени участника-службы для кластера SSAS

Для кластеров отработки отказа служб Analysis Services имя узла должно быть виртуальным именем, назначенным кластеру. Это сетевое имя SQL Server, указанное во время установки SQL Server при установке служб Analysis Services на основе существующих WSFC. Это имя можно найти в Active Directory. Его также можно найти на вкладкеРесурсыролей | диспетчера | отказоустойчивости кластеров. Имя сервера на вкладке Ресурсы должно использоваться в качестве виртуального имени в команде имени субъекта-службы.

Синтаксис имени участника-службы для кластера служб Analysis Services

Setspn -s msolapsvc.3/<virtualname.FQDN > <domain user account>  

Помните, что узлы в кластере служб Analysis Services должны использовать порт (TCP 2383) по умолчанию и выполняться под той же учетной записью пользователя домена, чтобы каждый узел имел один и тот же идентификатор безопасности. Дополнительные сведения см. в разделе Кластеризация служб Analysis Services SQL Server .

Регистрация имени участника-службы для экземпляров службы SSAS, настроенных на доступ по протоколу HTTP

В зависимости от требований к решению можно настроить службы Analysis Services для доступа по протоколу HTTP. Если решение содержит IIS как компонент среднего уровня и требуется проверять подлинность с помощью Kerberos, для сервера IIS может потребоваться ручная регистрация имени участника-службы. Дополнительные сведения см. в разделе Настройка параметров на компьютере под управлением IIS статьи Настройка SQL Server 2008 Analysis Services и SQL Server 2005 Analysis Services для использования проверки подлинности Kerberos.

С точки зрения регистрации имени участника-службы для экземпляра служб Analysis Services нет разницы между экземплярами, настроенными на использование протокола TCP или HTTP. Подключение к службам Analysis Services из IIS с помощью расширения MSMDPUMP ISAPI всегда производится через TCP-протокол.

Это значит, что можно использовать инструкции по регистрации имени участника-службы из предыдущих разделов, касающихся стандартного или именованного экземпляра. При указании имени узла используйте имя, которое было задано в файле msmdpump.ini при настройке службы для доступа по протоколу HTTP.

Дополнительные сведения о доступе по протоколу HTTP см. в статье Настройка HTTP-доступа к службам Analysis Services в службах IIS 8.0.

Регистрация имени участника-службы для экземпляров службы SSAS, слушающих фиксированные порты

При регистрации имени участника-службы Analysis Services нельзя указать номер порта. Если службы Analysis Services установлены как экземпляр по умолчанию и этот экземпляр настроен на прослушивание фиксированного порта, то теперь нужно настроить его для прослушивания порта (TCP 2383) по умолчанию. Для именованных экземпляров необходимо использовать службу обозревателя SQL Server с динамически назначаемыми портами.

Экземпляр служб Analysis Services может прослушивать только один порт. Использование нескольких портов не поддерживается. Дополнительные сведения о настройке порта см. в разделе Configure the Windows Firewall to Allow Analysis Services Access.

См. также:

Проверка подлинности для бизнес-аналитики Майкрософт и делегирование удостоверений
Взаимная проверка подлинности с помощью Kerberos
Настройка служб SQL Server 2008 Analysis Services и SQL Server 2005 Analysis Services на использование проверки подлинности Kerberos
Синтаксис имен субъектов-служб (SPN) SetSPN (Setspn.exe)
Какое имя субъекта-службы требуется использовать и как поставить его на место?
setspn
Пошаговое руководство по использованию учетных записей служб
Настройка учетных записей службы Windows и разрешений
Использование имен субъектов-служб при настройке веб-приложений, размещенных в службах IIS
Новые возможности учетных записей служб
Настройка проверки подлинности Kerberos для продуктов SharePoint 2010 (технический документ)