Konfigurieren der Shibboleth-Authentifizierung

In diesem Abschnitt wird beschrieben, wie Shibboleth konfiguriert wird, sodass Sie Service Desk oder Asset Manager mit der Anmelderichtlinie Nur Shibboleth nutzen können.

Weitere Details und spezifische Informationen zum Konfigurieren von Shibboleth finden Sie in der Shibboleth-Dokumentation.

Shibboleth besteht aus zwei Teilen:

  • Ein Identity Provider (IdP) – Eine Webanwendung, die so konfiguriert ist, dass sie mit Active Directory kommuniziert. Die Anwendung zeigt eine Ameldeseite an, auf der die entsprechenden Anmeldeinformationen eingegeben werden können, und überprüft Ihre Identität mit den konfigurierten Systemen.
  • Ein Service Provider (SP) – Ein Zusatzprogramm für Ihren Webserver (z. B. IIS oder Apache), das so konfiguriert ist, dass bestimmte Website-Pfade geschützt werden (z. B. /ServiceDesk.WebAccess). Es leitet Benutzer zur Anmeldung an Ihren IdP und gibt dann - mithilfe eines der HTTP-Anforderung hinzugefügten Headers - Informationen über die Identität der Benutzer an Ihre Webanwendung weiter. SP und IdP müssen nicht direkt miteinander kommunizieren. Doch müssen sie so konfiguriert werden, dass sie sich gegenseitig vertrauen. Für den Webbrowser des Benutzers müssen beide sichtbar sein.

Wenn Sie IIS verwenden, müssen Sie sicherstellen, dass das Windows-Feature IIS 6-Verwaltungskompatibilität auf dem Webserver installiert ist.

Die folgenden Beispiele enthalten Beispieladressen. Denken Sie daran, diese Adressen durch Ihre eigenen Werte zu ersetzen

Herstellen einer Verbindung zu Ihrem internen IdP

Der erste Schritt ist, ei ne Verbindung zu Ihrem internen IdP herzustellen.

So stellen Sie eine Verbindung zum internen IdP her:

  1. Wechseln Sie auf Ihrem Webserver zu https://localhost/Shibboleth.sso/Metadata, um eine XML-Datei herunterzuladen, die detaillierte Informationen über den SP enthält.
  2. Speichern Sie diese Datei mit einem eindeutigen Namen für Ihren SP.
  3. Auf Ihrem Shibboleth-Server kopieren Sie dann die XML-Datei aus dem vorherigen Schritt nach C:\Programme (x86)\Metadaten Shibboleth IdP.
  4. Öffnen Sie die Datei C:\Programme(x86)\Shibboleth\IdP\conf\metadata-providers.xml in einem Texteditor.
  5. Fügen Sie an der durch einen Kommentar angegebenen Stelle wie folgt eine Zeile mit einer eindeutigen ID und einem Pfad zu Ihrer Metadatendatei ähnlich dem Folgenden ein:
Kopieren
<MetadataProvider id="LocalMetadataUNIQUEID" xsi:type="FilesystemMetadataProvider" metadataFile="%{idp.home}/metadata/example.com.xml"/>
  1. Speichern Sie die Datei und schließen Sie sie.
  2. Starten Sie den Dienst Shibboleth IdP 3 Daemon neu, und trennen Sie dann die Verbindung zum Server.
  3. Navigieren Sie auf Ihrem Webserver zu C:\Programme\Shibboleth\etc\shibboleth und öffnen Sie die Datei shibboleth2.xml.
  4. Ersetzen Sie im Abschnitt <Sessions> das Tag <SSO> durch einen Eintrag ähnlich dem Folgenden:
Kopieren
<SSO entityID="https://www.example.com/idp/shibboleth"> SAML2 SAML1</SSO>
  1. Fügen Sie im Abschnitt <ApplicationDefaults> ein Tag <MetadataProvider> hinzu:
Kopieren
<MetadataProvider type="XML"
    uri="https://www.example.com/idp/shibboleth"
    backingFilePath="lab-shib01-idp-metadata.xml"
    reloadInterval="180000"/>
  1. Speichern Sie die Datei, und starten Sie dann den Dienst IIS Shibboleth 2 Daemon (Standard) neu.

Am Ende der Liste der Servervariablen stehen einige Werte, die sich auf Shibboleth beziehen. Darunter auch HTTP_EPPN, womit der angemeldete Benutzername bestätigt wird.

Weitere Informationen zur Sitzung finden Sie unter https://webserver/Shibboleth.sso/Session.

Ändern des Servervariablennamens in HTTP_LANDESK_USER

Der von Service Desk- und Asset Manager-Anwendungen standardmäßig erwartete Header für angemeldete Benutzernamen lautet HTTP_LANDESK_USER. Diesen Eintrag können Sie in der Datei tps.config überschreiben, damit er dem Standard entspricht (siehe Konfigurieren von Web Access für eine andere Servervariable). Alternativ können Sie auch Shibboleth umkonfigurieren.

Konfigurieren und Schützen von Service Desk und Asset Manager

Wenn Sie die Service Desk- und Asset Manager-Benutzer über die Komponente Administration in der Konsole mit einer Netzwerkanmeldung verknüpft haben und die Anmelderichtlinie wie in Die Anmelderichtlinie festlegen festlegen, können Sie Ihre Web Access-Instanz schützen.

So schützen Sie die Web Access-Instanz:
  1. Navigieren Sie zu C:\Programme\Shibboleth\etc\shibboleth und öffnen Sie die Datei shibboleth2.xml.
  2. Fügen Sie im Abschnitt <Host> ein neues Tag <Path> mit dem Namen Ihrer Web Access-Instanz hinzu:
Kopieren
<Host name="hd37f6c6dv3ctrh.example.com">
    <Path name="secure" authType="shibboleth" requireSession="true"/>
    <Path name="ServiceDesk.WebAccess" authType="shibboleth"
        requireSession="true"/>
</Host>
  1. Speichern Sie die Datei, und starten Sie dann den Dienst IIS Shibboleth 2 Daemon (Standard) neu.
  2. Navigieren Sie zu https://webserver/ServiceDesk.WebAccess.
    Sie sind eingeloggt.

Web Access sucht an zwei Stellen nach dem Wert HTTP_LANDESK_USER. Zunächst wird in den HTTP-Headern gesucht, die vom Shibboleth-SP gefüllt werden.Danach wird in der URL-Abfragezeichenfolge gesucht, mit der Sie die Shibboleth-Authentifizierung testen können, ohne eine vollständig integrierte Umgebung eingerichtet zu haben.

Zum Testen von Web Access unter Verwendung der URL-Abfragezeichenfolge navigieren Sie zu: https://webserver/ServiceDesk/WebAccess/[email protected].

Dies hat in einer integrierten Schibboleth-Umgebung keine Auswirkung. Der SP leitet Sie weiterhin zur IdP-Anmeldeseite und füllt den HTTP-Header, der Vorrang vor dem URL-Wert hat.

Konfigurieren von Web Access für eine andere Servervariable

Anstatt Shibboleth so neu zu konfigurieren, dass der Attributname HTTP_LANDESK_USER verwendet wird, können Sie Web Access so neu konfigurieren, dass der Standard-Attributname HTTP_EPPN genutzt wird.

So konfigurieren Sie Web Access für eine andere Servervariable:

  1. Öffnen Sie die Datei tps.config für Web Access und fügen Sie die folgende Zeile hinzu:
Kopieren
<add key="ShibbolethHeaderId" value="HTTP_EPPN" />
  1. Verwenden Sie den von Web Access genutzten Anwendungspool wieder.