Home       Servicebereich  Projekte  Kontakt  

Begriffsbestimmungen

Unter Single Sign-On (SSO) versteht man, dass sich der Anwender an einer zentralen Komponente im Netzwerk anmelden kann. Nach erfolgreicher Authentisierung hat er auf alle Ressourcen im Netzwerk Zugriff, für die er die entsprechenden Berechtigungen besitzt.

Single Sign-On ist nicht mit einer zentralen Verwaltung der Benutzeraccounts zu verwechseln. Bei einem solchen Setup werden ausschliesslich die Accountdaten mit Hilfe eines zentralen Dienstes, wie z.B. ein LDAP Verzeichnis verwaltet. Der Benutzer kann sich an allen geeigneten Diensten im Netzwerk mit den gleichen Authentisierungsdaten (z.B. Benutzername und Passwort) anmelden. Allerdings muss er sich an jeder Anwendung gesondert authentisieren.
Eine Single Sign-On Lösung geht jedoch noch einen Schritt weiter. Hier muss sich der Benutzer bei Zugriff auf eine Anwendung nicht erneut authentisieren. Die Authentisierung wird direkt vom System ohne weiteren Handlungsbedarf des Benutzers durchgeführt.

Single Sign On wird in der Regel auf Betriebssystem-Ebene implementiert. Beispiele hierfür sind:

Single Sign-On bezeichnet also eine zentrale Verwaltung der Autorisierung von Zugriffen. Der Client schickt bei jedem Zugriff auf eine Netzwerkressource oder -Applikation ein Token mit, aus dem der jeweilige Dienst ermitteln kann, ob eine Zugriffsberechtigung für die jeweilige Ressource besteht.

Die detaillierte Ermittlung der Autorisierung der einzelnen Aktion wird von der Applikation selbst abgehandelt. Dieser Vorgang kann und sollte nicht unbedingt zentralisiert werden um Abhängigkeiten von der Implementierung der zentralen Sessionverwaltung zu vermeiden.

Single Sign-On für Intranet-Applikationen

Im Intranet werden in der Regel Webapplikationen eingesetzt. Falls es die Lizenzbedingungen zulassen (wie es bei OpenSource Software im Sinne von "freier Software" die Regel ist) kann die Sessionverwaltung der jeweiligen Applikation entsprechend angepasst werden.

Alternativ zur Anpassung der einzelnen Applikationen kann auch mit Hilfe eines zentralen Dienstes gearbeitet werden. Dieser prüft vor jedem Zugriff auf eine Applikation ob der Anwender am Intranet angemeldet. Im Falle eines ungültigen Zugriffs wird der Zugriff blockiert und der Anwender zur Anmeldung aufgefordert.

Ein solches Dienst kann mit geringem Aufwand mit Hilfe eines zentralen Webservers implementiert werden. Hierbei bietet sich der Apache aufgrund seines modularen Aufbaus an.
Für die zentrale Authentisierungsverwaltung wird ein Modul benötigt, welches bei jedem Zugriff das Token extrahiert und die Berechtigung des Zugriffs ermittelt. Die Entwicklung eines solchen Moduls lässt sich mit geringem Aufwand durchführen. Die Programmierung des Moduls kann neben der Sprache C auch in Perl oder Python erfolgen, wenn das entsprechende Interpreter-Modul in den Apache konfiguriert wird.

Ein Beispiel für die Implementierung eines Single Sign-On Konzepts ist hier zu finden. Das Beispiel zeigt ein rudimentäres mod_perl Modul mit Anbindung an die Sessionverwaltung des Groupwaresystems Open-Xchange.

< zurück