WebSSO

Um viele universitäre Dienste nutzen zu können, brauchen sich FAU-Angehörige seit mittlerweile acht Jahren nur noch einmal über WebSSO, den zentralen Anmeldedienst der FAU, anzumelden. Weitere Anmeldevorgänge bei den unterschiedlichen Diensten und Applikationen erfordern danach keine weitere Interaktion mit dem Benutzer.

WebSSO ermöglicht also eine zentrale Authentifizierung und Autorisierung von webbasierten Ressourcen. Das System besteht im Wesentlichen aus zwei miteinander kommunizierenden Modulen:

  • Identity Provider (IdP)
  • Service Provider (SP)

Der IdP ist für die Authentifizierung und die Bereitstellung von Attributen verantwortlich. Dies erfolgt über die Provisionierung eines Datenbank-Servers, der als Authentifizierungs- und Attributquelle für den IdP dient. Dieser Server enthält die von den SPs benötigten Attribute. Ein am IdP authentifizierter Benutzer, kann die Ressourcen aller angeschlossenen SPs nutzen, ohne sich erneut authentifizieren zu müssen. Vom IdP gibt es nur eine zentrale Instanz, diese ist unter www.sso.uni-erlangen.de zu erreichen.

Die vom IdP weitergegebenen Attribute, werden für jeden SP einzeln festgelegt. Vorbedingung für eine Anbindung ist, das eine aktuelle und freigegebene Verfahrensbeschreibung vorliegt. Die Anbindung der SPs erfolgt unter Beachtung des Gebots der Datensparsamkeit. Der Zugriff auf den zentralen IdP von außen ist nur über den verschlüsselten HTTPS-Port erreichbar. Dieser dient zur Kommunikation mit den Benutzern, wie z. B. bei der Authentifizierung.

Der SP ist für die ihm zugeordneten Ressourcen (Webanwendung) verantwortlich. Für jeden Server, auf dem eine Webanwendung das WebSSO nutzen soll, muss also ein SP installiert sein. Die Entscheidung über einen erfolgreichen Zugriff trifft der SP aufgrund der Aussagen des IdP. D. h. anhand der vom IdP erhaltenen Attribute, entscheidet der SP, auf welche Ressourcen der Benutzer zugreifen kann. Einem authentifizierten Benutzer kann natürlich auch der komplette Zugriff, aufgrund fehlender Attribute, verwehrt werden.

Generell kann jede Webanwendung an das WebSSO angeschlossen werden. Dabei kommuniziert diese nicht direkt mit dem zentralen Identity Provider (IdP), sonderen mit einem lokal installierten Service-Provider (SP).

Wir unterstützen im Moment zwei Implementierungen von SPs unter Linux:

Der Shibboleth-SP kommt als Daemon inkl. Apache-Module. Diese Variante kann von allen Webanwendungen, welche den Apache-Webserver einsetzen, verwendet werden.

Der SP von simpleSAMLphp kommt als PHP-Anwendung. Einzige Voraussetzung ist somit ein PHP-fähiger Webserver, wobei wir Unterstützung für den Apache-Webserver anbieten können. Diese Variante kann allerdings nur von PHP-Webanwendungen genutzt werden, da die Nutzung nur über eine PHP-API möglich ist.

Beide Implementierung müssen nach erfolgreicher Installation entsprechend konfiguriert werden. Danach muss der neue SP beim zentralen IdP registriert werden. In dieser Phase müssen auch die zu übergebenen Attribute definiert werden.

Um Webanwendungen der FAU an WebSSO anbinden zu können ist es wichtig, dass sie mittels einer Verfahrensbeschreibung vom Datenschutzbeauftragten freigegeben worden sind. Dazu notwendig ist eine Verfahrensbeschreibung. Diese muss samt der Freigabe des Datenschutzbeauftragten beim WebSSO-Betreiber vorliegen, um die Anbindung genehmigen zu können.

Weiterhin ist es der Universitätsleitung ein Anliegen, bei Webanwendungen der FAU auf das sogenannte Consent-Modul zu verzichten. Die Datenschutzfreigabe ist dabei eine Grundvoraussetzung.

Consent-Modul WebSSO
Consent-Modul zur Abfrage der Zustimmung für die Attributsübermittlung bei WebSSO

Weiterhin ist es für die Anmedlung über WebSSO ohne Consent-Modul notwendig, in der Verfahrensbeschreibung die Attribute anzugeben, die vom IdP an den SP übermittelt werden sollen. In dem oben genannten Beispiel wären das

  • Nachname
  • E-Mail-Adresse
  • Vorname
  • EduPersonEntitlement
  • Geschlecht

Folgende Daten werden für die Anbindung an WebSSO zusätzlich vom SP benötigt:

  • Name, Telefonnummer, E-Mail-Adresse des technischen Ansprechpartners (=Administrator)
  • Name des Systems / der Webanwendung (Entity-ID)
  • Beschreibung des Systems / der Webanwendung
  • Metadaten der Webanwendung im php-Format (oder URL der Metadaten)