Конфигурация аутентификации Shibboleth
В этом разделе представлен процесс конфигурации Shibboleth для дальнейшего использования приложения Service Desk или Asset Manager с политикой входа Только Shibboleth.
Для получения более подробной и конкретной информации о конфигурации см. документацию к Shibboleth.
Программное обеспечение Shibboleth состоит из двух частей:
- Identity Provider (IdP) – Веб-приложение, сконфигурированное для взаимодействия с Active Directory. Оно отображает веб-страницу входа для ввода соответствующих учетных данных и подтверждения вашей подлинности в сконфигурированных системах.
- Service Provider (SP) – Дополнительный модуль для вашего веб-сервера (например, IIS или Apache), который сконфигурирован для защиты определенных частей веб-сайта (таких как /ServiceDesk.WebAccess). Он перенаправляет пользователей в веб-приложение IdP для входа и последующей передачи информации их идентификационных данных назад в веб-приложение посредством добавления заголовков в HTTP-запросы. Компонентам SP и IdP не требуется непосредственное взаимодействие между собой, но они должны быть сконфигурированы для обеспечения доверия друг другу. Браузер пользователя должен иметь доступ к ним обоим.
Если вы используете IIS, убедитесь, что на вашем веб сервере установлен компонент IIS 6 Management Compatibility Windows.
В последующих примерах представлены некоторые адреса. Не забудьте заменить из своими собственными значениями.
Подключение к вашему внутреннему IdP
Первым действием является подключение к вашему внутреннему IdP.
Для подключения к вашему внутреннему IdP:
- Перейдите на страницу https://localhost/Shibboleth.sso/Metadata на вашем веб-сервере для загрузки файла XML, который содержит подробную информацию о поставщике услуг SP.
- Сохраните его с уникальным именем для вашего SP.
- На вашем сервере Shibboleth скопируйте файл XML из предыдущего действия в папку C:\Program Files (x86)\Shibboleth\IdP\metadata.
- Откройте файл C:\Program Files (x86)\Shibboleth\IdP\conf\metadata-providers.xml в текстовом редакторе.
- Там, где это указано в комментариях, добавьте строку с уникальным идентификатором и путь к вашему файлу метаданных:
<MetadataProvider id="LocalMetadataUNIQUEID" xsi:type="FilesystemMetadataProvider" metadataFile="%{idp.home}/metadata/example.com.xml"/>
- Сохраните и закройте файл.
- Перезапустите службу Shibboleth 3 IdP Daemon, а затем выполните отключение от сервера.
- На вашем веб-сервере перейдите в папку C:\Program Files\Shibboleth\etc\shibboleth и откройте файл shibboleth2.xml.
- В разделе <Sessions> замените тег <SSO> на подобный следующему:
<SSO entityID="https://www.example.com/idp/shibboleth"> SAML2 SAML1</SSO>
- В разделе <ApplicationDefaults> добавьте тег <MetadataProvider> в строку:
<MetadataProvider type="XML"
uri="https://www.example.com/idp/shibboleth"
backingFilePath="lab-shib01-idp-metadata.xml"
reloadInterval="180000"/>
- Сохраните файл, а затем перезапустите IIS и службу Shibboleth 2 Daemon (по умолчанию).
В нижней части списка переменных сервера представлены некоторые значения, связанные с Shibboleth, в число которых входит HTTP_EPPN, подтверждающая наличие в системе имени пользователя.
Для получения подробной информации о сеансе см. страницу https://webserver/Shibboleth.sso/Session.
Изменение переменной имени сервера на HTTP_LANDESK_USER
По умолчанию приложения Service Desk и Asset Manager для имени вошедшего в систему пользователей ожидают заголовок HTTP_LANDESK_USER. Вы можете изменить его в файле tps.config для приведения в соответствие значения по умолчанию (см. раздел Конфигурация Web Access для использования другой переменной сервера) или вы можете выполнить повторную конфигурацию Shibboleth.
Конфигурация и защита приложений Service Desk и Asset Manager
Когда вы выполните ассоциацию своих пользователей Service Desk и Asset Manager с именами сетевого входа с использованием компонента консоли Администрирование, и также выполните настройку политики входа, как это представлено в разделе Настройка политики входа, вы сможете защитить свой экземпляр приложения Web Access.
Для защиты экземпляра Web Access:
- Перейдите в папку C:\Program Files\Shibboleth\etc\shibboleth и откройте файл shibboleth2.xml.
- В разделе <Host> добавьте новый тег <Path> с именем вашего экземпляра Web Access:
<Host name="hd37f6c6dv3ctrh.example.com">
<Path name="secure" authType="shibboleth" requireSession="true"/>
<Path name="ServiceDesk.WebAccess" authType="shibboleth"
requireSession="true"/>
</Host>
- Сохраните файл, а затем перезапустите IIS и службу Shibboleth 2 Daemon (по умолчанию).
- Перейдите на страницу https://webserver/ServiceDesk.WebAccess.
Вы уже вошли в систему.
Приложение Web Access открывает значение HTTP_LANDESK_USER в двух местах. Во-первых, оно проверяет HTTP-заголовки, заполняемые поставщиком услуг Shibboleth (SP). Затем оно открывает строку URL-запроса — именно так вы можете протестировать аутентификацию Shibboleth без полной настройки всей интегрированной среды.
Для тестирования приложения Web Access с использованием строки URL-запроса перейдите на страницу: https://webserver/ServiceDesk/WebAccess/[email protected].
Это никак не повлияет на интегрированную среду Shibboleth. Поставщик услуг SP по-прежнему выполняет перенаправление на страницу входа IdP и заполняет заголовок HTTP, который используется вместо значения URL-адреса.
Конфигурация Web Access для использования другой переменной сервера
Вместо повторной конфигурации Shibboleth для использования имени атрибута HTTP_LANDESK_USER вы можете выполнить повторную конфигурацию Web Access для использования имени атрибута по умолчанию — HTTP_EPPN.
Для конфигурации Web Access для использования других переменных сервера:
- Откройте файл tps.config для приложения Web Access и добавьте следующую строку:
<add key="ShibbolethHeaderId" value="HTTP_EPPN" />
- Перезапустите пул приложений, которые используются Web Access.