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:
- 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.
- Zapisz go pod unikalną nazwą używanego dostawcy usługi.
- Na serwerze Shibboleth skopiuj plik XML z poprzedniego kroku do katalogu C:\Program Files (x86)\Shibboleth\IdP\metadata.
- Otwórz plik C:\Program Files (x86)\Shibboleth\IdP\conf\metadata-providers.xml w edytorze tekstów.
- W miejscu wskazanym przez odpowiedni komentarz dodaj podobny do poniższego wiersz z unikalnym identyfikatorem i ścieżką do pliku metadanych:
<MetadataProvider id="LocalMetadataUNIQUEID" xsi:type="FilesystemMetadataProvider" metadataFile="%{idp.home}/metadata/example.com.xml"/>
- Zapisz i zamknij ten plik.
- Uruchom ponownie usługę Shibboleth 3 IdP Daemon, a następnie zamknij połączenie z serwerem.
- Na serwerze sieci web przejdź do katalogu C:\Program Files\Shibboleth\etc\shibboleth i otwórz plik shibboleth2.xml.
- W sekcji <Sessions> zastąp znacznik <SSO> podobnym do następującego:
<SSO entityID="https://www.example.com/idp/shibboleth"> SAML2 SAML1</SSO>
- W sekcji <ApplicationDefaults> dodaj znacznik <MetadataProvider>:
<MetadataProvider type="XML"
uri="https://www.example.com/idp/shibboleth"
backingFilePath="lab-shib01-idp-metadata.xml"
reloadInterval="180000"/>
- 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:
- Przejdź do katalogu C:\Program Files\Shibboleth\etc\shibboleth i otwórz plik shibboleth2.xml.
- W sekcji <Host> dodaj nowy znacznik <Path> zawierający nazwę instancji komponentu Web Access:
<Host name="hd37f6c6dv3ctrh.example.com">
<Path name="secure" authType="shibboleth" requireSession="true"/>
<Path name="ServiceDesk.WebAccess" authType="shibboleth"
requireSession="true"/>
</Host>
- Zapisz plik, a następnie uruchom ponownie serwer IIS oraz usługę Shibboleth 2 Daemon (domyślna).
- 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:
- Otwórz plik tps.config związany z komponentem Web Access i dodaj wiersz:
<add key="ShibbolethHeaderId" value="HTTP_EPPN" />
- Wyłącz i włącz pulę aplikacji używaną przez komponent Web Access.