ADFS: Das WebSSO-Szenario

In diesem zweiten Teil der Serie gehen wir zunächst auf die Erstellung der Test-anwendungen ein, die innerhalb des WebSSO-Szenarios verwendet werden. Testanwendungen müssen vorhanden sein, um die Federation-Dienste konfigurieren zu können.

Das WebSSO-Szenario zielt auf die Authentifizierung gegenüber Webanwendungen ab. Grundsätzlich wäre es beim ADFS auch denkbar, eine Authentifizierung gegenüber anderen Anwendungen durchzuführen, die ja in Verbindung mit dem Authorization Manager ebenfalls unterstützt werden. Als Zwischenschritt ist aber durch die Beschränkung der aktuellen Implementierung auf das Passive Requestor Profile und die Integration der ADFS mit den IIS immer der Weg über Web-Anwendungen erforderlich.

Anwendungen

Der einfachste WEg ist das Kopieren der Anwendungen, deren Sourcecode im Microsoft-Whitepaper „Step-by-Step Guide for Active Directory Federation Services“ beschrieben ist. Dort finden sich im in Anhang die Quelldateien für Tokenund für Claims-basierende Anwendungen. Der Sourcecode kann aus dem Word-Dokument in einen Editor kopiert und abgespeichert werden.

Falls in einer Testumgebung spezielle Anwendungen für die ADFS benötigt werden, können diese mit wenig Aufwand an eigene Anforderungen angepasst werden.

Die Konfiguration des Webservers

Bei den IIS muss zunächst sichergestellt sein, dass ASP .NET eingesetzt werden darf. Die ADFS und der Windows Server 2003 R2 verwenden die Version 2.0.x von ASP .NET, die bei der Einrichtung des Release 2 mit installiert wird (Bild 1).

Bild 1: ASP .NET muss bei dem für die ADFS verwendeten Web- Server aktiviert sein.
Bild 1: ASP .NET muss bei dem für die ADFS verwendeten Web- Server aktiviert sein.

Im Internetinformationsdienste-Manager findet sich nach der Einrichtung des Web-Agents ein neues Register ADFS-Web-Agent. In diesem muss der URL der Federation Services auf dem ADFS-Server angegeben werden, der als Service-Provider fungiert. Die Datei FederationServer-Service.asmx wird im Verzeichnis ADFS/sts/fs installiert. Der URL verweist jeweils auch auf diesen Pfad, so dass beim Beispielpfad nur der Name des Servers angepasst werden muss.

Anschließend muss ein virtuelles Verzeichnis für die Token-basierende Anwendung erstellt werden. Dieses Verzeichnis wird unterhalb der Standardwebsite angelegt. Im Assistenten für die Konfiguration virtueller Verzeichnisse sollte der Name tokenapp für den Test verwendet werden. Später kann man natürlich beliebige Namen für die Anwendungen definieren. Das Verzeichnis muss als neuer Ordner unterhalb von inetpub\wwwroot erstellt werden.

Bild 2: Bei IIS-Servern findet sich nach der Einrichtung von ADFS das Register ADFS-Web-Agent.
Bild 2: Bei IIS-Servern findet sich nach der Einrichtung von ADFS das Register ADFS-Web-Agent.

Anschließend sind die Berechtigungen Lesen und Skripts ausführen zu vergeben. Da der Code der Website ASP-basierend ist, ist die zusätzliche Berechtigung zur Ausführung von Skripts in jedem Fall erforderlich. In das so angelegte Verzeichnis können anschließend auch die Quelldateien für die Anwendung kopiert werden.

Bei den Eigenschaften der neu erstellten Website erfolgt nun noch im Register ASP .NET die Auswahl der Version 2.0.x. Standardmäßig ist die Version 1.1.x aktiviert, die aber nicht zusammen mit den ADFS eingesetzt werden kann.

Außerdem muss im Register ADFS-Web-Agent die Option Den ADFS-Agent für Windwos NT-tokenbasierte Anwendungen aktivieren ausgewählt werden (Bild 3). Dazu muss der Verbunddienst-URL für den Server bereits konfiguriert sein. Die Standardwerte können übernommen werden.

Bild 3: Die Aktivierung des Web-Agents für tokenbasierende Anwendungen.
Bild 3: Die Aktivierung des Web-Agents für tokenbasierende Anwendungen.

Gegebenenfalls müssen noch Zugriffsberechtigungen im NTFS angepasst werden, um die einzelnen Dateien zu schätzen oder zusätzliche Berechtigungen zu vergeben. Das hängt von der Struktur der verwendeten Anwendungen ab.

Die Token-basierende Anwendung muss nicht zwingend die Standardwebsite verwenden. Sie kann stattdessen auch mit einer eigenen Website aufgebaut werden, was entsprechende Anpassungen bei der Konfiguration voraussetzt.