Конфигурация аутентификации 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:

  1. Перейдите на страницу https://localhost/Shibboleth.sso/Metadata на вашем веб-сервере для загрузки файла XML, который содержит подробную информацию о поставщике услуг SP.
  2. Сохраните его с уникальным именем для вашего SP.
  3. На вашем сервере Shibboleth скопируйте файл XML из предыдущего действия в папку C:\Program Files (x86)\Shibboleth\IdP\metadata.
  4. Откройте файл C:\Program Files (x86)\Shibboleth\IdP\conf\metadata-providers.xml в текстовом редакторе.
  5. Там, где это указано в комментариях, добавьте строку с уникальным идентификатором и путь к вашему файлу метаданных:
Копировать
<MetadataProvider id="LocalMetadataUNIQUEID" xsi:type="FilesystemMetadataProvider" metadataFile="%{idp.home}/metadata/example.com.xml"/>
  1. Сохраните и закройте файл.
  2. Перезапустите службу Shibboleth 3 IdP Daemon, а затем выполните отключение от сервера.
  3. На вашем веб-сервере перейдите в папку C:\Program Files\Shibboleth\etc\shibboleth и откройте файл shibboleth2.xml.
  4. В разделе <Sessions> замените тег <SSO> на подобный следующему:
Копировать
<SSO entityID="https://www.example.com/idp/shibboleth"> SAML2 SAML1</SSO>
  1. В разделе <ApplicationDefaults> добавьте тег <MetadataProvider> в строку:
Копировать
<MetadataProvider type="XML"
    uri="https://www.example.com/idp/shibboleth"
    backingFilePath="lab-shib01-idp-metadata.xml"
    reloadInterval="180000"/>
  1. Сохраните файл, а затем перезапустите 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:

  1. Перейдите в папку C:\Program Files\Shibboleth\etc\shibboleth и откройте файл shibboleth2.xml.
  2. В разделе <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>
  1. Сохраните файл, а затем перезапустите IIS и службу Shibboleth 2 Daemon (по умолчанию).
  2. Перейдите на страницу 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 для использования других переменных сервера:

  1. Откройте файл tps.config для приложения Web Access и добавьте следующую строку:
Копировать
<add key="ShibbolethHeaderId" value="HTTP_EPPN" />
  1. Перезапустите пул приложений, которые используются Web Access.