Das Web-SSO-Szenario

Web SSO steht für Web Single Sign-On. Die Idee ist, dass ein Benutzer mit einer Authentifizierung auf mehrere Systeme zugreifen kann. In den meisten Fällen werden die Web-SSO-Anforderungen mit Hilfe spezialisierter Systeme gelöst, die die Authentifizierung unterschiedlicher Webanwendungen durchführen können. Die ADFS-Lösung ist dagegen weniger flexibel.

Für viele Szenarien ist eine ADFS-Lösung vollkommen ausreichend. Solange als Backend nur mit Anwendungen auf Basis des IIS gearbeitet wird, braucht man keine Web SSO-Lösung mit Unterstützung heterogener Umgebungen.

Das Szenario

Das Szenario für Web-SSO ist relativ einfach (Bild 1): Für den Verzeichnisdienst für die Authentifizierung von Benutzern kann das Active Directory oder ADAM eingesetzt werden. Über einen Client wird auf einen oder mehrere Webserver zugegriffen. Und es gibt einen Federation-Server, der sowohl für die Authentifizierung als auch die Autorisierung des Ressourcenzugriffs verwendet wird.

Bild 1: Der Aufbau einer Web-SSO-Lösung mit den ADFS.
Bild 1: Der Aufbau einer Web-SSO-Lösung mit den ADFS.

Im einfachsten Szenario stehen alle Systeme bis auf den Client innerhalb eines Netzwerks, also entweder im internen Netzwerk oder in der DMZ (Demilitarisierte Zone der Firewall-Infrastruk tur). Komplexer wird es, wenn die Authentifizierung über Active Directory-Systeme innerhalb des lokalen Netzwerks erfolgen soll, weil hier ein Forest Trust aufgebaut werden muss. Darauf wird in diesem Artikel nicht eingegangen. Das Thema wird gesondert behandelt.

Die ADFS übernehmen in dieser Struktur die Authentifizierung des Benutzers und die Erstellung von Cookies sowie die Authentifizierung für Ressourcenzugriffe.

Die Infrastruktur

Die Infrastruktur für den Test der ADFS besteht aus insgesamt sechs Systemen. Als Minimallösung kann auch mit vier Systemen gearbeitet werden, während für den Aufbau komplexerer Infrastrukturen auch weitere Systeme erforderlich werden können, insbesondere wenn auch Firewalls und Router emuliert werden sollen. Die für den Test dieser und weiterer Federation-Strukturen verwendeten Systeme sind:

  • Ein Active Directory-Domänencontroller als Identity Service Provider (IP/ISP), der die Authentifizierung von Benutzern übernimmt, die über Federation-Mechanismen auf andere Systeme zugreifen.

  • Ein Active Directory-Domänencontroller in der Ressourcendomäne.

  • Ein Web-Server als Ressource, auf die zugegriffen wird.

  • Ein Client für den Zugriff auf die Ressource.

  • Ein ADFS-Server für die Ressourcendomäne.

  • Ein ADFS-Server für die Domäne mit den Identitäten.

Wenn man das vollständige Federation-Szenario für B2B-Umgebungen vor Augen hat, dann befinden sich der Client, der ISP und der ADFSServer für die Identitäten-Domäne innerhalb eines Forests. Die anderen drei Systeme gehören zur Ressourcendomäne.

In diesem Beispiel übernimmt der Domänencontroller der Ressourcendomäne allerdings die Aufgabe des Identity Provider, so dass die Struktur sich etwas unterscheidet.

Die Systemvoraussetzungen sind der Windows Server 2003 R2 für alle ADFS-Server sowie die Webserver. Für die Domänencontroller ist auch die Verwendung des R2 wegen der erforderlichen Schema-Erweiterungen empfehlenswert, aber nicht zwingend. In der Testumgebung wird mit dem Windows Server 2003 mit Service Pack 1 gearbeitet. Der Client muss Windows XP mit Service Pack 2 verwenden.