Регистрация имени участника-службы для экземпляра служб Analysis Services
Имя участника-службы (SPN) однозначно идентифицирует экземпляр службы в домене Active Directory, если протокол Kerberos используется для взаимной проверки подлинности идентификаторов клиента и службы. Имя участника-службы сопоставляется с учетной записью входа, от имени которой выполняется экземпляр службы.
Для клиентских приложений при подключении к службам Analysis Services через протокол проверки подлинности Kerberos клиентские библиотеки Analysis services формируют имя участника-службы, используя имя узла из строки подключения и других известных переменных, например класс службы, зафиксированных в любой конкретной версии служб Analysis Services.
Чтобы прошла взаимная проверки подлинности, имена участников-служб, построенные клиентом, должны соответствовать объекту имени участника-службы в контроллере домена Active Directory. Это означает, что может потребоваться регистрация нескольких имен участников-служб для единственного экземпляра служб Analysis Services, чтобы описать все способы, с помощью которых пользователь может задать имя узла в строке подключения. Например, возможно, потребуется два имени участника-службы для работы с полным доменным именем сервера (FQDN), а также для короткого имени компьютера. Правильная регистрация имени участника-службы Analysis Services необходима для выполнения успешного подключения. Если имя участника-службы не существует, имеет неправильный формат или повторяется, соединение не будет установлено.
Регистрация имени участника-службы выполняется вручную администратором служб Analysis Services. В отличие от компонента SQL Server Database Engine, службы Analysis Services при запуске не регистрируют автоматически имя участника-службы. Выполнять регистрацию вручную обязательно, если службы Analysis Services запускаются от имени стандартной виртуальной учетной записи, учетной записи пользователя домена или встроенной учетной записи, в том числе идентификатора безопасности службы.
Регистрация имени участника-службы не требуется, если служба запускается от имени предопределенной учетной записи управляемой службы, созданной администратором домена. Обратите внимание, что в зависимости от функционального уровня домена для регистрации имени участника-службы может потребоваться разрешение администратора домена.
Совет |
---|
Microsoft диспетчер конфигурации Kerberos для SQL Server — это диагностическое средство, которое помогает расследовать проблемы Kerberos со связью при использовании SQL Server. Дополнительные сведения см. в разделе Диспетчер конфигурации Microsoft Kerberos для SQL Server. |
В этом разделе содержатся следующие подразделы:
When SPN registration is required
SPN format for Analysis Services
SPN registration for a virtual account
SPN registration for a domain account
SPN registration for a built-in account
SPN registration for a named instance
SPN registration for an SSAS cluster
SPN registration for SSAS instances configured for HTTP access
SPN registration for SSAS instances listening on fixed ports
Когда требуется регистрация имени участника-службы
Любое клиентское подключение, где в строке подключения указано "SSPI=Kerberos", образует требования для регистрации SPN для экземпляра Analysis Services.
Регистрация имени участника-службы требуется в следующих ситуациях. Более подробные сведения см. в разделе Настройка служб Analysis Services для ограниченного делегирования Kerberos.
Делегирование удостоверения обязательно для передачи удостоверения пользователя от клиентского приложения или службы-посредника в службы 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$<instance-name>.
Как следует из имен, эти учетные записи не присутствуют в 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$<instance-name>
Этот пример демонстрирует синтаксис 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. Также его можно найти в диспетчере отказоустойчивого кластера, выбрав Роль и вкладку Ресурсы. Имя сервера на вкладке «Ресурсы» следует использовать в качестве элемента 'virtual name' в команде имени участника-службы.
Синтаксис имени участника-службы для кластера служб Analysis Services
Setspn –s msolapsvc.3/<virtualname.FQDN > <domain user account>
Помните, что узлы в кластере служб Analysis Services должны использовать порт (TCP 2383) по умолчанию и выполняться под той же учетной записью пользователя домена, чтобы каждый узел имел один и тот же идентификатор безопасности. Подробнее см. в разделе Кластеризация служб SQL Server Analysis Services.
Регистрация имени участника-службы для экземпляров службы 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 в службах Internet Information Services (IIS) 7.0.
Регистрация имени участника-службы для экземпляров службы SSAS, слушающих фиксированные порты
При регистрации имени участника-службы Analysis Services нельзя указать номер порта. Если службы Analysis Services установлены как экземпляр по умолчанию и этот экземпляр настроен на прослушивание фиксированного порта, то теперь нужно настроить его для прослушивания порта (TCP 2383) по умолчанию. Для именованных экземпляров необходимо использовать службу обозревателя SQL Server с динамически назначаемыми портами.
Экземпляр служб Analysis Services может прослушивать только один порт. Использование нескольких портов не поддерживается. Дополнительные сведения о настройке порта см. в разделе Настройка брандмауэра Windows на разрешение доступа к службам Analysis Services.
См. также
Справочник
Настройка учетных записей службы Windows и разрешений
Другие ресурсы
Проверка подлинности бизнес-аналитики Майкрософт и делегирование удостоверений
Взаимная проверка подлинности на основе Kerberos
Синтаксис имен участников-служб (SPN) в программе SetSPN (Setspn.exe)
Какое имя участника-службы (SPN) используется и откуда оно берется?
Подробное руководство по учетным записям служб
Как использовать имена участников-служб при настройке веб-приложения, размещенного в службах IIS.
Новые возможности в учетных записях служб
Настройка проверку подлинности Kerberos для продуктов SharePoint 2010 (технический документ)