Active Directory automatisch synchronisieren
Artikel erschienen in Swiss IT Magazine 2005/01
Eigentlich könnte man annehmen, dass der Markt für Produkte, mit denen Verzeichnisinformationen synchronisiert werden können, besetzt ist. Microsoft hat mit dem MIIS 2003 und der kostenlosen Variante des Identity Integration Feature Pack (IIFP) selbst ein solches Produkt auf dem Markt. Andere Anbieter wie Novell, Siemens oder IBM buhlen ebenfalls um die Kunden. Und Provisioning-Anbieter wie CA/Netegrity, M-Tech und viele andere versprechen ebenfalls, all diese Probleme lösen zu können und haben in Projekten bewiesen, dass das auch klappt.
Dass die Schweizer Firma BlueTools ein weiteres Produkt für diesen Themenbereich auf den Markt bringt, zeugt allerdings nicht von Selbstüberschätzung, sondern davon, dass hier eine Nische erkannt wurde. Denn die meisten der genannten Unternehmen zielen auf sehr grosse Kunden ab, bei denen viele verschiedene Verzeichnisdienste miteinander verbunden werden müssen. Der ADprofiler von BlueTools ist dagegen, wie der Name schon andeutet, eine Lösung, die auf das Active Directory und Windows-Server ausgerichtet ist und Informationen aus anderen Systemen in dieses hinein synchronisiert.
Die Zielsetzung dabei ist es, die Verwaltungsvorgänge rund um Benutzer im Active Directory weitgehend automatisieren zu können. Dabei wird davon ausgegangen, dass die Daten aus einer oder mehreren über ODBC erreichbaren Datenquellen stammen, also beispielsweise der Anwendung für die Lohnbuchhaltung, die Schulverwaltung oder ein CRM-System. Mehrere Datenquellen können parallel genutzt werden. Diese Informationen sollen nun periodisch eingelesen und Änderungen im Active Directory nachgezogen werden.
Die technische Herausforderung liegt dabei in der Abbildung der Informationen aus den Datenquellen auf das Active Directory und darin, fehlende Informationen zu ergänzen. Das kann damit beginnen, dass Felder zerlegt oder aus einem Vor- und Nachnamen verschiedene Informationen wie Anmeldenamen und E-Mail-Adressen generiert werden müssen, die wiederum eindeutig sein müssen. Benutzerprofile mit Informationen zum Benutzerverzeichnis und gegebenenfalls auch Ordner für Benutzerdaten müssen erstellt werden. Exchange-Informationen sollen konfiguriert werden, um den Benutzern automatisch auch den Zugriff auf den E-Mail-Server zu geben.
Alle diese Anforderungen lassen sich nur bis zu einem gewissen Grad standardisiert durchführen, so dass in fast allen Integrationsprojekten auch zusätzlicher Entwicklungsaufwand erforderlich wird. Der ADprofiler erleichtert die Umsetzung einerseits durch recht umfassende Mapping-Funktionen und andererseits durch eine integrierte Entwicklungsumgebung, mit der komplexere Aufgaben gelöst werden können. Diese Integration von Synchronisationsfunktionen mit einer Entwicklungsumgebung ist das Alleinstellungsmerkmal des Produkts.
Der ADprofiler ist eine Windows-Anwendung, die sich einfach über ein Standard-Installationsprogramm einrichten lässt. Sie benötigt Zugriff auf ein Active Directory, muss aber nicht auf dem Domänencontroller laufen. Bei der Konfiguration werden sogenannte Profile erstellt. Diese Profile enthalten die Konfigurationseinstellungen zur Datenquelle, die Feld-Definitionen für die Synchronisation, Exporteinstellungen für die Weitergabe von Informationen an andere Anwendungen und die Ausgabe in Listen und den Bezug zu einer als DataStore bezeichneten Datei. Dieser DataStore ist ein temporärer Speicher, in dem die synchronisierten Informationen abgelegt werden.
Bei einem Synchronisationsvorgang liest der ADprofiler die Daten zunächst aus der Datenquelle und schreibt diese dann in den DataStore. Von dort aus werden sie in das Active Directory übernommen. Auf dem Weg zwischen der Datenquelle und dem Active Directory können die Informationen durch Formeln modifiziert werden, wobei auch die Eindeutigkeit sichergestellt werden kann. Im Rahmen der Synchronisation können aber auch E-Mail-Einstellungen konfiguriert, Organisationseinheiten erstellt, Ordner im Dateisystem angelegt, Zugriffsberechtigungen gesetzt und weitere Aktivitäten ausgeführt werden.
Die Abbildung von Informationen aus Datenquellen in das Active Directory ist mit dem ADprofiler auf den ersten Blick nicht ganz so einfach wie mit manch anderem Tool. So können mit dem MIIS 2003 oder dem Novell NSure Identity Manager 2 recht einfach Mappings konfiguriert werden. Einfache Abbildungen sind jedoch mit minimalen Kenntnissen von VBScript zu bewerkstelligen. Zusätzlich stellt der ADprofiler diverse eigene Funktionen wie die Gewährleistung der Eindeutigkeit von einzelnen Attributen bis hin zur Sonderzeichenersetzung zur Verfügung, welche die Konfiguration für den Benutzer vereinfachen. Seine Stärke zeigt der ADprofiler, wenn komplexere Abbildungen definiert werden müssen, weil man dann immer noch mit VBscript arbeiten kann und nicht auf externe Entwicklungsumgebungen angewiesen ist. Ausserdem lassen sich auch zusätzliche Module in den Profilen definieren, um komplexere Aufgaben abzuwickeln. Auch hier wird mit Visual Basic gearbeitet. Gut gefallen dabei Features wie die automatische
Syntaxprüfung, die auch anzeigt, welche Funktionen bereits genutzt werden können.
Durch die erweiterbare Struktur der Anwendung können beispielsweise auch automatisiert E-Mails an neue Benutzer gesendet werden. Mit Hilfe persistenter Variablen und Events können auch Abhängigkeiten zwischen verschiedenen Modulen realisiert werden, so dass eine E-Mail eben erst nach dem Abschluss aller anderen Konfigurationsschritte gesendet wird.
Bemerkenswert ist auch die COM-API des Produkts. Damit können die Funktionen des ADprofiler auch in andere Anwendungen eingebunden werden. Das bietet sich bei bestehenden Helpdesk-Lösungen an, kann aber auch in Verbindung mit CRM-Systemen oder anderen Anwendungen Sinn machen.
Der ADprofiler bietet sich vor allem für Unternehmen an, in denen potentielle Benutzer in einem oder wenigen führenden Systemen ausserhalb des Active Directory gepflegt werden und bei denen die Verwaltung des Active Directory automatisiert werden soll, indem Änderungen bei den Datenquellen zum Anlegen, Ändern oder Löschen von Benutzern im Active Directory und für den Exchange Server sowie zu Anpassungen im Dateisystem führen. Die Computerräume in Schulen fallen ebenso in den Anwendungsbereich wie Webanwendungen für Kunden, bei denen die Benutzer aus dem CRM stammen, und sehr viele KMU, bei denen es einerseits eine administrative Anwendung gibt, in der das Personal verwaltet wird, und andererseits das Active Directory mit den Informationen zu diesen Benutzern. Hier ist der ADprofiler trotz des einmaligen Aufwands für die Einführung ein hochinteressantes Produkt, weil es die Verwaltung des Active Directory vereinfacht und damit auch Probleme und hohe administrative Aufwände zu vermeiden hilft.
Der ADprofiler ist aber kein Meta-Directory-Produkt im klassischen Sinn. Die Datenquellen werden nur über ODBC und nicht auch über LDAP oder proprietäre Schnittstellen spezifischer Verzeichnisdienste angesprochen. Die Synchronisation ist standardmässig nur einseitig, auch wenn die Exportfunktionen zur Not auch für eine bidirektionale Synchronisation genutzt werden könnten. Das ist aber nicht das Ziel. Die konsequent umgesetzte Idee ist vielmehr eine Automatisierung der Verwaltungsprozesse rund um das Active Directory auf Basis von Informationen aus anderen Datenquellen. Diese Idee ist durch die umfassenden Scripting-Funktionen in der Anwendung sehr gut umgesetzt worden. Für Unternehmen, bei denen das Active Directory als Standard-Verzeichnisdienst genutzt wird, die Benutzer aber zunächst in anderen Systemen angelegt werden, ist der ADprofiler in jedem Fall eine genauere Betrachtung wert.