Tabellenbeziehungen
Wie aus dem Datenmodell des One Identity Manager ersichtlich, bestehen zwischen den Objekten Beziehungen (Parent/Childrelations). Bei Bearbeitung eines Objektes über die Objektschicht des One Identity Manager besteht Zugriff auf alle mit diesem Objekt in Beziehung stehenden Fremdschlüssel-Objekte (FK). Der Zugriff auf Objekte über die Beziehungen erfolgt in VB.Net-Notation.
Abbildung 11: Parent/Childrelation am Beispiel Person-ADSAccount
HINWEIS: Die Tabellenbeziehungen kundenspezifischer Tabellen sind immer bearbeitbar. Die Bearbeitung der Tabellenbeziehung der mitgelieferten Standardtabellen ist nur möglich, wenn die Überprüfung der referentiellen Integrität durch die Objektschicht erfolgt.
Um Tabellenbeziehungen zu bearbeiten
-
Wählen Sie im Designer die Kategorie One Identity Manager Schema.
-
Wählen Sie die Tabelle aus und starten Sie den Schemaeditor über die Aufgabe Tabellendefinition anzeigen.
-
Wählen Sie unter Tabellenrelationen die Tabellenbeziehung und bearbeiten Sie in der Ansicht Relationseigenschaften die Eigenschaften.
-
Wählen Sie den Menüeintrag Datenbank > Übertragung in Datenbank und klicken Sie Speichern.
Tabelle 27: Eigenschaften von Tabellenbeziehungen
Anzeigename |
Sprachabhängige Bezeichnung der Tabellenbeziehung zur Darstellung in der Oberfläche der Administrationswerkzeuge. |
Transport nur im Verbund |
Gibt an, ob bei Datentransporten der Inhalt der Tabelle zusammen mit den Inhalten der referenzierten Tabelle übertragen werden soll. Die Werte können Sie miteinander kombinieren. Zulässige Werte sind:
-
Kein Wert: Abhängigkeiten werden nicht beachtet.
-
CR Richtung: Alle Objekte, die auf dieses Objekt verweisen, werden mit exportiert. Es erfolgt eine Übermengenbehandlung.
-
FK Richtung: Alle per Fremdschlüssel referenzierten Objekte werden mit exportiert. Es erfolgt eine Übermengenbehandlung.
-
Bei Übermengenbehandlung ignorieren: Referenzierte Objekte, die im Ziel vorhanden sind, jedoch im Transportpaket nicht enthalten sind, werden nicht gelöscht.
Beispiel:
Beim Transport eines Prozesses (Tabelle JobChain) sollen die Prozessschritte (Tabelle Job), die Ereignisse (Tabellen JobEventGen und QBMEvent) sowie die Prozessschrittparameter (Tabelle JobRunParameter) immer mit transportiert werden. Das soll unabhängig davon erfolgen, ob der Prozess, ein einzelner Prozessschritt oder ein Prozessschrittparameter in ein Transportpaket übernommen wird. Die Tabellenrelationen sind mit den Werten CR Richtung und FK Richtung gekennzeichnet.
Die Parametervorlagen (Tabelle JobParameter), die in den Prozessschrittparameter (Tabelle JobRunParameter) verwendet werden, sind beim Transport nicht zu übernehmen. Die Tabellenrelationen sind mit keinem Wert gekennzeichnet. |
Änderungsdatum für Abhängigkeiten aktualisieren |
Beim Einfügen, Ändern und Löschen von M:N-Einträgen wird der Wert der Spalte XDateSubItem im zugehörigen Parent-Eintrag aktualisiert. Wird benötigt für die Provisionierung von Mitgliedschaften in die Zielsysteme. |
Export für SPML-Schema |
Gibt an, ob die Tabellenbeziehung für das SPML-Schema exportiert werden soll. |
Übergeordnetes Objekt in der Jobqueue |
Gibt an, ob das übergeordnete Objekt in die Liste der von einem Prozess betroffenen Objekte aufgenommen werden soll. Damit kann verhindert werden, dass das übergeordnete Objekt mehrfach gleichzeitig verarbeitet wird. |
Parent-Spalte |
Eindeutige Kennung der Parent-Spalte. |
Parent-Beziehung konfigurierbar |
Gibt an, ob diese referentielle Integrität konfiguriert werden darf. |
Prüfinstanz der Parent-Beziehung |
Gibt an, wer die Überprüfung dieser referentiellen Integrität ausführen soll. Zulässige Werte sind:
-
DLL: Die Überprüfung erfolgt durch die Objektschicht.
-
Trigger: Zur Überwachung durch die Datenbank werden Trigger und Constraints eingesetzt. Die Trigger und Constraints werden unter Einbeziehung der vorgegebenen Beschränkungen durch den DBQueue Prozessor automatisch erzeugt und gegebenenfalls angepasst. Für kundenspezifische Tabellen legen Sie die Prüfinstanz und die Beschränkungen bei der Erweiterung des One Identity Manager Schemas fest.
-
Nothing: keine Überprüfung |
Restriktion der Parent-Beziehung |
Restriktion der Beziehung. Zulässige Werte sind:
-
Delete: Beim Löschen des Objektes werden Abhängigkeiten nicht beachtet.
-
Delete Cascade: Beim Löschen des Objektes werden alle davon abhängigen Objekte ebenfalls gelöscht.
-
Delete Restrict: Das Objekt wird erst gelöscht, nachdem keine Beziehungen zu anderen Objekten bestehen.
-
Delete Set NULL: Beim Löschen des Objektes werden in allen abhängigen Objekten die Verweise auf das zu löschende Objekt entfernt (SetNULL). |
Generierte Restriktionsprüfung der Parent-Beziehung |
Kennung für Trigger und Constraints, die durch den DBQueue Prozessor automatisch generiert werden. |
Verbundene Spalte |
Eindeutige Kennung der verbundenen Spalte. |
Child-Beziehung konfigurierbar |
Gibt an, ob diese referentielle Integrität konfiguriert werden darf. |
Prüfinstanz der Child-Beziehung |
Gibt an, wer die Überprüfung dieser referentiellen Integrität ausführen soll. Zulässige Werte sind:
-
DLL: Die Überprüfung erfolgt durch die Objektschicht.
-
Trigger: Zur Überwachung durch die Datenbank werden Trigger und Constraints eingesetzt. Die Trigger und Constraints werden unter Einbeziehung der vorgegebenen Beschränkungen durch den DBQueue Prozessor automatisch erzeugt und gegebenenfalls angepasst. Für kundenspezifische Tabellen legen Sie die Prüfinstanz und die Beschränkungen bei der Erweiterung des One Identity Manager Schemas fest.
-
Nothing: keine Überprüfung |
Restriktion der Child-Beziehung |
Restriktion der Beziehung. Zulässige Werte sind:
-
Insert: Beim Einfügen des Objektes werden Abhängigkeiten nicht beachtet.
-
Insert Restrict: Beim Einfügen des Objektes wird geprüft, ob das referenzierte Objekt existiert. |
Generierte Restriktionsprüfung der Child-Beziehung |
Kennung für Trigger und Constraints, die durch den DBQueue Prozessor automatisch generiert werden. |
Beziehungs-ID |
Identifikator der Beziehung. Dieser wird für beide Richtungen verwendet. |
M:N Beziehung |
Gibt an, ob die Child-Beziehung über eine M:N-Beziehung erreichbar ist. |
Tabellenbeziehung |
Eindeutige Kennung der Tabellenbeziehung. |
Beziehung (Basis) |
Verweis auf zugrunde liegende Basisbeziehung, sofern an der Beziehung eine Sicht (View) beteiligt ist. |
Beziehung (M:N) |
Eindeutige Kennung der M:N Beziehung. |
Dynamische Fremdschlüssel
Dynamische Fremdschlüssel werden verwendet, wenn eine Referenz auf unterschiedliche Tabellen verweisen kann. Beispielsweise kann der Manager eines Benutzerkontos (Tabelle ADSAccount.ObjectKeyManager) ein anderes Benutzerkonto (Tabelle ADSAccount) oder ein Kontakt (Tabelle ADSContact) sein.
Dynamische Fremdschlüssel verweisen auf den Objektschlüssel (XObjectKey) der zulässigen Tabellen. Die zulässigen Tabellen können eingeschränkt werden. Ist keine Einschränkung festgelegt, sind alle Tabellen zulässig. Einschränkungen werden in der Tabelle DialogValidDynamicRef abgelegt.
Wenn Sie kundenspezifische dynamische Fremdschlüssel definieren, muss mindestens einer der beteiligten Partner - dynamische Fremdschlüsselspalte oder referenzierte Tabelle - ein kundenspezifisches Objekt sein. Die Erweiterung von vordefinierten dynamischen Fremdschlüsseln um Referenzen auf vordefinierte Tabellen ist nicht möglich.
Um dynamische Fremdschlüssel anzuzeigen
-
Wählen Sie im Designer die Kategorie One Identity Manager Schema.
-
Wählen Sie die Tabelle aus und starten Sie den Schemaeditor über die Aufgabe Tabellendefinition anzeigen.
Die dynamischen Fremdschlüssel werden unter Dynamische Tabellenrelationen angezeigt.
Um einen dynamischen Fremdschlüssel zu definieren
-
Wählen Sie im Designer die Kategorie One Identity Manager Schema.
-
Wählen Sie die Tabelle aus und starten Sie den Schemaeditor über die Aufgabe Tabellendefinition anzeigen.
-
Wählen Sie die Spalte und wählen Sie die Ansicht Spalteneigenschaften.
-
Auf dem Tabreiter Sonstiges bearbeiten Sie folgende Informationen.
-
Aktivieren Sie die Option Dynamische Fremdsschlüsselspalte.
-
Ist der dynamische Fremdschlüssel Bestandteil einer M:all-Tabelle, aktivieren Sie die Option Teil des Schlüssels einer M:all-Tabelle.
-
Auf dem Tabreiter Zulässige Zieltabellen klicken Sie neben der Auswahlliste Dynamische referenzierte Tabellen die Schaltfläche und erfassen Sie die folgenden Informationen.
Tabelle 28: Eigenschaften für dynamischer Fremdschlüssel
Tabelle |
Tabelle, aus der der Objektschlüssel ermittelt werden soll. |
Restriktion der Parent-Beziehung |
Restriktion der Beziehung. Zulässige Werte sind:
-
Delete: Beim Löschen des Objektes werden Abhängigkeiten nicht beachtet.
-
Delete Cascade: Beim Löschen des Objektes werden alle davon abhängigen Objekte ebenfalls gelöscht.
-
Delete Restrict: Das Objekt wird erst gelöscht, nachdem keine Beziehungen zu anderen Objekten bestehen.
-
Delete Set NULL: Beim Löschen des Objektes werden in allen abhängigen Objekten die Verweise auf das zu löschende Objekt entfernt (SetNULL). |
Prüfinstanz der Parent-Beziehung |
Gibt an, wer die Überprüfung dieser referentiellen Integrität ausführen soll. Zulässige Werte sind:
|
Restriktion der Child-Beziehung |
Restriktion der Beziehung. Zulässige Werte sind:
-
Insert: Beim Einfügen des Objektes werden Abhängigkeiten nicht beachtet.
-
Insert Restrict: Beim Einfügen des Objektes wird geprüft, ob das referenzierte Objekt existiert. |
Prüfinstanz der Child-Beziehung |
Gibt an, wer die Überprüfung dieser referentiellen Integrität ausführen soll. Zulässige Werte sind:
|
Transport nur im Verbund |
Der Inhalt der Spalte wird bei Datentransporten immer zusammen mit den Inhalten der referenzierten Spalte übertragen. |
Übergeordnetes Objekt in der Jobqueue |
Gibt an, ob das übergeordnete Objekt in die Liste der von einem Prozess betroffenen Objekte aufgenommen werden soll. Damit kann verhindert werden, dass das übergeordnete Objekt mehrfach gleichzeitig verarbeitet wird. |
-
Wählen Sie den Menüeintrag Datenbank > Übertragung in Datenbank und klicken Sie Speichern.
Unterstützung von Dateigruppen
One Identity Manager unterstützt Dateigruppen, um Tabellen zum Zweck der Verwaltung, Datenzuordnung und Datenverteilung zu Gruppen zusammenzufassen. Es werden dazu logische Speicherorte und physische Speicherorte unterschieden.
In der Standardinstallation sind für die Tabellen jedes Moduls des One Identity Manager sowie die Systemtabellen logische Speicherorte vordefiniert. Die Zuordnungen können Sie nicht ändern. Sie können zur Gruppierung kundenspezifischer Tabellen eigene logische Speicherorte erstellen.
Um logische Speicherorte für kundenspezifische Tabellen zu definieren
-
Wählen Sie im Designer die Kategorie One Identity Manager Schema > Logische Speicherorte.
-
Wählen Sie den Menüeintrag Objekt > Neu.
-
Erfassen Sie die Bezeichnung des logische Speicherortes und eine Beschreibung.
-
Weisen Sie dem logischen Speicherort die kundenspezifischen Tabellen zu.
-
Wählen Sie den Menüeintrag Ansicht > Tabellenrelationen wählen und aktivieren Sie die Tabelle DialogTable. In der Bearbeitungsansicht wird der Tabreiter Tabellen angezeigt, über welchen Sie die Tabellen zuweisen.
Logische Speicherorte können im One Identity Manager-Schema mit physischen Speicherorten - den Dateigruppen - verbunden werden.
Werden beispielsweise für Tabellen mit Identitätendaten und für Tabellen mit Active Directory Inhalten Dateigruppen auf verschiedenen Datenträger erzeugt, kann durch parallelisierten Zugriff über eigene E/A-Controller die Performance erhöht werden. Werden beispielsweise die Tabellen zur Verarbeitung der DBQueue Prozessor-Aufträge oder die Tabellen zur Prozessverarbeitung in Dateigruppen zusammengefasst, die auf einer SSD liegen, kann ebenfalls die Performance erhöht werden.
HINWEIS: Um die einwandfreie Funktion der One Identity Manager-Datenbank zu gewährleisten, können die folgenden Tabellen nicht in andere Dateigruppen verschoben werden.
-
DialogColumn
-
DialogTable
-
DialogValidDynamicRef
-
QBMDBQueueTask
-
QBMDBQueueTaskDepend
-
QBMModuleDef
-
QBMModuleDepend
-
QBMRelation
-
QBMViewAddOn
-
QBMDiskStoreLogical
-
QBMDiskStorePhysical
Der One Identity Manager unterstützt die Verteilung der Tabellen auf Dateigruppen mit einer Reihe von Datenbankprozeduren, die Sie in einem geeigneten Programm zur Ausführung von SQL-Abfragen in der Datenbank ausführen.
|
VORSICHT: Die nachfolgenden Schritte zum Einsatz von Dateigruppen sollten nur in Zusammenarbeit mit einem erfahrenen Datenbankadministrator ausgeführt werden.
Stellen Sie sicher, dass während der Bereitstellung der Dateigruppen keine Zugriffe auf die Datenbank erfolgen, beispielsweise durch Jobserver, Anwendungsserver, Webserver, Frontends, Web Portal. Warten Sie nach dem Reaktivieren des DBQueue Prozessor bis alle Aufträge der DBQueue verarbeitet wurden, bevor Sie Verbindungen zur Datenbank wieder zulassen. |
WICHTIG: Verwenden Sie für die Ausführung der SQL-Abfragen den Benutzer, den Sie auch für die Migration der Datenbank verwenden.
Um Tabellen unter SQL Server auf Dateigruppen zu verteilen
-
Erstellen Sie Ihre Dateigruppen. Ausführliche Informationen dazu entnehmen Sie der Dokumentation Ihrer eingesetzten SQL Server-Version.
-
Synchronisieren Sie die Dateigruppen in die One Identity Manager-Datenbank. Führen Sie dazu die folgende Abfrage in einem geeigneten Programm zur Ausführung von SQL-Abfragen in der Datenbank aus.
exec QBM_PDiskStorePhysicalSync
-
Weisen Sie im Designer die physischen Speicherorte an die logischen Speicherorte zu.
-
Wählen Sie im Designer die Kategorie One Identity Manager Schema > Logische Speicherorte.
-
Wählen Sie den logischen Speicherort und wählen Sie in der Ansicht Eigenschaften unter Physischer Speicherort die Dateigruppe.
-
Wählen Sie den Menüeintrag Datenbank > Übertragung in Datenbank und klicken Sie Speichern.
-
Deaktivieren Sie die Verarbeitung der DBQueue Prozessor-Aufträge und die Prozessverarbeitung. Führen Sie dazu die folgende Abfragen in einem geeigneten Programm zur Ausführung von SQL-Abfragen in der Datenbank aus.
exec QBM_PWatchDogPrepare 1
exec QBM_PDBQueuePrepare 1
-
Verschieben Sie die Tabellen in die konfigurierten Dateigruppen. Führen Sie dazu die folgende Abfrage in einem geeigneten Programm zur Ausführung von SQL-Abfragen in der Datenbank aus.
exec QBM_PTableMove
-
Reaktivieren Sie den DBQueue Prozessor. Führen Sie dazu die folgende Abfragen in einem geeigneten Programm zur Ausführung von SQL-Abfragen in der Datenbank aus.
exec QBM_PDBQueuePrepare 0,1
exec QBM_PWatchDogPrepare
Volltextsuche im One Identity Manager
Voraussetzung für die Nutzung der Volltextsuche ist ein Anwendungsserver, auf dem der Suchdienst installiert ist. Ausführliche Informationen zur Installation eines Anwendungsservers für die Volltextsuche finden Sie im One Identity Manager Installationshandbuch.
Die Volltextsuche kann im Web Portal und im Manager genutzt werden. Ausführliche Informationen finden Sie im One Identity Manager Web Portal Anwenderhandbuch und im One Identity Manager Anwenderhandbuch für die Benutzeroberfläche der One Identity Manager-Werkzeuge.
Für die Konfiguration für die Volltextsuche gilt:
-
Soll eine Tabelle oder eine Datenbanksicht für die Volltextsuche indiziert werden, müssen die Spalten XDateInserted, XDateUpdated und XObjectKey vorhanden sein.
-
Spalten für die Volltextsuche benötigen eine Wichtung. Eine höhere Wichtung führt zu einer höheren Position im Ergebnis der Volltextsuche. In der Standardinstallation werden Spalten für die Volltextsuche mit einer Wichtung von 1 bereitgestellt.
Beispiel: Wichten von Spalten
Die Spalte Person.CentralAccount ist mit dem Wert 1 gewichtet. Die Spalte ADSAccount.SAMAccountName ist mit dem Wert 0,5 gewichtet. Damit wird im Ergebnis der Volltextsuche die Identität vor dem Benutzerkonto aufgelistet.
HINWEIS: Die Wichtung hat keine Auswirkung auf die Sortierung der Ergebnisse in der Benutzeroberfläche. Wenn Sie beispielsweise im Web Portal die Suche auf die 100 besten Treffer beschränken, bestimmt die Wichtung, welche 100 Objekte zurückgegeben werden. Aber diese 100 Objekte werden dann wieder von der Benutzeroberfläche sortiert.
-
Es können nur Spalten mit den .Net-Datentypen String, Text oder Int in die Volltextsuche aufgenommen werden.
Ausnahme: Spalten, die eine Liste zulässiger Werte enthalten, können immer in die Volltextsuche aufgenommen werden.
-
Spalten von Tabellen mit dem Nutzungstyp Arbeitstabellen oder Historische Bewegungsdaten können nicht in die Volltextsuche aufgenommen werden.
-
Spalten von Zuordnungstabellen (M:N-Tabellen, M:all-Tabellen) können nicht in die Volltextsuche aufgenommen werden.
Durch den Suchdienst indiziert werden:
-
der Inhalt einer Spalte,
-
die Anzeigewerte von Fremdschlüsselspalten,
-
die Anzeigewerte von Listen zulässiger Werte,
-
die Übersetzungen für jede aktivierte Sprache,
-
der Anzeigewert eines Objektes, wenn die Primärschlüsselspalte der Tabelle für die Volltextsuche konfiguriert ist.
Der Anzeigewert eines Objektes ergibt sich aus dem Anzeigemuster, das für die Tabelle definiert ist. Die Wichtung des Anzeigewertes ergibt sich aus der Wichtung der Primärschlüsselspalte der Tabelle.
Beispiel: Anzeigewert in der Volltextsuche
Die Spalte Person.UID_Person ist für die Volltextsuche konfiguriert. Das Anzeigemuster der Tabelle Person ist definiert als %InternalName% (%CentralAccount%).
Für die Identität Alex Miller wird somit der Anzeigewert Alex Miller (AlexM) indiziert.
Bei Änderungen an einer Tabelle mit indizierten Spalten, den referenzierten Tabellen oder den Übersetzungen wird der Suchindex aktualisiert.