Grundlage für den Aufbau des One Identity Manager ist eine klassische 3-Schichten-Architektur. Im One Identity Manager ist jedoch die Objektschicht (die Geschäftslogik) geteilt. Dies ermöglicht einen hohen Performance-Gewinn durch eine räumlich und zeitlich getrennte Verarbeitung.
Die Datenbank stellt den Kern des One Identity Manager dar. Sie erfüllt die Hauptaufgaben der Datenhaltung und der Berechnung von Vererbungen. Vererbt werden können Eigenschaften von Objekten entlang von hierarchischen Strukturen, wie Abteilungen, Kostenstellen, Standorten oder Geschäftsrollen. Bei der Datenhaltung bildet die Datenbank die zu verwaltenden Zielsysteme, die ERP-Strukturen sowie Regeln zur Compliance und Zugriffsberechtigungen ab.
Logisch ist die Datenbank in die zwei Bereiche der Nutzdaten und der Metadaten geteilt. Die Nutzdaten enthalten alle für die Datenpflege nötigen Informationen wie beispielsweise Informationen über Personen, Benutzerkonten, Gruppen, Mitgliedschaften und Betriebsdaten, Genehmigungsworkflows, Attestierungen, Rezertifizierungen und Complianceregeln.
Die Metadaten enthalten die Beschreibung des Nutzdatenmodells sowie Skripte für Format- und Bildungsvorschriften oder bedingte Wechselwirkungen. Die komplette Systemkonfiguration des One Identity Managers, die gesamten Einstellungen zur Steuerung der Frontends und die Queues für asynchrone Verarbeitung der Daten und Prozesse sind ebenfalls Teil der Metadaten.
Die Neuberechnung von Vererbungen wird durch die Triggerlogik der Datenbank ausgelöst. Die Trigger stellen dazu Verarbeitungsaufträge in eine als "DBQueue" bezeichnete Auftragsliste ein. Der DBQueue Prozessor verarbeitet diese Aufträge und berechnet die Vererbungen der jeweiligen Datenbankobjekte neu. Eine als "JobQueue" bezeichnete Tabelle dient der Ablage von Verarbeitungsaufträgen, die von der Objektschicht auszuführen sind.
Als Datenbanksysteme kommen SQL Server oder Oracle Database zum Einsatz.
Die Objektschicht ermöglicht den objektorientierten Zugriff auf die Daten der Datenbank. Die VI.DB.DLL erzeugt Entities für Objekte und Collections. Entities nutzen externe Services der Session zum Laden (EntitySource) und Speichern (UnitOfWork) von Datenobjekten. Speicheroperationen werden gruppiert, so dass mehrere Datenobjekte im Bulkverfahren gespeichert werden. Für jedes Objekt stehen Standardereignisse (Insert, Update, Delete) zur Verfügung, die nach dem Speichern generiert werden können.
Jeder Entity sind eine oder mehrere Verarbeitungslogiken zugeordnet (EntityLogic). Diese fassen Operationen zusammen, die für eine Entity ausgeführt werden können. Für die unterschiedlichen Entities wurden eigene Customizer entwickelt. Ein Customizer ist eine EntityLogic, die ein definiertes Verhalten für eine Entity bereitstellt. Customizer führen Verarbeitungslogiken aus, die üblicherweise im Objektcode selbst implementiert würden, wie beispielsweise den gegenseitigen Ausschluss von Eigenschaften.
Jeder Eigenschaft des generierten Objekts kann eine Bildungsregel zugeordnet werden. Bildungsregeln werden zur Generierung von Nutzdaten oder zur Transformation von Werten eingesetzt. Über Bildungsregeln ist es möglich Eigenschaften von Objekten mit Standardwerten zu belegen oder den Wert einer Eigenschaft aus anderen Eigenschaften desselben oder anderer Objekte zu bilden.
Der One Identity Manager verwendet zur Abbildung von Geschäftsprozessen sogenannte Prozesse. Ein Prozess besteht aus Prozessschritten, die Verarbeitungsaufgaben darstellen und über Vorgänger-Nachfolger-Beziehungen miteinander verbunden sind. Dieses Funktionsprinzip erlaubt es, flexibel Aktionen und Abläufe an die Ereignisse von Objekten zu koppeln. Die Modellierung der Prozesse erfolgt über Prozessvorlagen. Die Umwandlung der als Skript definierten Vorlagen in Prozessen und Prozessschritten in einen konkreten Prozess in der JobQueue übernimmt der Jobgenerator.
Der Serverdienst "One Identity Manager Service" sorgt für die Verbreitung der in der One Identity Manager-Datenbank verwalteten Informationen im Netzwerk. Der One Identity Manager Service übernimmt die Datensynchronisation zwischen Datenbank und den angebundenen Zielsystemen sowie die Durchführung von Aktionen auf Datenbank- und Dateiebene. Der One Identity Manager Service holt die Prozessschritte aus der JobQueue ab. Die Prozessschritte werden von Prozesskomponenten ausgeführt. Der One Identity Manager Service erzeugt dazu eine Instanz der benötigten Prozesskomponente und übergibt die Parameter des Prozessschrittes. Eine Entscheidungslogik überwacht die Ausführung der Prozessschritte und veranlasst abhängig vom gemeldeten Ausführungsergebnis die weitere Verarbeitung des Prozesses. Der One Identity Manager Service ermöglicht die parallele Verarbeitung von Prozessschritten, da er mehrere Instanzen von Prozesskomponenten erzeugen kann.
Der One Identity Manager Service ist die einzige Komponente des One Identity Manager, die berechtigt ist, Änderungen in den Zielsystemen auszuführen.
Streng betrachtet ist der One Identity Manager Service kein Bestandteil der Objektschicht, da er keine Geschäftslogik enthält. Der One Identity Manager Service stellt ein Hilfsmittel zur Realisierung der asynchronen Verarbeitung dar.
Abbildung 1: Objektschicht des One Identity Manager
Die Präsentationsschicht besteht aus Frontends die zur Ein- und Ausgaben von Daten dienen. Für unterschiedliche Aufgabenstellungen gibt es verschiedene Frontends. Beispielsweise wird zur Konfiguration des One Identity Manager ein anderes Frontend verwendet als zur Verwaltung von Personendaten. Die darzustellenden Inhalte und ihre Änderbarkeit werden in Abhängigkeit der Zugriffsrechte des jeweiligen Benutzers durch die Objektschicht bestimmt. Als Frontends stehen sowohl Clients als auch eine browserbasierte Lösung zur Verfügung.
Die Clients verbinden sich zu einem Anwendungsserver, der die Geschäftslogik hält. Der Anwendungsserver stellt einen Verbindungspool für den Zugriff auf die Datenbank zur Verfügung und sorgt für eine sichere Verbindung zur Datenbank. Die Clients senden ihre Anfragen an den Anwendungsserver, dieser führt die Verarbeitung der Objekte wie beispielsweise die Bildung von Werten nach definierten Bildungsregeln aus und sendet die Ergebnisse an die Clients zurück. Mit dem Speichern eines Objektes werden die Daten vom Anwendungsserver an die Datenbank übergeben.
Die Clients können alternativ ohne externen Anwendungsserver arbeiten und selbst die Objektschicht halten und direkt auf die Datenbankschicht zugreifen. In den Clients kommt in diesem Fall nur der Teil der Objektschicht zum Einsatz, der die Erfassungsprozesse abbildet.
Für den Einsatz browserbasierter Frontends wird auf einem Webserver eine Applikation betrieben, die aus einer Renderengine für Webseiten besteht. Der Benutzer greift mittels eines Webbrowsers auf die für ihn dynamisch erstellte und angepasste Website zu. Der Austausch zwischen Datenbank und Webserver kann über den Anwendungsserver oder direkt erfolgen.
Abbildung 2: Verteilung der Schichten mit Anwendungsserver
Abbildung 3: Verteilung der Schichten ohne Anwendungsserver
Durch die Objektschicht des One Identity Manager erfolgt der objektorientierte Zugriff auf die Tabellen und Datensätze.
Abbildung 4: Zugriff auf Tabellen und Datensätze
Dabei gelten folgende Abbildungen:
Objekte und Collections werden über Entities abgebildet. Die Entities haben die folgenden Standardmethoden zum Ausführen der Datenbankoperationen:
Beim Laden einer Objektes werden alle Spalten geladen. Beim Laden einer Collection werden aus Performancegründen nicht alle Spalten geladen, sondern lediglich die Primärschlüssel, alle Spalten, die im Anzeigemuster enthalten sind sowie die Angabe, ob ein Objekt zum Löschen markiert ist. Definierte Anzeigemuster geben an, wie die einzelnen Objekte einer Collection im Frontend angezeigt werden. Die Standards für die Anzeigemuster jeder Tabelle sind im One Identity Manager Schema hinterlegt und können angepasst werden.
Weiterhin kennt jedes Objekt die folgenden Standardereignisse, die als Folge des Speicherns generiert werden können:
An diese Ereignisse können Prozesse gekoppelt werden, welche Aktionen in den verschiedenen Zielsystemen ausführen, wie beispielsweise Benutzerkonten anlegen, ein Homeverzeichnis auf einem Server anlegen oder Werte in die One Identity Manager-Datenbank schreiben.
Aktion im Frontend | Zustand des Objektes | Ereignis beim Speichern | Aktion in der Datenbank |
---|---|---|---|
Einfügen eines Objektes. | Objekt existiert nicht. | Insert | UID wird erzeugt, Objekt wird in die Datenbank eingefügt. |
Ändern von Eigenschaften. | Objekt existiert in der Datenbank und ist geladen. | Update | Eigenschaften des Objektes werden geändert. |
Löschen des Objektes. | Objekt existiert in der Datenbank und ist geladen. | Delete |
Für Objekte, die die Eigenschaft "Zum Löschen markiert"( XMarkedForDeletion) besitzen:
Objekte, die keine Eigenschaft "Zum Löschen markiert" besitzen, werden sofort gelöscht. |
Alle Aktionen im One Identity Manager werden über die Objektschicht ausgeführt und in der One Identity Manager-Datenbank gespeichert. Jede Veränderung eines Objektes (Einfügen, Ändern und Löschen) wird innerhalb einer Transaktionsklammer ausgeführt. Ebenfalls fester Bestandteil einer solchen Transaktion ist das Erstellen der Verarbeitungsaufträge selbst. Nur wenn sowohl das Speichern der Änderung als auch das Erstellen der Verarbeitungsaufträge erfolgreich waren, wird die Transaktion erfolgreich abgeschlossen. Sollte innerhalb der Transaktion ein Fehler auftreten, erfolgt ein Rollback der gesamten Transaktion.
Nachfolgend wird der Ablauf beispielhaft für das Einfügen eines Objektes im One Identity Manager erläutert.
Folgende Aktionen werden im Frontend ausgeführt:
Abhängige Eigenschaften innerhalb des Objektes werden durch Bildungsregeln erzeugt. Im Customizer implementierte Nebenwirkungen, wie beispielsweise das gegenseitige Ausschließen bestimmter Eigenschaften, werden angewendet.
Nach dem Speichern des Objektes im Frontend, werden durch die Objektschicht die folgenden Schritte ausgeführt:
Nachfolgende Abbildung verdeutlicht den Datenfluss beim Einfügen eines Objektes.
Abbildung 5: Datenfluss für das Einfügen eines Objektes
Der Designer ist die zentrale Komponente zur Konfiguration des One Identity Manager. Das Programm bietet einen Überblick über das gesamte Datenmodell des One Identity Manager. Es ermöglicht die Konfiguration globaler Systemeinstellungen, wie beispielsweise Sprachen oder Konfigurationsparametern sowie die Anpassung der Benutzeroberfläche der unterschiedlichen Administrationswerkzeuge und die Abstimmung der Rechtestruktur an die verschiedenen administrativen Aufgaben der einzelnen Anwender und Anwendergruppen. Eine weitere zentrale Aufgaben ist die Definition von Arbeitsabläufen zur technischen Abbildung der Administrationsprozesse in einem Unternehmen.
|
HINWEIS: Die allgemeinen Funktionen der One Identity Manager-Werkzeuge finden Sie im One Identity Manager Anwenderhandbuch für die Benutzeroberfläche und Standardfunktionen der One Identity Manager-Werkzeuge. Nachfolgend werden nur zusätzliche Funktionen des Designer beschrieben. |
© 2021 One Identity LLC. ALL RIGHTS RESERVED. Feedback Terms of Use Privacy