Настройка доступа по протоколу HTTP к службам SQL Server Analysis Services в IIS 7.0
Можно включить HTTP-доступ к службам Analysis Services путем настройки MSMDPUMP.dll — расширения ISAPI, которое работает на сервере IIS и передает данные в прямом и обратном направлениях между клиентским приложением и сервером служб Analysis Services. Такой подход предоставляет альтернативные средства для подключения к службам Analysis Services, если применяемое решение OLAP требует следующих возможностей.
Клиентский доступ осуществляется через Интернет или экстрасеть, и имеются ограничения на открытие портов. Либо клиентские соединения поступают из недоверенных доменов в той же сети.
Клиентское приложение работает в сетевой среде, где разрешены соединения HTTP, но не разрешены TCP/IP.
Необходимо использование методов проверки подлинности, отличных от встроенной безопасности Windows. Сервер IIS поддерживает анонимные соединения и обычную проверку подлинности. Настройка конфигурации служб Analysis Services для доступа по протоколу HTTP позволяет использовать эти альтернативные методы проверки подлинности со службами Analysis Services.
Клиентские приложения не могут использовать клиентские библиотеки служб Analysis Services (в качестве примера можно указать приложение Java, запускаемое на сервере UNIX). Если нет возможности использования клиентских библиотек служб Analysis Services для доступа к данным, то можно задействовать для этого протоколы SOAP и XML/A для доступа по прямому HTTP-соединению к экземпляру служб Analysis Services.
В этом разделе описано, как настроить доступ по протоколу HTTP к экземпляру служб Analysis Services через IIS 7.0. Эти инструкции подходят для любого поддерживаемого выпуска или версии экземпляра OLAP служб Analysis Services, имеющего интерфейсы для работы с IIS 7.0, включая SQL Server 2008 R2, SQL Server 2008 и SQL Server 2005.
Этот раздел включает следующие подразделы:
Общие сведения
Скопируйте файл MSMDPUMP.dll в папку на веб-сервере
Создайте в IIS пул приложений и виртуальный каталог
Настройте в IIS проверку подлинности и добавьте расширение
Измените файл MSMDPUMP.INI, указав целевой сервер
Проверьте конфигурацию
Общие сведения
MSMDPUMP — это расширение ISAPI, которое загружается в IIS и обеспечивает перенаправление данных экземпляру служб Analysis Services, который находится на том же компьютере или на удаленном компьютере в том же домене. Необходимо создать и настроить по одному виртуальному каталогу для каждого экземпляра служб Analysis Services, к которому необходимо подключиться, причем в каждом из этих каталогов должен находиться свой собственный набор файлов MSMDPUMP. В файле конфигурации в каждом из наборов файлов MSMDPUMP указано имя экземпляра сервера служб Analysis Services, используемого для каждой конечной точки HTTP.
В IIS MSMDPUMP подключается к службам Analysis Services с помощью поставщика OLE DB служб Analysis Services по протоколу TCP/IP. Чтобы попытка создания собственного соединения оказалась удачной, и службы Analysis Services, и IIS должны работать либо в одном и том же домене, либо в разных, но доверенных доменах.
MSMDPUMP подключается к службам Analysis Services по удостоверению пользователя Windows. Эта учетная запись должна быть либо анонимной учетной записью (если настроен виртуальный каталог для анонимных соединений), либо учетной записью пользователя Windows. Эта учетная запись должна иметь соответствующие права доступа к данным на сервере и в базе данных служб Analysis Services.
Примечание |
---|
Не забывайте, что нужно разблокировать порты в брандмауэре Windows, чтобы он разрешал клиентские соединения с удаленным сервером служб Analysis Services. Дополнительные сведения см. в разделе настроить брандмауэр Windows для доступа к службам Analysis Services. |
В следующей таблице приведены дополнительные соображения о том, когда нужно разрешать доступ по протоколу HTTP в различных сценариях.
Сценарий |
Конфигурация |
---|---|
Службы Analysis Services и IIS размещены на одном и том же компьютере |
Это простейший вариант, поскольку в этом случае можно использовать конфигурацию по умолчанию (где именем сервера является localhost), локальный поставщик OLE DB служб Analysis Services и встроенную безопасность Windows с NTLM. Если предположить, что клиент также находится в том же домене, то проверка подлинности пользователя становится прозрачной для пользователя, а какая-либо дополнительная работа с вашей стороны не требуется. |
Службы Analysis Services и IIS размещены на разных компьютерах |
Для реализации этой топологии необходимо установить поставщик OLE DB для служб Analysis Services на веб-сервере. Кроме того, нужно изменить файл msmdpump.ini, указав в нем размещение экземпляра служб Analysis Services на удаленном компьютере. В этой топологии добавляется шаг проверки подлинности в два прохода, когда учетные данные передаются от клиента на веб-сервер, а затем на сервер базы данных служб Analysis Services. Если используются учетные данные Windows и NTLM, то возвращается ошибка, поскольку NTLM не допускает делегирования проверки учетных данных клиента второму серверу. Чаще всего применяется решение, при котором используется обычная проверка подлинности по протоколу SSL, но для этого нужно, чтобы пользователи указывали имя пользователя и пароль при обращении к виртуальному каталогу MSMDPUMP. Можно применить более прямолинейный подход, включив Kerberos и настроив ограниченное делегирование служб Analysis Services, чтобы пользователи могли производить прозрачный доступ к службам Analysis Services. Рассмотрим, какие порты нужно разблокировать в брандмауэре Windows. Необходимо открыть порты на обоих серверах, чтобы разрешить доступ к веб-приложению на IIS и к службам Analysis Services на удаленном сервере. |
Клиентские соединения поступают из недоверенных доменов или экстрасети. |
Клиентские соединения из недоверенных доменов требуют наложения дополнительных ограничений на проверку подлинности. По умолчанию в службах Analysis Services используется встроенная проверка подлинности Windows, которая требует, чтобы пользователь находился в том же домене, что и сервер. Если имеются пользователи экстрасети, которые подключаются к IIS из-за пределов домена, то для них будет возвращаться ошибка соединения, если сервер настроен на использование параметров по умолчанию. Один из выходов из этой ситуации состоит в том, что можно предусмотреть подключение пользователей экстрасети через виртуальную частную сеть с учетными данными домена. Но лучше всего включить обычную проверку подлинности и протокол SSL на конкретном веб-сайте IIS. |
Скопируйте файл MSMDPUMP.dll в папку на веб-сервере
В этом разделе описано, как скопировать исполняемый файл MSMDPUMP, файл конфигурации и файлы ресурсов из папок служб Analysis Services в папку виртуального каталога OLAP, созданную в файловой системе.
Диск должен быть отформатирован для работы с файловой системой NTFS. Путь к создаваемой папке не должен содержать пробелов.
На веб-сервере создайте следующий каталог: <диск>:\inetpub\wwwroot\olap
Скопируйте содержимое папки ISAPI на компьютер со службами Analysis Services во вновь созданную папку \inetpub\wwwroot\OLAP.
Папку ISAPI можно найти в следующем расположении: <диск>:\Program Files\Microsoft SQL Server\<экземпляр>\OLAP\bin\isapi. Она содержит следующие файлы и папку: файлы MSMDPUMP.DLL и MSMDPUMP.INI, а также папку Resources, в которой содержатся файлы языковых ресурсов.
Примечание Обратите внимание, что в последних выпусках SQL Server формат имени экземпляра был изменен. Если используется версия SQL Server 2008 R2, то экземпляр по умолчанию имеет имя MSAS10_50.MSSQLSERVER. Если используется предыдущая версия SQL Server, то имена экземпляров создаются последовательно в соответствии с порядком установки, где MSSQL.1 — первая установленная служба, MSSQL.2 — вторая и т. д. Возможно, придется просмотреть папки экземпляров, чтобы определить, в какой из них находятся программные файлы служб Analysis Services.
Убедитесь в том, что папка \inetpub\wwwroot\olap\isapi на веб-сервере содержит: файлы MSMDPUMP.DLL и MSMDPUMP.INI, а также папку Resources.
Создайте пул приложений и виртуальный каталог в IIS
Настройка доступа по протоколу HTTP начинается с создания пула приложений и виртуального каталога, который обеспечивает конечную точку для передачи данных.
Создайте пул приложений
Запустите диспетчер IIS. Нажмите кнопку Пуск, выберите команду Выполнить и введите Inetmgr.
Щелкните правой кнопкой Пулы приложений и выберите Добавить пул приложений. Создайте пул приложений OLAP, задав использование платформы .NET Framework v2.0.50727 и режим управляемого конвейера Классический.
По умолчанию IIS создает пул приложений, использующий в качестве удостоверения безопасности сетевую службу. Чтобы изменить удостоверение для только что созданного пула приложений, щелкните правой кнопкой мыши элемент OLAP и выберите Дополнительные параметры.
В удостоверении выберите встроенную учетную запись, заданную для IIS. В зависимости от используемой версии Windows это может быть элемент Сетевая служба (как показано на снимке экрана) или ApplicationPoolIdentity. Нажмите кнопку Изменить для этого свойства и замените встроенную учетную запись пользовательской учетной записью, которая должна использоваться.
По умолчанию в 64-разрядной версии операционной системы IIS устанавливает свойство Разрешить 32-разрядные приложения в значение false. Если вы скопировали файл msmdpump.dll из 64-разрядной версии служб Analysis Services, то это будет правильной настройкой для модуля MSMDPUMP на 64-разрядном сервере IIS. Если вы скопировали двоичные файлы MSMDPUMP из 32-разрядной установки, установите это свойство в значение true. Теперь проверьте это свойство, чтобы убедиться в том, что оно задано правильно.
Создайте виртуальный каталог
В диспетчере IIS откройте окно Веб-сайты, щелкните правой кнопкой мыши Веб-сайт по умолчанию (или веб-сайт, используемый для передачи данных) и выберите Добавить виртуальный каталог.
В качестве псевдонима введите OLAP.
В поле «Физический путь» нажмите кнопку обзора и перейдите к каталогу C:\inet\olapub\wwwroot\olap. Нажмите кнопку ОК.
Щелкните правой кнопкой вновь созданный виртуальный каталог OLAP и выберите команду Преобразовать в приложение.
В диалоговом окне «Добавление приложения» рядом с пулом приложений нажмите кнопку Выбор и выберите пул приложений OLAP, созданный в предыдущем разделе.
Дважды нажмите кнопку ОК, чтобы сохранить изменения и преобразовать приложение.
Настройте в службах IIS проверку подлинности и добавьте расширение
В этом разделе показано, как выполнить дальнейшую настройку вновь созданного виртуального каталога OLAP. Необходимо указать метод проверки подлинности, а затем добавить схему скриптов. Дополнительные сведения о методах проверки подлинности SharePoint 2010 см. в разделе Методы проверки подлинности IIS.
В диспетчере служб IIS откройте Веб-сайты, откройте Веб-сайт по умолчанию и выберите виртуальный каталог OLAP.
Дважды щелкните Проверка подлинности в разделе IIS на главной странице.
Если используется встроенная безопасность Windows, выберите пункт Проверка подлинности Windows.
Это наиболее безопасный и рекомендуемый режим, однако он требует предоставления IIS доступа к учетным данным пользователей домена через Microsoft Active Directory® или другой механизм. Если службы Analysis Services и IIS находятся на разных компьютерах, то необходимо включить Kerberos и настроить службы Analysis Services на использование ограниченного делегирования. Обсуждение всех возможных конфигураций выходит за рамки настоящего раздела.
Включите Обычную проверку подлинности, если клиентские и серверные приложения находятся в разных доменах. В этом режиме требуется ввод имени и пароля пользователем. Имя пользователя и пароль передаются в IIS через HTTP-соединение. IIS пытается произвести олицетворение пользователя по указанным учетным данным. Следует учитывать, что при построении системы, где пароль передается по каналу связи, необходимо предусмотреть способ защиты этого канала. IIS предусматривает набор средств, которые помогут защитить канал. Дополнительные сведения см. в разделе Как выполнить настройку SSL для работы с IIS 7.
Обычная проверка подлинности подходит в тех случаях, когда необходим сбор учетных данных с клиента, а пользователи получают доступ к веб-сайту через учетные данные, которые отличаются от их личных учетных записей входа Windows. Если выбрана обычная проверка подлинности, то IIS считывает для каждого запроса заголовок HTTP, чтобы определить имя пользователя и пароль. Не обнаружив действительных учетных данных, IIS передает клиенту ответ, в котором запрашиваются имя пользователя и пароль. Клиент предлагает пользователю ввести учетные данные, а затем кодирует их в Base64 для передачи на сервер. При этом учетные данные будут закодированы, но не зашифрованы, поэтому их передача небезопасна. Поэтому настоятельно рекомендуется использовать на веб-сайтах обычную проверку подлинности в сочетании с протоколом SSL для шифрования учетных данных, которые клиент передает серверу.
Отключите Анонимную проверку подлинности, если нужно обеспечить поддержку соединения через IUSR_<имя_компьютера>. Если анонимная проверка подлинности включена, то служба IIS будет всегда использовать ее в первую очередь, даже если включены другие методы проверки подлинности.
Если анонимная проверка подлинности включена, то необходимо убедиться в том, что учетная запись IUSR_<имя_компьютера> на конкретном веб-сервере имеет соответствующие разрешения доступа к данным в базе данных служб Analysis Services.
Если выбран этот режим, то средство передачи данных (msmdpump.dll) запускается от учетных данных пользователя IUSR_<имя_компьютера>. Таким образом, каждое соединение со службами Analysis Services устанавливается от имени пользователя IUSR_<имя_компьютера>. Если выбран этот режим, то нет никакого различия между пользователями, которые подключаются к IIS и службам Analysis Services. Этот режим в большей степени рассчитан на строго контролируемую среду, где пользователям предоставляется или запрещается доступ к виртуальному каталогу через списки управления доступом.
Щелкните виртуальный каталог OLAP, чтобы открыть главную страницу. Дважды щелкните Сопоставления обработчика.
Щелкните правой кнопкой мыши в любом месте страницы и выберите Добавить карту скриптов. В диалоговом окне «Добавление карты скриптов» укажите *.dll как путь запроса, задайте c:\inetpub\wwwroot\olap\msmdpump.dll в качестве исполняемого файла и введите значение имени OLAP.
Щелкните Ограничения запроса.
Проверьте, чтобы на вкладке «Команды» было выбрано Все команды. Нажмите кнопку OК, а затем еще раз кнопку OК, чтобы завершить добавление сопоставления скрипта.
Получив приглашение включить расширение ISAPI, нажмите кнопку Да.
Измените файл MSMDPUMP.INI, указав целевой сервер
Откройте файл msmdpump.ini в папке C:\inetpub\wwwroot\OLAP и изучите его содержимое. Оно должно иметь следующий вид:
<ConfigurationSettings>
<ServerName>localhost</ServerName>
<SessionTimeout>3600</SessionTimeout>
<ConnectionPoolSize>100</ConnectionPoolSize>
</ConfigurationSettings>
Если экземпляр служб Analysis Services, для которого настраивается доступ через HTTP, расположен на локальном компьютере и является экземпляром по умолчанию, этот параметр менять не нужно. В противном случае необходимо указать имя сервера (например, <ServerName>ADWRKS-SRV01</ServerName>). Для сервера, который установлен как именованный экземпляр, не забудьте добавить имя экземпляр (например, <имя_сервера>ADWRKS-SRV01\Tabular</ServerName>).
По умолчанию экземпляр компонента служб Analysis Services прослушивает TCP/IP-порт 2383. Если службы Analysis Services установлены в качестве экземпляра по умолчанию, то не нужно указывать порт в <ServerName>, поскольку службы Analysis Services автоматически будут прослушивать порт 2383. Тем не менее необходимо разрешить входящие соединения по этому порту в брандмауэре Windows. Дополнительные сведения см. в разделе настроить брандмауэр Windows для доступа к службам Analysis Services.
Если в конфигурации задан именованный экземпляр или экземпляр по умолчанию служб Analysis Services для прослушивания фиксированного порта, то необходимо добавить его номер к имени сервера (например, <ServerName>AW-SRV01:55555</ServerName>) и разрешить в брандмауэре Windows входящие соединения по этому порту.
Проверьте конфигурацию
Синтаксис строки подключения для MSMDPUMP определяется как URL к файлу MSMDPUMP.dll.
Если веб-приложение прослушивает фиксированный порт, добавьте его номер к имени сервера или IP-адресу (например, http://my-web-srv01:8080/olap/msmdpump.dll или http://123.456.789.012:8080/olap/msmdpump.dll).
Чтобы быстро проверить соединение, можно открыть его в Microsoft Excel или среде SQL Server Management Studio.
В Microsoft Excel в меню «Данные» выберите Соединения. В группе «Получить внешние данные» выберите Из других источников, затем Из служб Analysis Services. В поле «Имя сервера» введите HTTP-адрес расширения msmdpump: http://my-web-srv01/OLAP/msmdpump.dll.
В диалоговом окне «Подключение к серверу» среды Management Studio в качестве типа сервера выберите Службы Analysis Services. В поле «Имя сервера» введите HTTP-адрес расширения msmdpump: http://my-web-srv01/OLAP/msmdpump.dll.
Обязательно проведите наиболее строгую проверку с использованием действующего клиентского компьютера, работающего в сетевой среде, из которой исходят соединения. Не забудьте предоставить соответствующие разрешения доступа к серверу служб Analysis Services (IUSR_<имя_компьютера>, если разрешены анонимные соединения, или идентификаторы Windows для пользователей, которые подключаются к MSMDPUMP с помощью IIS).
См. также