Chat now with support
Chat with Support

Identity Manager 9.3 - Konfigurationshandbuch

Über dieses Handbuch Softwarearchitektur des One Identity Manager Kundenspezifische Änderungen an der One Identity Manager Standardkonfiguration Anpassen der One Identity Manager Basiskonfiguration Grundlagen zum One Identity Manager Schema
Übersicht über das One Identity Manager Schema Tabellenarten und Standardspalten im One Identity Manager Datenmodell Hinweise zur Bearbeitung von Tabellendefinitionen und Spaltendefinitionen Tabellendefinitionen Spaltendefinitionen Tabellenbeziehungen Dynamische Fremdschlüssel Unterstützung von Dateigruppen
Volltextsuche im One Identity Manager Lokalisierung im One Identity Manager Prozess-Orchestrierung im One Identity Manager
Abbildung von Prozessen im One Identity Manager
Bearbeiten von Prozessen mit dem Prozesseditor Definieren von Prozessen Prozessgenerierung simulieren Gültigkeitsprüfung eines Prozesses Kompilieren von Prozessen testen Änderungen von Prozessen übernehmen und kompilieren Verwenden von prozesslokalen Variablen und globalen Variablen für die Prozessdefinition Schwellwerte für die Verarbeitung von Prozessen Festlegen des ausführenden Servers Benachrichtigung zur Verarbeitung von Prozessschritten Automatisierte Ausführung von Prozessen Übersicht über die Prozesskomponenten
Einrichten von Jobservern
Arbeitsweise des One Identity Manager Service Prozessüberwachung zur Nachverfolgung von Änderungen Bedingte Kompilierung mittels Präprozessorbedingungen Skripte im One Identity Manager
Verwendung von Visual Basic .NET-Skripten Hinweise zur Verwendung von Datumswerten Hinweise zur Verwendung von PowerShell Skripten Verwendung der $-Notation Verwendung von base Objekt Aufruf von Funktionen Prä-Skripte zur Verwendung in Prozessen und Prozessschritten Verwendung von Session Services Verwendung der #LD-Notation Anzeigen von Meldungen in der Benutzeroberfläche Referenzieren von Paketen und Dateien in Skripten Skriptbibliothek Unterstützung bei der Bearbeitung von Skripten im Skripteditor Skripte mit dem Skripteditor erstellen und bearbeiten Skripte im Skripteditor kopieren Skripte im Skripteditor testen Kompilieren von Skripten im Skripteditor testen Änderungen von Skripten übernehmen und kompilieren Überschreiben von Skripten Berechtigungen zu Ausführen von Skripten Bearbeiten und Testen von Skriptcode mit dem System Debugger Erweitertes Debugging im Object Browser
One Identity Manager Abfragesprache Bearbeiten der Benutzeroberfläche
Objektdefinitionen für die Benutzeroberfläche Menüführung der Benutzeroberfläche Formulare für die Benutzeroberfläche Statistiken im One Identity Manager Erweitern des Launchpad Methodendefinitionen für die Benutzeroberfläche Anwendungen für die Gestaltung der Benutzeroberfläche Symbole und Bilder für die Gestaltung der Benutzeroberfläche Verwenden vordefinierter Datenbankabfragen
Berichte im One Identity Manager Erweiterung des One Identity Manager Schemas um kundenspezifische Tabellen oder Spalten Webservice Integration One Identity Manager als SCIM 2.0 Serviceprovider Verarbeitung von DBQueue Prozessor-Aufträgen Aufbau der Konfigurationsdatei Jobservice.cfg

Ablauf der Verarbeitung von DBQueue Prozessor-Aufträgen

Der zentrale Dispatcher übernimmt die Steuerung der Verarbeitung und verteilt die Aufträge der DBQueue an die einzelnen Slots.

Es wird zunächst die Anzahl der aktuell verfügbaren Slots ermittelt, die verwendet werden können. Je mehr Last auf dem Datenbankserver vorhanden ist, desto weniger Slots können aktuell verwendet werden, mindestens werden jedoch 5 Slots verwendet.

Die Anzahl der aktuell verfügbaren Slots ergibt sich aus :

Anzahl aktuell verfügbarer Slots = Anzahl der maximal verfügbaren Slots - Betrag für alle Prozesse der eigenen Datenbank - Betrag für Prozesse auf anderen Datenbanken des Servers

Der zentrale Dispatcher prüft die Betriebsbereitschaft der Slots. Der Status der Slots kann über die Datenbanksicht QBMDBQueueSlot abgefragt werden.

  • Slotstatus 3: Übergabe der Aufträge an die Tabelle QBMDBQueueCurrent.

  • Slotstatus 5: Die Aufträge werden verarbeitet.

Sobald Aufträge in die DBQueue eingetragen werden, verteilt der zentrale Dispatcher die Aufträge in die einzelnen Slots und startet die Verarbeitung der Aufträge. Sofern zulässig, werden die Aufträge parallel auf mehrere Slots verteilt. Dabei wird sichergestellt, dass nicht alle verfügbaren Slots von ein und derselben Auftragsart belegt werden.

Der zentrale Dispatcher ermittelt die Einträge der DBQueue (Tabelle DialogDBQueue) und verschiebt die Aufträge in die Tabelle QBMDBQueueCurrent mit der Zuordnung Auftrag pro Slot.

Beispiel für Einträge in den Tabellen DialogDBQueue und QBMDBQueueCurrent
Tabelle 164: Einträge in Tabelle DialogDBQueue (Auszug)
Name des Auftrags Objekt

OrgRoot

A

OrgRoot

B

ADSAccountInADSGroup

X

ADSAccountInADSGroup

Y

ADSAccountInADSGroup

Z

Tabelle 165: Einträge in Tabelle QBMDBQueueCurrent (Auszug)
Slotnummer Name des Auftrags Objekt

001

OrgRoot

A

001

OrgRoot

B

002

ADSAccountInADSGroup

X

002

ADSAccountInADSGroup

Y

002

ADSAccountInADSGroup

Z

Der zentrale Dispatcher startet die Verarbeitung der Aufträge. Folgeaufträge, die aus der Verarbeitung resultieren, werden in die Tabelle DialogDBQueue eingestellt.

Wenn die Aufträge eines Slots abgearbeitet sind und keine weiteren Aufträge anstehen, wird die Slotnummer in der Tabelle QBMDBQueueCurrent auf 0 gesetzt. Der Eintrag verbleibt zunächst in der Tabelle QBMDBQueueCurrent, wird jedoch nicht mehr beachtet (da Slot 0 kein aktiver Slot ist). In regelmäßigen Abständen werden alle Einträge mit Slotnummer 0 aus der Tabelle QBMDBQueueCurrent gelöscht.

Sind keine Aufträge in der DBQueue vorhanden, geht der zentrale Dispatcher in den Wartezustand.

Stopp-Verhalten nach Ablauf der maximalen Laufzeit

Nach Ablauf der maximalen Laufzeit werden die Aufträge aktuell verwendeter Slots in der Tabelle QBMDBQueueCurrent noch abgearbeitet. Es werden keine neuen Aufträge aus der Tabelle DialogDBQueue übernommen.

Zurückstellen von DBQueue Prozessor-Aufträgen

Zurückgestellte DBQueue Prozessor-Aufträge werden durch den zentralen Dispatcher reaktiviert. Das Zurückstellen von Aufträgen wird im Systemprotokoll aufgezeichnet.

Tabelle 166: Bedeutung der Slotnummern in Tabelle QBMDBQueueCurrent bei Rückstellung von Aufträgen
Slotnummer Bedeutung

-1

Für das Zielsystem des Objektes läuft eine Synchronisation.

-2

Eine Blockierung der Datenbank konnte nicht in der vorgegebenen Zeit zurückgesetzt werden.

-3

Für das zu berechnende Objekt sind noch Einträge in der Jobqueue vorhanden.

-4

Für das zu berechnende Objekt sind noch Aufträge in der DBQueue vorhanden, die eine notwendige Voraussetzung sind.

-5

Eine externe Bedingung ist noch nicht erfüllt.

-6

Das zu berechnende Objekt ist als ausstehend markiert.

-11

Beim Befüllen des Slots war das Objekt noch aus einem früheren Verarbeitungslauf vorhanden.

-12 Das Objekt wurde nach der Verarbeitung immer noch im Slot gefunden.
-23 Bei der Verarbeitung ist eine Deadlock-Situation aufgetreten.

-24

Bei der Verarbeitung ist ein Ausführungsfehler aufgetreten.

-25

Die Delta-Berechnung lief in einen Überladungszustand.

-26

Interne Fehlerbehandlung.

-500

Interne Fehlerbehandlung.

Nutzung des DBQueue-Puffers

Um Blockaden bei der Verarbeitung der Aufträge in der DBQueue durch langlaufende Aktionen, wie beispielsweise Synchronisationen, zu verhindern, wird ein DBQueue-Puffer (Tabelle QBMDBQueuePond) genutzt.

Synchronisationen schreiben ihre DBQueue Prozessor-Aufträge zunächst in die Tabelle QBMDBQueuePond. Nach Abschluss der Synchronisation werden die Einträge aus der Tabelle QBMDBQueuePond in die Tabelle DialogDBQueue verschoben.

Sollte eine langlaufende Aktion über einen definierten Zeitraum keine weiteren Einträge im DBQueue-Puffer erzeugen, weil beispielsweise eine Synchronisation nicht korrekt beendet wurde, werden verbliebene Einträge der Tabelle QBMDBQueuePond in die Tabelle DialogDBQueue verschoben. Der Zeitraum ist im Konfigurationsparameter QBM | DBQueue | BufferTimeout festgelegt. Der Standardwert ist 120 Minuten. Die Übernahme der Einträge erfolgt innerhalb der täglichen Wartungsaufträge.

Verwandte Themen

Aufbau der Konfigurationsdatei Jobservice.cfg

Die Konfiguration des One Identity Manager Service erfolgt über eine Konfigurationsdatei Jobservice.cfg. Die Konfigurationsdatei muss im gleichen Verzeichnis wie die viNetworkService.exe liegen.

Die Datei Jobservice.cfg ist eine XML-Konfigurationsdatei im One Identity Manager eigenen einfacheren Format. Vorteil dieser Datei ist, dass ein Nachladen im laufenden Betrieb unterstützt wird. Für die verschiedenen Module innerhalb des One Identity Manager Service gibt es jeweils eine eigene Konfigurationssektion innerhalb der Datei.

HINWEIS: Beachten Sie die Groß- und Kleinschreibung. Sowohl die Sektionen als auch der Namen der Werte müssen in Kleinbuchstaben geschrieben werden.

Die Wurzel in der XML-Datei heißt immer configuration. In der Sektion category wird jeweils ein Modul der Konfigurationsdatei und seine Werte definiert werden. Derzeit unterstützt das Programm nur den Sektionentyp System.Configuration.NameValueSectionHandler.

<configuration>

<category name="serviceconfiguration">

<value name="jobprovider">VI.JobService.MSSqlJobProvider,jobservice</value>

<value name="HttpPort">1180</value>

<value name="logwriter">VI.JobService.FileLogWriter,jobservice</value>

</category>

</configuration>

Beispiel: Einfache Konfiguration des One Identity Manager Services

Einfache Konfiguration mit:

  • direkter Anbindung an SQL Server

  • nur eine Jobdestination (JobProcessor)

<configuration>

<category name="serviceconfiguration">

<value name="jobprovider">VI.JobService.MSSqlJobProvider,jobservice</value>

<value name="logwriter">VI.JobService.FileLogWriter,jobservice</value>

</category>

<category name="sqlprovider">

<value name="connectstring">User ID=sa;initial Catalog=<Database>;Data Source=<SQL-Server>;Password=<Password></value>

</category>

<category name="filelogwriter">

<value name="loglifetime">0.01:00:00</value>

<value name="logseverity">Info</value>

</category>

<category name="dispatcher" />

<category name="jobdestinations">

<value name="queuex">VI.JobService.JobServiceDestination,jobservice</value>

</category>

<category name="queuex">

<value name="queue">\%COMPUTERNAME%</value>

</category>

</configuration>

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating