Windows 10 im Unternehmensumfeld – SSO, "Hybrid" und andere Mysterien (Teil 2)
Hier folgt nun die versprochene Fortsetzung. Im 1. Teil haben wir uns über das Szenario „Windows Store for Business“ (WSfB) dem Thema „Automatische Azure AD-Registrierung (für domain-joined Computer)“ genähert. Man kann festhalten, dass diese der Schlüssel für den bequemen und unternehmenstauglichen Zugriff auf Microsoft Online Ressourcen ist. Durch die AAD Auto-Registrierung wird echtes SSO ermöglicht und sie läuft für den User vollkommen transparent (d.h. ohne jegliche Interaktion) ab.
Aber was ist nun konkret zu tun, um die Automatische Azure AD Registrierung zu etablieren?
Voraussetzungen für die AAD Auto-Registrierung
Microsoft stellt eine Vielzahl von Anleitungen zur Verfügung wie z.B. diese.
In der Praxis hat sich aber gezeigt, dass es oftmals im Detail hapert – mal fehlt in der einen Anleitung dieser Punkt, mal in der anderen jener… hier eine Zusammenfassung der wichtigsten Schritte:
- Sofern noch nicht geschehen, AADConnect und ADFS implementieren, öffentliche Domäne in AAD registrieren, Federation herstellen, UPN der Benutzer im on-premises AD sollte gleich der SMTP-Adresse sein
- Alle Benutzer, die Cloud Ressourcen nutzen, müssen ins AAD synchronisiert werden
- Zusätzlich: Alle (relevanten) Windows 10 Computer-Objekte müssen ebenfalls ins AAD synchronisiert werden
- Erstellen eines Service Connection Point im on-premises AD, damit Windows 10 Computer ermitteln können, wohin sie sich wenden müssen, um zum AAD zu gelangen. Dieser SCP wird in der Configuration Partition per Skript angelegt, es sind Enterprise Admin Rechte erforderlich
- Aktivieren des sog. ADFS Endpoint namens „windowstransport“. Dieser wird benötigt, damit Windows 10 Computer sich bei ADFS authentifizieren können
- Mindestens drei neue Claim Rules (ohne „SupportMultipleDomains“) in der Relying Party Konfiguration für „Microsoft Office 365 Identity Platform“, mit denen die on-premises objectGuid, accounttype („DJ“ = domain joined) und die primarysid via ADFS an AAD übermittelt werden
- Aktivieren von Windows Integrated Authentication als Alternative zu MFA in der o.a. Relying Party
Ablauf der AAD Auto-Registrierung
Auf allen domain-joined Windows 10 Computern existiert ein Scheduled Task unter \Microsoft\Windows\Workplace Join namens „Automatic-Device-Join“. Dieser Task läuft im SYSTEM-Kontext und wird bei jedem Anmelden eines Benutzers gestartet. Bei Windows 10 (Build 1511) war dieser Task noch deaktiviert und musste z.B. per GPO aktiviert werden. Bei Windows 10 (Build 1607) ist er hingegen out-of-the-box aktiviert. Wenn alle o.g. Punkte erledigt sind, bewirkt der Task eine Vielzahl von Aktionen. Die genaue Beschreibung würde den Rahmen dieses Beitrags definitiv sprengen – es werden Schlüsselpaare erstellt, der TPM Chip zum Schutz der Schlüssel verwendet, Zertifikate von Azure AD ausgestellt, der Computer erstellt ein Device Object, AAD Connect korreliert dieses mit dem on-premises Computer-Objekt, etc. Genug Stoff für einen zukünftigen separaten Blog Beitrag 🙂
Hier der vereinfachte Ablauf:
- Computer identifiziert über den SCP den passenden AAD Tenant und baut eine dorthin Verbindung auf. Achtung: Damit dies funktionieren kann, benötigt der Computer uneingeschränkten Zugriff auf mehrere URLs!
- Computer wird umgeleitet zu ADFS und authentifiziert sich. Dabei erhält er von ADFS die oben erwähnten Claims
- Mit diesen Claims im Gepäck erstellt der Computer nun ein neues Device Object für sich in AAD. Die Werte aus den Claims werden in Attribute des neuen Objekts übertragen
- AAD stellt ein Zertifikat für den Computer aus, mit dem dieser sich künftig authentifiziert
- Das PRT findet ebenso seinen Weg auf den Computer
- AADConnect verknüpft das neue Device Object beim nächsten Lauf mit dem existierenden Computer-Objekt im on-premises AD. Hierdurch wird das on-premises Computer-Objekt autoritativ – d.h. wenn es z.B. gelöscht wird, wird auch das Device Object in AAD gelöscht!
Greift der Benutzer nun auf z.B. Sharepoint Online oder OneDrive for Business zu, werden mithilfe des PRT die Access Tokens beantragt. Falls Sie Kerberos kennen: Im Prinzip kann man sich das PRT ein wenig wie ein Ticket Granting Ticket vorstellen und Access Tokens wie Session Tickets.
Mithilfe der Tokens erfolgt nun die Authentifizierung bei der Zielressource.
Tipps
- Nutzen Sie beim Erstellen der Federation (convert-MsolDomainToFederated) möglichst nicht die Option „SupportMultipleDomains“, sofern kein akuter Bedarf besteht. Hierdurch werden zusätzliche Claim Rules erforderlich und deren Konfiguration ist in diesem Fall alles andere als trivial
- Sie wollen nicht alle Windows 10 Computerobjekte ins AAD synchronisieren? Keine Sorge, das passiert auch gar nicht. Selbst, wenn Sie keine Filter konfigurieren, erstellt AADConnect für die on-premises AD Computer-Objekte keine neuen Device Objects in AAD, sondern korreliert nur bereits existierende zwecks Life cycle management. Nicht AADConnect erstellt neue Device Objects – sondern das machen die Computer selbst während der Auto-Registrierung!
- Achten Sie darauf, dass alle Claims auch tatsächlich in ADFS definiert sind, für die Sie Claim Rules erstellen. Eine Claim Rule macht noch keinen Claim 😉
- Falls Sie einen Forward Proxy mit User Authentifizierung einsetzen: Machen Sie sich auf Probleme gefasst… Der Zugriff des Computers auf das AAD zwecks Registrierung erfordert Zugriff auf mindestens diese URLs:
- enterpriseregistration.windows.net und
- login.microsoftonline.com
Und zwar erfolgt der Zugriff im Kontext des Computerkontos, da der Scheduled Task als SYSTEM läuft. Oftmals empfiehlt es sich, den Zugriff auf diese URLs auf der Firewall (nicht authentifiziert) zu erlauben oder einen geeigneten ggf. transparenten Proxy ohne Authentifizierung zu verwenden. Das Thema Proxy & Authentifizierung holt einen übrigens spätestens beim Windows Store for Business wieder ein, soviel sei schon mal verraten.
Fazit
Wenn Sie Windows 10 und Cloud-Ressourcen wie Office 365 oder Windows Store for Business unternehmenstauglich einsetzen und verwalten wollen, dann sollten Sie definitiv die automatische Azure AD Registrierung ihrer Domain-joined Computer etablieren. Diese ist der Schlüssel zum bequemen und sicheren Zugriff auf Microsoft Online Ressourcen. Sie schaffen hierdurch die Grundlage für echtes SSO und weitere interessante Enterprise Features. Eine saubere und adäquate Einrichtung von ADFS und DirSync/AADConnect ist die Basis für SSO, die Sie entweder selber betreiben oder bei Bedarf auch als Komplettpaket bzw. Managed Service bei iteracon buchen können. Wie man unschwer erkennen kann, ist die gesamte Thematik alles andere als simpel und die Einrichtung nicht trivial. Das Ergebnis kann sich allerdings mehr als sehen lassen! Aus Sicht des Endanwenders könnte es kaum simpler sein: An Windows anmelden, auf Ressourcen Zugreifen, fertig! 🙂
Und das gilt sogar auch für die Store App mit dem Windows Store for Business. Aber dazu wie gesagt später mehr.
Viele Grüße
Alexander Zarenko