In Windows Server 2012 wurde der Active Directory Federation Services (ADFS) „Foodprint“ reduziert. Waren in den Vorgänger Versionen von Windows Server immer ein IIS notwendig, wurden die Web Komponenten der ADFS in die direkt in die „HTTP.SYS“ ausgelagert. Dadurch können die ADFS Dienste auch ohne IIS betrieben werden. Dadurch minimiert sich auch das Risiko die ADFS auf einem Domänen Controller zu betreiben.
Allerdings stellt dies auch jetzt noch eine kleine Herausforderung dar. Wenn der Assistent zur Installation von ADFS auf einem Domänen Contoller einfach durchgeklickt wird, kann es passieren das die ADFS Dienste nach dem Neustart des DC’s nicht mit gestartet werden. Ich möchte hier beschreiben wie die ADFS Dienste auch auf einem Domänen Controller ausgeführt werden können, wenngleich ich dies bestenfalls für Testumgebungen empfehlen kann.
In dem zugrunde gelegten Setup gehe ich davon aus das die ADFS Dienste unter der Identität eines „Group Managed Service Accounts“ (gMSA) und der „Windows Internal Database“ (WID) ausgeführt werden.
Damit die „Group Managed Service Accounts“ (gMSA) genutzt werden können ist es zunächst erforderlich einen KDC Root Key zu erstellen. Der KDS Root Key wird über ein PowerShell CMDlet erstellt (der ADFS Konfigurationsassistent weist beim Setup darauf hin).
Der KDS Root Key wird mit folgenden CMDlet erstellt:
Add-KdsRootKey –EffectiveImmediately
Anmerkung:
Um Fehler mit den „gMSA“ zu vermeiden empfiehlt Microsoft hier einige Zeit verstreichen zu lassen damit alle Windows Server 2012 Domänen Controller die Änderung repliziert haben.
Um zu überprüfen ob der KDS Root Key korrekt erstellt wurde kann die Ereignisanzeige genutzt werden. Im KDS Log sollte das Ereignis mit der ID 4004 protokolliert werden.
Ist diese Hürde genommen lassen sich die ADFS Services mit einem „gMSA“ nutzen. Im weiteren Verlauf ist die Angabe eines Datenbankservers notwendig. Es ist möglich hier die „Windows Internal Database“ zu nutzen. Damit dies jedoch auch auf einem Domänen Controller funktioniert sind vorher die lokalen Sicherheitsrichtlinien anzupassen.
Ohne diese Einstellung kann der „Windows Internal Database“ Dienst nicht starten. Doch damit ist die Konfiguration für einen Domänen Controller immer noch nicht komplett abgeschlossen. Bleibt das Setup der ADFS Dienste in diesem Zustand kann es passieren das die ADFS Dienste nicht starten. Dies hängt mit dem gMSA Dienstkonto zusammen. Um dieses Problem zu umgehen sollten folgende Schritte durchgeführt werden:
- Dienst „Active Directory Federations Services“ von „Automatic (Delayed)“ auf „Manual“ einstellen
- Dienst „Key Distribution Center“ auf „Automatic“ anstatt auf „Manual (Triggered)“ einstellen
- Neustart des Domänen Controllers
- Anmeldung am Domain Controller und manuelles starten der „Active Directory Federation Services“
- ADFS Dienste auf „Automatic (Triggered)“ einstellen
Nun sollten die ADFS Dienste auf dem Domänen Controller einwandfrei, wenn auch verzögert, starten.