Office 365 - DirSync Setup

Auch wenn es im Internet und auf der Office 365 Plattform schon die ein oder andere "Schrittweise" Installationsanleitung und sogar Videos gibt, möchte ich die Einrichtung bei Net at Work hier mit zusätzlichen Informationen öffentlich stellen. Auf der Seite Office 365 DirSync haben Sie ja schon gesehen, dass jeder Active Directory Benutzer von Net at Work auch in Office 365 als Identität (aber ohne Kennwort) hinterlegt ist. Dies ist die Aufgabe des Verzeichnisabgleich, den Office 365 kostenfrei mit anbietet. für die einfache Anmeldung ist aber Office 365 ADFS erforderlich.

Es gibt immer mal wieder eine neue Version des "DirSync"
http://social.technet.microsoft.com/wiki/contents/articles/18429.microsoft-azure-active-directory-sync-tool-version-release-history.aspx
Ab und an ein Update ist also mit einzuplanen.

Voraussetzungen

Ehe Sie den Verzeichnisabgleich installieren, müssen Sie ein paar Voraussetzungen erfüllen:

  • Lokales Active Directory im 2003 Native Mode
    Die lokale Domäne und Forest müssen im Windows 2003 Native Mode installiert sein. Es darf also keine Windows 2000 oder NT4 Domaincontroller mehr geben und Sie müssen die Betriebsart hochgestuft haben.
  • Exchange 2010 SP2 Schema
    Wenn Sie eine Koexistenz mit Exchange (Hybrid) nutzen wollen, dann muss das Schema schon mit Exchange 2010 SP2 (oder höher) erweitert worden sein.
  • Cleanup
    Es gibt einige Dinge, die DirSync nicht mag, z.B. doppelte UPNs, Sonderzeichen in SAMACCOUNTNAMEN etc. Diese sollten Sie alle entsprechend gerade ziehen. (Siehe auch O365Check)
  • Server
    Der DirSync Server muss Mitglied der Domäne sein. Der DirSync-Prozess darf nicht mit dem ADFS-Prozess auf der gleichen Windows Instanz laufen. Seit der Version 6553.0002 kann er auch auf einem DC installiert werden. Das ist für kleine Firmen, die auf ADFS verzichten und das Kennwort synchronisieren, eine interessante Option..

Der DirSync ist erforderlich, wenn Sie die Anwender per ADFS anmelden lassen wollen. Dennoch sagen alle Quelle, das Sie zuerst ADFS installieren sollten. Technisch gibt es aber keinen Zwang.

Wer mag kann den "DirSync Server" natürlich auch in Azure laufen lassen. Allerdings muss man dann das HausLan per VPN nach Azure erweitern.
Deploy Office 365 Directory Synchronization in Microsoft Azure
http://technet.microsoft.com/en-us/library/dn635310(v=office.15).aspx

Domäne aktivieren

Ehe Sie mit der Installation starten, müssen Sie die Domäne in Office 365 erst einmal für den Verzeichnisabgleich "aktivieren". Diese Änderung hat weitreichende Folgen. Sie können die später durch den Verzeichnisabgleich hinzu gekommenen Benutzer nicht über die Office 365 Verwaltungskonsole steuern.

Sie könne natürlich schon die Installation fortsetzen, auch wenn die Domäne noch nicht aktiviert ist. Das habe ich natürlich auch gemacht. Der DirSync-Prozess vermeldet das natürlich im Eventlog als Fehler.

Es geht nichts kaputt aber schneller geht es deswegen auch nicht.

DirSync Dienstkonto anlegen

Der DirSync-Prozess auf ihrem lokalen Server muss sich natürlich gegen Office 365 authentifizieren. Der später gestartete Assistent fragt sich nach Anmeldedaten und wenn Sie hier das Administratorkonto anlegen, dann wird dieses auch für den DirSync genutzt. Wenn Sie dann aber später das Kennwort des Konto ändern, bricht dies den DirSync.

Ich empfehle daher ein eigenes Office 365 Konto, welches ein normales Office 365 Admin-Konto und dessen Kennwort schön komplex ist aber nicht geändert werden muss.
Das Kennwort darf aber nicht länger als 16 Zeichen sein.

Per Default müssen Office 365 Konten regelmäßig ihr Kennwort ändern. Das ist für ein Dienstkonto natürlich nicht sinnvoll: Das geht aktuell nicht über die Weboberfläche, sondern per PowerShell. Starten Sie dazu die Azure-AD PowerShell und führen Sie folgende Befehle aus.

# Verbindung mit Azure AD herstellen
Connect-MsolService

# Anzeige aller User mit NeverExpire
Get-MSOLUser  | where {$_.PasswordNeverExpires}

# Benutzer ändern
Set-MsolUser `
   -UserPrincipalName svc.DirSync@tenantname.microsoftonline.com `
   -PasswordNeverExpires $true

DirSync installieren

Der DirSync für Office 365 ist ein ganz normaler Download, der unter folgender URL zu erreichen ist.

Windows Azure Active Directory Sync tool – 64 bit
http://go.microsoft.com/fwlink/?LinkID=278924 (183MB)
https://bposast.vo.msecnd.net/DirSync/6198.0037/amd64/DirSync-de.exe

Stellen Sie sicher, dass auch die aktuelle Version nutzen:
http://social.technet.microsoft.com/wiki/contents/articles/18429.microsoft-azure-active-directory-sync-tool-version-release-history.aspx

Hinweis
Die DirSync-Software gibt es in mehreren Sprachen. Die Sprache des Browsers bestimmt, in welcher Sprache ihnen das Office 365 Admin-Portal angeboten wird und welchen Download sie dann bekommen.

Achtung: Installieren Sie den DirSync Prozess NICHT auf dem ADFS-Server und bitte auch nur einmal im Netzwerk.

Der Link ist aber auch im Office 365 Portal zu erhalten. Unter "Benutzer" müssen Sie einfach die Verwaltung anwählen:

Und dann findet sich unter Punkt 4 gleiche der Download.

Die Installation selbst ist wieder unspektakulär. Nervig ist nur, wenn eine bereits installiert Version für ein Update zu "Alt" ist. Das betrifft all die, die schon 2012 einen DirSync eingerichtet haben und mit dem Wechsel auf Exchange 2013 (W15) auch mal den DirSync aktualisieren wollen. Dann begrüßt sie sehr früh folgendes Bild:

In dem Fall müssen sie die alte Version erst deinstallieren und dann die neue Version installieren.

Kleine Info am Rande: Die Deinstallation der alten 2012er Version hat wirklich alle Komponenten (auch SQL etc.) sauber entfernt.

Per Default installiert sich das DirSync Tool nach "C:\Program Files\Windows Azure Active Directory Sync"

DirSync konfigurieren

Achtung
Wenn Sie den DirSync auf Windows 2008 mit aktiviertem "User Account Control" nicht direkt nach dem Setup sondern später ausführen, dann müssen Sie das Programm "als Administrator" starten. Ansonsten fehlen dem Administrator die Berechtigungen auf lokale Schlüssel zu schreiben.

Achtung:
Der Assistent legt lokal ein Active Directory Konto (MSOL_AD*) an. Dieses darf nicht verschoben werden:
Quelle: http://technet.microsoft.com/de-de/library/jj151771

  • Der obligatorische Willkommensschirm
  • Office 365 Anmeldung
    Diese Daten werden später auch für die Synchronisation mit Office 365 genutzt. Das ist idealerweise ein Dienstkonto in der Cloud, also z.B. DirSync@msxfaq.onmicrosoft.com mit einem Kennwort, welches nicht abläuft.
  • Active Directory Anmeldedaten
    Diese Daten werden genutzt um in ihrem Forest ein Dienstkonto anzulegen und entsprechende zu berechtigen.
  • Exchange Hybrid Mode
    Normalerweise ist der DirSync "OneWay"
  • Password Sync
    Diese Funktion gab es in 2012 noch nicht.

    Bei dem Abgleich der Kennworte werden die Kennworts nicht als Klartext in die Cloud übertragen, sondern es werden einfach die Hashwerte kopiert. Damit könnten Sie den Anwendern einen Zugang auch ohne ADFS erlauben. Aber technisch könnte man nun mit den Hashwerten und Rainbow-Tabellen auch schnell ein Kennwort finden, was den gleichen Hashwert ergibt. Der Kennwort-Sync passiert alle 5 Minuten.
  • Konfiguration
    Nun werden die Einstellungen "angewendet"
  • Sofort synchronisieren ? - besser nicht..
    .. zumindest wenn Sie vielleicht noch Filter setzen wollen, um nicht ALLE Benutzer, Dienstkonten, Gruppen etc. in die Cloud zu übertragen.

In der Regel funktioniert der Assistent problemlos. Wenn Sie im Active Directory nach "MSOL" suchen, dann finden Sie das Dienstkonto, welches durch den Assistenten angelegt wurde:

In diese Richtung ist also keine Gefahr, da hier das Dienstkonto automatisch erstellt wurde. Sie finden aber sicher noch Artikel, in denen das Dienstkonto den festen Namen MSOL_AD_SYNC hat. Das war früher so. Mittlerweile wird das Benutzerkonto "zufällig" vergeben.

Ich würde mir natürlich wünschen, wenn der Assistent auch in der Cloud ein Dienstkonto anlegen würde, was speziell und nur für den Verzeichnisabgleich genutzt werden kann. Nicht auszudenken, wenn ein Proxy-Admin eine SSL-Inspection aktiviert und damit Zugriff auf das Office 365 Kennwort dieses Accounts erhalten kann und dann die Office 365 Umgebung unbemerkt verwalten könnte. Das kann noch besser werden.

Filter einrichten

Wenn Sie dem DirSync keinen Einhalt gebieten, dann synchronisiert er sehr viele Objekte aus dem lokalen Active Directory in die Cloud und oftmals mehr als sie vielleicht zulassen wollen. Ich denke nicht dass Microsoft das absichtlich macht. Wer z.B. Gruppen und Benutzer aus dem Active Directory auch für Berechtigungen in SharePoint verwenden will, muss diese natürlich in die Cloud replizieren, auch wenn Sie keine Bedeutung für Exchange haben. Ein Filter auf Objekte mit "(mail=*)" wäre hier unpassend. Aber andererseits dürften die meisten Firmen lokal Benutzer und Gruppen haben, die in der Cloud nicht gebraucht werden und damit die Liste dort nur überflüssig aufblähen würde. Schließlich müssen sie vielleicht die Objekte in der Cloud per Browser verwalten. Filtern ist also angebracht.

Achtung
Auch wenn die EinstellMöglichkeiten sehr umfangreich ist, so darf Sie aus Lizenzgründen nur für den Abgleich mit Office 365 genutzt werden. An einigen Stellen sind Extension-DLLS (fest) hinterlegt und sie können nie sicher sein, dass eine neuere Version beim Update alle manuellen Anpassungen mit nimmt.

Dennoch "erlaubt" Microsoft mittlerweile auch offiziell die Filterung von Einträgen auf Basis von OUs, Domäne und Attributen auf dem Benutzer. Nicht erlaubt sind z.B.: Änderungen der Connector-Konfiguration oder Insbesondere der Zeitplanung.

Aber die Filterung ist genau das, was uns sowieso vorschwebt.

Der DirSync basiert auf dem "Forefront Identity Manager", vormals MIIS und die GUI zu Verwaltung wurde auch mit installiert.

C:\Program Files\Windows Azure Active Directory Sync\SYNCBUS\Synchronization Service\UIShell\miisclient.exe

Sollten Sie folgende Meldung sehen, dann müssen Sie sich einfach einmal abmelden und wieder anmelden.

Dazu müssen Sie wissen, dass die Installation von FIM auch einige lokale Gruppen werden, über die innerhalb von FIM und SQL Berechtigungen gesteuert werden. Eine davon ist die Gruppe "FIMSycnAdministratoren". der der in der Regel der Installationsbenutzer schon aufgenommen wurde:

Diese Rechte greifen aber nicht sofort, sondern erst nach einer Anmeldung. Weitere Informationen zu den Gruppen und deren Verwendung finden Sie unter "Using Forefront Identity Manager 2010 R2 - using Security Groups", (http://technet.microsoft.com/en-us/library/jj590183(v=ws.10).aspx). Danach sehen Sie den normalen MISS-Client.

Wählen Sie dann "Management Agents" aus um die beiden Connectoren (Einmal zum Active Directory und einmal zu Office 365) zu sehen. Klicken Sie dann "doppelt" auf "Active Directory Connector" um dessen Konfiguration zu kontrollieren und ggfls. anzupassen. Der Connector hat Links elf (11) Bereiche, von denen aber nur eine Teilmenge überhaupt angefasst werden sollte. Interessant ist primär der "Connection Filter", über den Sie z.B. beim Benutzern und Gruppen Regeln definieren können, so dass die Objekte nicht berücksichtigt werden.

Microsoft hat hier selbst schon umfangreiche Filter addiert. Das Bild zeigt den Filter für Objekte des Typ "User". Jede der 15 Zeile ist "ODER"-verknüpft. Die Regel 6 zeigt zwei Filter die undverknüpft sind. Microsoft unterstützt die Filterung nach Domain, OU oder Userattribut

Organizational-unit (OU)–based: You can use this filtering type to manage the properties of the SourceAD Management Agent in the Directory Synchronization tool. This filtering type enables you to select which OUs are allowed to synchronize to the cloud.

Domain-based: You can use this filtering type to manage the properties of the SourceAD Management Agent in the directory synchronization tool. This type enables you to select which domains are allowed to synchronize to the cloud

User-attribute–based: You can use this filtering method to specify attribute-based filters für user objects. This enables you to control which objects should not be synchronized to the cloud.

Quelle: http://technet.microsoft.com/en-us/library/jj710171.aspx

Da man heute nie genau sicher sein, kann, wo Objekte einmal liegen und ich meine OU-Struktur sicher nicht auf Office 365 ausrichten will, nutze ich fast immer den Weg über ein Benutzerattribut. Wenn Sie also die Benutzer ausschließen wollen, die z.B. keine Mailadresse haben, dann addieren Sie eine neue Filterregel:

Microsoft selbst beschreibt auf http://technet.microsoft.com/en-us/library/jj710171.aspx den Einsatz eines Exchange Custom Attribute (z.B. extensionAttrtibute15), welches Sie dann im Rahmen des Provisoining eben mit einem Wert setzen müssen, auf den die Filtern. Da ein Filter auch "negiert" sein kann, haben Sie alle Option. Das extensionAttrtibute15 ist ihnen vielleicht noch aus Zeiten von Exchange 5.5 -> 2000/2003 Migrationen bekannt. Hier wurde es mit dem Wert "NTDSNOMATCH" genutzt, um den ADC zu steuern, der das Exchange 5.5 Verzeichnis mit dem AD abgeglichen hat.

Wer jedoch eine relativ statische OU-Struktur hat, kann auch diese dazu hernehmen:

Das ist meist einfacher, da individuelle Properties nicht immer gesetzt werden. 

Synchronisation starten

Anfangs musste man als Administrator noch den MIIS-Admin verwenden, um einen DirSync zu forcieren. Das ist mittlerweile nicht mehr erforderlich. Es gibt eine PowerShell dafür, die auf dem DirSync Server ausgeführt werden kann.

Import-Module DirSync

Start-OnlineCoexistenceSync

Nur der Vollständigkeit habe ich den "alten" weg hier noch nicht entfernt. Wenn Sie den DirSync für die Einstellung von Filtern nicht sofort gestartet haben, dann können Sie direkt im MIISClient den Sync starten und auch kontrollieren. Zuerst exportieren wir das Active Directory in die FIM-Datenbank. Aus Sicht von FIM ist das ein Import, indem Sie auf "Management Agents" erst den Connector auswählen und dann ein RUN starten.

Danach müssen Sie auf dem Azure Connector einmal einen "Full Import Full Sync" starten und danach einen "Export". Über den MIIS Client sehen sie unter "Operations", welche Tasks wann gelaufen sind und welche Änderungen durchgeführt wurden:

Der komplette Prozess eines Synchronisation kann natürlich auch automatisch angestoßen werden.

Das Standardintervall für den Abgleich des alten DirSync ist 3h.  Mit AADConnect hat Microsoft die Zeit auf 30Min reduziert.
Werden Änderungen im lokalen AD durchgeführt, kann das Standardintervall zu lange sein. Ein manuell angestoßener DirSync überträgt die Änderungen zeitnah. Es sollte aber nicht zur Regel werden, nun alle paar Minuten einen Sync zu triggern.

Starten Sie dazu:

# Folgende PSC1-Datei startet eine PowerShell mit geladenen br> C:\Program Files\Microsoft Online Directory Sync\DirSyncConfigShell.PSC1

# Starten des Sync
Start-OnlineCoexistenceSync

Das Commandlet stößt den Sync nur an und kommt dann sofort wieder zurück.

Die DirSync PowerShell hat noch ein paar andere Commandlets, die Sie aber in der Regel nicht brauchen

PS C:\> Get-Command -Module Coexistence-Configuration | ft commandtype,name -AutoSize

CommandType Name
----------- ----
     Cmdlet Disable-MSOnlineRichCoexistence
     Cmdlet Enable-MSOnlineRichCoexistence
     Cmdlet Get-CoexistenceConfiguration
     Cmdlet Set-CoexistenceConfiguration
     Cmdlet Start-OnlineCoexistenceSync
     Cmdlet Update-MSOLDirSyncNetworkProxySetting

DirSync überwachen

Eigentlich läuft FIM als "BlackBox" ziemlich problemlos. Der DirSync bei Net at Work ist seit Anfang 2012 aktiv und abgesehen von Windows Updates "merkt" man die VM gar nicht. erst im Sep 2013 habe ich durch das Update von Office 365 auf Wave15 (Exchange 2013) auch den DirSync auf die aktuelle Version gehoben. Wobei das nicht einmal zwingend erforderlich war.

Wer keine Kennworte mit FIM repliziert wird ein Ausfall des FIM erst dann erkennen, wenn neue Anwender nicht in der Cloud sichtbar werden oder Mitgliedschaften von Gruppen auseinander laufen. für viele Probleme bekommen Sie als Office 365 Admin aber sowieso schon "Mails" von dem Office 365 Service.

Ansonsten können Sie natürlich auch das lokale Eventlog überwachen.

Zudem ist eine Kontrolle der Dienste sehr einfach möglich:

Und natürlich gibt es auch den MIIS-Client, in dem Sie Details ansehen können. Siehe dazu auch Office 365 DirSync Detail

Auch in der Office 365 Webverwaltung wird angezeigt, wann der letzte Abgleich verfolgt ist.

Wenn hier eine Dauer >3h steht, dann sollten Sie ihren DirSync-Server auf die Finger schauen. Dier neue AADConect repliziert sogar alle 30 Min per Default.

Weitere Links