Konfigurowanie uwierzytelniania Shibboleth

W tej sekcji opisany został sposób konfigurowania uwierzytelniania Shibboleth umożliwiający korzystanie z systemu Service Desk lub Asset Manager z polityką logowania Tylko Shibboleth.

Bardziej szczegółowe informacje o konfigurowaniu uwierzytelniania Shibboleth można znaleźć w dokumentacji systemu Shibboleth.

System Shibboleth składa się z dwóch elementów:

  • Dostawca tożsamości — aplikacja sieci web skonfigurowana do komunikacji z usługą Active Directory. Wyświetla stronę logowania w sieci web, na której można wprowadzić odpowiednie poświadczenia, oraz potwierdza tożsamość w skonfigurowanych systemach.
  • Dostawca usługi — dodatek do serwera sieci web (na przykład IIS lub Apache) skonfigurowany do ochrony pewnych ścieżek w witrynie sieci web (na przykład /ServiceDesk.WebAccess). Przekierowuje użytkowników do używanego dostawcy tożsamości w celu logowania, a następnie przekazuje informacje o tożsamości użytkownika z powrotem do aplikacji sieci web, dodając nagłówki do żądania HTTP. Dostawca usługi i dostawca tożsamości nie muszą komunikować się bezpośrednio, ale są skonfigurowani w taki sposób, aby ufać sobie wzajemnie. Przeglądarka internetowa użytkownika musi mieć dostęp do obu.

Jeśli używany jest serwer IIS, należy zadbać o to, aby na serwerze sieci web zainstalowana była funkcja systemu Windows Zgodność z narzędziami zarządzania usługami IIS w wersji 6.

W poniższych przykładach używane są adresy przykładowe. Należy pamiętać, aby je zastąpić własnymi wartościami.

Łączenie z wewnętrznym dostawcą tożsamości

Pierwszym krokiem jest nawiązanie połączenia z wewnętrznym dostawcą tożsamości.

Aby nawiązać połączenie z wewnętrznym dostawcą tożsamości:

  1. Przejdź na stronę https://localhost/Shibboleth.sso/Metadata na używanym serwerze sieci web, aby pobrać plik XML zawierający szczegółowe informacje o dostawcy usługi.
  2. Zapisz go pod unikalną nazwą używanego dostawcy usługi.
  3. Na serwerze Shibboleth skopiuj plik XML z poprzedniego kroku do katalogu C:\Program Files (x86)\Shibboleth\IdP\metadata.
  4. Otwórz plik C:\Program Files (x86)\Shibboleth\IdP\conf\metadata-providers.xml w edytorze tekstów.
  5. W miejscu wskazanym przez odpowiedni komentarz dodaj podobny do poniższego wiersz z unikalnym identyfikatorem i ścieżką do pliku metadanych:
Copy
<MetadataProvider id="LocalMetadataUNIQUEID" xsi:type="FilesystemMetadataProvider" metadataFile="%{idp.home}/metadata/example.com.xml"/>
  1. Zapisz i zamknij ten plik.
  2. Uruchom ponownie usługę Shibboleth 3 IdP Daemon, a następnie zamknij połączenie z serwerem.
  3. Na serwerze sieci web przejdź do katalogu C:\Program Files\Shibboleth\etc\shibboleth i otwórz plik shibboleth2.xml.
  4. W sekcji <Sessions> zastąp znacznik <SSO> podobnym do następującego:
Copy
<SSO entityID="https://www.example.com/idp/shibboleth"> SAML2 SAML1</SSO>
  1. W sekcji <ApplicationDefaults> dodaj znacznik <MetadataProvider>:
Copy
<MetadataProvider type="XML"
    uri="https://www.example.com/idp/shibboleth"
    backingFilePath="lab-shib01-idp-metadata.xml"
    reloadInterval="180000"/>
  1. Zapisz plik, a następnie uruchom ponownie serwer IIS oraz usługę Shibboleth 2 Daemon (domyślna).

U dołu listy zmiennych serwera występują pewne wartości związane z uwierzytelnianiem Shibboleth, w tym HTTP_EPPN, która potwierdza nazwę zalogowanego użytkownika.

Więcej informacji o sesjach można znaleźć na stronie https://webserver/Shibboleth.sso/Session.

Zmienianie nazwy zmiennej serwera na HTTP_LANDESK_USER

Domyślny nagłówek oczekiwany przez aplikacje systemów Service Desk i Asset Manager dla nazwy zalogowanego użytkownika to HTTP_LANDESK_USER. Można go przesłonić w pliku tps.config w taki sposób, aby był zgodny z domyślnym (patrz sekcja Konfigurowanie komponentu Web Access do użycia innej zmiennej serwera), lub można ponownie skonfigurować uwierzytelnianie Shibboleth.

Konfigurowanie oraz ochrona systemów Ivanti Service Desk i Asset Manager

Po powiązaniu użytkowników systemów Service Desk i Asset Manager z identyfikatorem sieciowym za pomocą komponentu Administracja w konsoli i po skonfigurowaniu polityki logowania w sposób opisany w sekcji Ustawianie polityki logowania można zabezpieczyć instancję komponentu Web Access.

Aby zabezpieczyć instancję komponentu Web Access:

  1. Przejdź do katalogu C:\Program Files\Shibboleth\etc\shibboleth i otwórz plik shibboleth2.xml.
  2. W sekcji <Host> dodaj nowy znacznik <Path> zawierający nazwę instancji komponentu Web Access:
Copy
<Host name="hd37f6c6dv3ctrh.example.com">
    <Path name="secure" authType="shibboleth" requireSession="true"/>
    <Path name="ServiceDesk.WebAccess" authType="shibboleth"
        requireSession="true"/>
</Host>
  1. Zapisz plik, a następnie uruchom ponownie serwer IIS oraz usługę Shibboleth 2 Daemon (domyślna).
  2. Przejdź na stronę https://webserver/ServiceDesk.WebAccess.
    Użytkownik jest zalogowany.

Komponent Web Access szuka wartości HTTP_LANDESK_USER w dwóch miejscach. Najpierw w nagłówkach HTTP zapełnianych przez dostawcę usługi Shibboleth. Następnie w łańcuchu zapytania adresu URL. W ten sposób można przetestować uwierzytelnianie Shibboleth bez pełnej konfiguracji zintegrowanego środowiska.

Aby przetestować komponent Web Access przy użyciu łańcucha zapytania adresu URL, należy przejść na stronę: https://webserver/ServiceDesk/WebAccess/[email protected].

Jest to nieskuteczne w zintegrowanym środowisku Shibboleth. Dostawca usługi przekierowuje użytkownika do strony logowania dostawcy tożsamości i zapełnia nagłówek HTTP, który ma pierwszeństwo przed wartością adresu URL.

Konfigurowanie komponentu Web Access do użycia innej zmiennej serwera

Zamiast ponownie konfigurować uwierzytelnianie Shibboleth w taki sposób, aby używany był atrybut o nazwie HTTP_LANDESK_USER, można ponownie skonfigurować komponent Web Access do użycia domyślnej nazwy atrybutu HTTP_EPPN.

Aby skonfigurować komponent Web Access do użycia innej zmiennej serwera:

  1. Otwórz plik tps.config związany z komponentem Web Access i dodaj wiersz:
Copy
<add key="ShibbolethHeaderId" value="HTTP_EPPN" />
  1. Wyłącz i włącz pulę aplikacji używaną przez komponent Web Access.