Datensynchronisation: Wenn Daten nicht da sind, wo sie sein sollen

Datensynchronisation und -transformation sind mehr denn je ein Thema. Dieser Beitrag zeigt Ansätze und Tools, die das Leben der Admins erleichtern.

Auch im 21. Jahrhundert stellt der Austausch von Daten zwischen unterschiedlichen Systemen eine große Herausforderung...

dar. Immer mehr Systeme müssen integriert werden und miteinander Daten austauschen.

Trotz aller Standardisierungsbemühungen existieren immer mehr Datenformate und Schnittstellen, die transformiert oder verbunden werden müssen. Dabei sind es nicht nur die dauerhaften Kommunikationsbeziehungen, die den IT Mitarbeitern Kopfschmerzen bereiten, sondern gerade die kleinen Neben-Projekte, um Daten von einer Anwendung in eine andere zu bekommen.

Datensynchronisation, -migration und -transformation

Datensynchronisation, -migration und -transformation kann sich auf alle Arten von Daten beziehen. Die häufigste Art von Daten sind Identitätsdaten, die an mehreren Stellen vorhanden sein müssen, aber auch Artikeldaten, Auftragsdaten, Systemkonfigurationen können betroffen sein.

Mit Hilfe von Synchronisation werden Daten in unterschiedlichen Datenspeichern konsistent gehalten. Dabei kann Synchronisation unidirektional (Replikation, wenn Änderungen nur in einem Datenspeicher vorgenommen werden) oder bidirektional ausgeführt werden.

Stefan Köhler,
Client Technical Professional,
IBM Security Systems

Während Synchronisation ein kontinuierlich ablaufender Prozess ist, ist Datenmigration ein einmaliger Vorgang, bei dem Daten aus einem alten System in ein neues überführt werden sollen. Dabei können sich sowohl die Datenformate als auch die Schnittstellen ändern.

Unter Transformation ist jegliche Art der Umwandlung der Daten zu verstehen. Transformationen können dabei von der einfachen Änderung des Feldnamens über Änderung des Datenformates bis hin zu komplexen Korrelationen von Daten aus unterschiedlichen Quellen reichen.

Trotz des Versuches der Vereinheitlichung von Schnittstellen und Definition von Standards auch für die Synchronisation (SyncML) existieren immer noch sehr viele Anwendungen und Systeme, die keine entsprechenden Standards unterstützen und ihre eigenen Schnittstellen und Datenformate implementieren. 

Es ist hier nach wie vor problematisch, Daten zwischen diesen Anwendungen auszutauschen. Vielfach werden eigene Skripte erstellt, die Datenformate vor Exporten konvertieren und/oder entsprechende Schnittstellen bedienen. Effizienter ist in aller Regel die Verwendung von existierenden flexiblen Werkzeugen für die Synchronisation und Transformation anstelle der selbstgeschriebenen Skripte.

Diese Werkzeuge bieten unter anderem Konnektoren zu allen denkbaren Datenquellen und Schnittstellen, ermöglichen die Konvertierung unterschiedlichster Datenformate, wie zum Beispiel CSV oder XML, und erlauben selbstverständlich die regelbasierte Umwandlung von Daten. Dabei können Daten mit Informationen aus anderen Quellen angereichert werden. Auch können diese Werkzeuge Änderungen erkennen und darauf reagieren.

Das Problem der Kennwörter

Kennwörter bereiten bei der Synchronisation ein besonderes Problem. In der Regel sind sie verschlüsselt gespeichert und können nicht so ohne weiteres von einem System auf ein anderes übertragen werden. Aus Sicherheitsgesichtspunkten sollte überlegt werden, ob eine Übertragung der Kennwörter notwendig und sinnvoll ist. Wenn ja, sollte die Übertragung verschlüsselt erfolgen (zum Beispiel per LDAP).

Kennwörter bereiten bei der Synchronisation ein besonderes Problem.

Sind die Verschlüsselungsverfahren (und gegebenenfalls die Schlüssel) auf beiden Seiten gleich, hat sich das Problem erledigt, da einfach der verschlüsselte Wert übertragen werden kann. Leider ist dies in der Regel nicht der Fall. 

Nun muss unterschieden werden, ob es sich bei der Verschlüsselung um eine Zweiwege- oder Einwegverschlüsselung (Hash) handelt. Handelt es sich um eine Zweiwegeverschlüsselung und der Schlüssel ist bekannt, so kann die Synchronisationslösung das Kennwort entschlüsseln und für das Zielsystem wieder entsprechend verschlüsseln.

In den meisten Fällen wird es sich aber um eine Einwegverschlüsselung handeln. Hier kann man mit dem gespeicherten Kennwort nichts mehr anfangen. Das Kennwort muss deshalb abgefangen werden, bevor es im Quellsystem verschlüsselt wird. Hierzu werden so genannte Password-Interceptors verwendet, die das Klartext-Kennwort abfangen und an die Synchronisationslösung weitergeben. Für welche Quellsysteme solche Interceptors existieren, hängt von der verwendeten Synchronisationslösung ab.

Wann macht der Einsatz von Verzeichnisdiensten Sinn?

Synchronisation ist grundsätzlich unabhängig von der Art des verwendeten Datenspeichers. Trotzdem soll hier kurz auf das Thema Verzeichnisdienst eingegangen werden, da diese sehr häufig Quelle oder Ziel einer Synchronisation oder Migration sind.

Häufig wird diskutiert, ob besser eine Datenbank oder ein Verzeichnisdienst (Directory) verwendet werden sollte. Diese Frage lässt sich nicht eindeutig beantworten, sondern hängt von dem Anwendungsfall ab. LDAP Directories haben insbesondere folgende Vorteile:

  • Verwendung eines standardisierten Zugangsprotokolls (LDAP). Dadurch wird eine weitgehende Unabhängigkeit vom verwendeten Directory Server erreicht.
  • Lesevorgänge sind in der Regel sehr schnell. Für viele Schreibvorgänge ist ein Directory Server eher weniger geeignet.
  • Viele Anwendungen nutzen LDAP zur Speicherung der Anmeldedaten seiner Nutzer.
  • Gerade zum Speichern von Nutzerdaten bieten Directory Server vordefinierte, standardisierte Schemata (LDAP Objektklassen).
  • Hochverfügbarkeit ist eine Grundfunktion bei den meisten Verzeichnisdiensten und wird durch eingebaute Replikationsmechanismen erreicht.
  • Multi-value-Attribute werden nativ unterstützt und sind damit weitaus einfacher zu handhaben als bei Datenbanken.

Anhand der genannten Punkte zeigt sich, dass Verzeichnisdienste gerade für das Speichern von Benutzerdaten sinnvoll sind und zum Beispiel als zentrales Adressbuch und/oder zur Authentifizierung eingesetzt werden können.

Sind Metadirectories tot?

Metadirectories (Metaverzeichnisdienste) kamen Ende des zwanzigsten Jahrhunderts auf und hatten Ihren Höhepunkt zu Beginn des einundzwanzigsten Jahrhunderts. Der Begriff wird teilweise unterschiedlich interpretiert. In den meisten Fällen wird er als die Zusammenführung und Synchronisation mehrerer Datenquellen (meist selbst Verzeichnisse) in ein Metaverzeichnis verstanden. 

Dieses Metaverzeichnis stellt den Anwendungen und Nutzern dann eine einheitliche Sicht (Metaview) auf die zusammengeführten Daten dar. Ein Metadirectory ist also nichts weiter als eine spezialisierte Synchronisations- und Transformationslösung, die Daten aus mehreren Quellen mit einem zentralen Verzeichnisdienst synchronisiert.

In der letzten Zeit werden Metadirectories immer mehr von vollständigen Identity Management -Lösungen verdrängt.

Metadirectories wurden und werden immer dann eingesetzt, wenn insbesondere Benutzerinformationen in mehreren Systemen verwaltet werden, aber zum Beispiel ein zentrales Telefonbuch oder aber eine zentrale Authentifizierungsinstanz benötigt wird.

In der letzten Zeit werden Metadirectories immer mehr von vollständigen Identity Management -Lösungen verdrängt. Während Metadirectories rein auf IT Ebene Daten synchronisieren, decken Identity Management -Lösungen darüber hinaus auch die geschäftliche Sicht auf die Benutzerverwaltung ab

Dazu zählen zum Beispiel Antrags- und Genehmigungsprozesse, rollenbasierte Berechtigungsvergabe und Berichtserstellung. Wo diese Funktionen nicht benötigt werden, stellen Metadirectories immer noch eine sinnvolle Methode der Benutzerverwaltung dar.

In Zusammenhang mit Metadirectories sei der Begriff Virtual Directory erwähnt. Bei einem Virtual Directory werden die Daten nicht in ein zentrales Verzeichnis kopiert, sondern jeder Zugriff wird direkt an die angebundenen Systeme weitergeleitet.

Dies hat zwei gravierende Nachteile. Zum einen sinkt die Performance deutlich, da jede Anfrage weitergeleitet werden muss und Caching nur bedingt möglich ist. Zum anderen kann die Lösung nur hochverfügbar aufgebaut werden, wenn alle angebundenen Datenquellen selbst hochverfügbar sind.

Existierende Synchronisationslösungen

Synchronisationslösungen für unterschiedlichste Anforderungen gibt es viele am Markt. Es existieren sowohl frei verfügbare als auch kommerzielle Lösungen. Nur die wenigsten sind so flexibel, dass sie alle vorgestellten Synchronisationsarchitekturen abbilden können und damit für nahezu alle Anwendungsfälle verwendbar sind. Zu diesen Lösungen gehören unter anderem:

  • Microsoft SSIS
    Microsoft SQL Server Integration Services ist eine Plattform um Datenintegrations- und Transformationslösungen aufzubauen. Es unterstützt neben MS SQL Datenbanken unter anderem auch XML Dateien, allgemeine Dateien und andere relationale Datenquellen.
  • Informatica Powercenter
    Powercenter von Informatica ist eine Lösung für die Integration von Unternehmensdaten. Es können zum Beispiel Produktdaten, Finanzdaten und Kundendaten in jedem Format integriert werden.
  • Talend OS
    Talend Open Studio for Data Integration ist ein Satz von Open Source Werkzeugen für Datenintegration. Es ermöglicht den Zugriff, die Transformation und Integration von Daten aus Geschäftsanwendungen in Realzeit oder per Batch.
  • IBM Infosphere Data Stage
    IBM Infosphere Data Stage dient zur Integration aller Arten von Daten in verteilten und Mainframe Systemen. Es verwendet hierzu ein hoch performantes Framework. Es unterstützt damit auch Big Data Plattformen und ermöglicht eine Datenintegration in nahezu Realzeit.
  • Tensei-Data
    Tensei-Data ist ebenfalls ein Werkzeug zur Integration, Modifikation und Transformation von Daten. Es vereinfacht die Datenmigrationsprozesse und ermöglicht den bidirektionalen Austausch von Daten.
  • IBM Security Directory Integrator
    Der IBM Security Directory Integrator ist ein flexibel und universell einsetzbares Synchronisationswerkzeug. Auf Grund der Vielzahl von Konnektoren, Parsern und Funktionsbausteinen können nahezu alle Integrations-, Transformations- und Synchronisationsanforderungen abgedeckt werden. Das Werkzeug erlaubt durch den enthaltenen hochverfügbaren LDAP Server auch Metadirectory Szenarien umzusetzen. Unterstützung von Delta-Abgleich und Kennwort-Synchronisation ergänzt den hohen Funktionsumfang des IBM Security Directory Integrator.

Anwendungsbeispiele

Die Einsatzmöglichkeiten guter Synchronisations- und Transformationslösungen sind schier unendlich. Die folgende Liste stellt deshalb nur einen kleinen Ausschnitt dar, um eine Idee zu vermitteln, für was diese Lösungen eingesetzt werden können:

  • Bulkload von Datenbanken oder Directories auf Basis von CSV-, XML- oder LDIF-Dateien;
  • Migration einer Datenbankversion auf eine andere oder einer Geschäftsanwendung auf eine andere;
  • Übernahme von Daten in ein Data Warehouse;
  • Abgleich der Nutzer zwischen Active Directory und einem anderen Verzeichnisdienst (einschließlich Kennwortsynchronisation);
  • Synchronisation aller Benutzerverzeichnisse im Unternehmen („Identity Management light“);
  • Aufbau eines „Corporate Directories“;
  • Übernahme von SAP (HR) -Daten in andere Systeme;
  • Exportieren von Daten aus Datenbanken (oder Verzeichnissen) zum Beispiel in ein CSV Format.

Fazit

Datensynchronisation und -transformation sind heute mehr denn je ein Thema, das jede IT Abteilung beschäftigt. Dieser Artikel hat einige der möglichen Ansätze und Werkzeuge vorgestellt, die das Leben der IT Administratoren erleichtern. Dabei wurde bewusst nicht auf die hochkomplexen Replikationsmechanismen von zum Beispiel Datenbanken eingegangen, sondern im täglichen Alltag umzusetzende Lösungen vorgestellt.

Hochflexible Synchronisationswerkzeuge können eine Vielzahl von Synchronisations-, Transformations- und Migrationsaufgaben abdecken und sparen so eine Menge Zeit und Kosten. Die erstellten Bausteine der Synchronisationslösung können beliebig ergänzt, erweitert und für andere Synchronisationsprojekte wiederverwendet werden. So können entsprechende Aufgaben in Minuten umgesetzt werden, für die ansonsten Tage oder gar Wochen notwendig sind.

Über den Autor:
Stefan Köhler ist als Client Technical Professional im Geschäftsbereich IBM Security Systems der IBM Software Group tätig. Zu seinen Aufgaben gehört die Beratung der Kunden sowohl grundsätzlich zum Thema Security als auch zu den IBM Security Produkten. Köhler ist seit 2002 bei IBM beschäftigt und hatte auch bereits vor dieser Zeit in diversen kleineren Unternehmen Security und insbesondere Identity Management als einen Schwerpunkt seiner Aktivitäten.

Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+ und Facebook!

Artikel wurde zuletzt im Februar 2015 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Big Data

0 Kommentare

Älteste Beiträge 

Passwort vergessen?

Kein Problem! Tragen Sie Ihre E-Mail-Adresse unten ein. Wir werden Ihnen eine E-Mail mit Ihrem Passwort schicken.

Ihr Passwort wurde an die folgende E-Mail-Adresse gesendet::

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchDataCenter.de

Close