Zusätzliche Verarbeitungsmethoden festlegen
Manche Zielsysteme stellen neben den Standard-Verarbeitungsmethoden weitere Verarbeitungsmethoden bereit. Der One Identity Manager kann verschiedene Verarbeitungsmethoden nacheinander für die selbe Objektmenge ausführen.
Um verschiedene Verarbeitungsmethoden für eine Objektmenge zu definieren
- Wählen Sie aus der Auswahlliste eine für die einer Objektmenge aus.
- Um eine weitere Verarbeitungsmethode für diese Objektmenge festzulegen, klicken Sie . Wählen Sie aus der Auswahlliste eine Verarbeitungsmethode aus.
- Legen Sie die Ausführungsreihenfolge der Verarbeitungsmethoden mit den Schaltflächen und fest.
Beispiel
Im One Identity Manager können externe Benutzerkennungen für SAP Benutzerkonten erfasst werden. Bei der Synchronisation von SAP Benutzerkonten aus dem One Identity Manager in die SAP R/3-Umgebung sollen Benutzerkonten, die nur im One Identity Manager vorhanden sind, eingefügt werden. Die zugehörigen externen Benutzerkennungen sollen ebenfalls in das übertragen werden.
Objekte, die nur im One Identity Manager vorhanden sind |
Insert
AddExtID |
Verwandte Themen
Verarbeitung von Teilmengen
Die auszuführende kann auf einen Teil der Objektmenge eingeschränkt werden. Dafür legen Sie die Bedingung fest, unter der die Verarbeitungsmethode ausgeführt wird. Für verschiedene Teilmengen können Sie unterschiedliche Verarbeitungsmethoden festlegen. Diese werden in einer vorgegebenen Reihenfolge ausgeführt.
Um die Verarbeitung verschiedener Teilmengen zu definieren
- Wählen Sie aus der Auswahlliste eine Verarbeitungsmethode für die einer Objektmenge aus.
- Um eine weitere Verarbeitungsmethode für diese Objektmenge festzulegen, klicken Sie . Wählen Sie aus der Auswahlliste eine Verarbeitungsmethode aus.
- Erstellen Sie die Bedingungen, unter denen die Verarbeitungsmethoden ausgeführt werden sollen. Klicken Sie neben der Methode .
Erfassen Sie die Bedingung. Es können Vergleiche, logische Operatoren und Variablen verwendet werden. Sie können die Abfrage mit einem Assistenten zusammenstellen oder direkt erfassen.
- Um in der Bedingung auf die Schemaeigenschaften des Systems zuzugreifen, in dem die Verarbeitungsmethode ausgeführt werden soll, verwenden Sie folgenden Ausdruck: Base.<>
- Um in der Bedingung auf die Schemaeigenschaften des anderen Systems zuzugreifen, verwenden Sie folgenden Ausdruck: Other.<Schemaeigenschaft>
- Legen Sie die Ausführungsreihenfolge der Verarbeitungsmethoden mit den Schaltflächen und fest.
Beispiel
Bei der Synchronisation von Active Directory Benutzerkonten aus dem Active Directory in den One Identity Manager sollen alle Benutzerkonten, die nur im One Identity Manager vorhanden sind, folgendermaßen verarbeitet werden:
1 |
Alle Benutzerkonten, die mit einer Person verbunden sind, sollen zum Löschen markiert werden. |
MarkForDeletion |
Base._Person <> '' |
Alle Benutzerkonten, die nicht mit einer Person verbunden sind, sollen gelöscht werden. |
Delete |
Base.UID_Person = '' |
2 |
Alle Benutzerkonten im Container A sollen gelöscht werden. |
Delete |
Base.UID_ADSContainer = '4b53ff19-6ae4-4a87-86bd-eca3ddf5ebf2' |
Alle Benutzerkonten, die nicht zum Container A gehören, sollen zum Löschen markiert werden. |
MarkForDeletion |
Base.UID_ADSContainer <> '4b53ff19-6ae4-4a87-86bd-eca3ddf5ebf2' |
|
|
|
|
Verwandte Themen
Kundendefinierte Verarbeitungsmethoden festlegen
Neben den Standard-Verarbeitungsmethoden und den zusätzlichen Verarbeitungsmethoden des Konnektors kann der auch kundendefinierte Verarbeitungsmethoden nutzen. Dabei wird ein kundendefiniertes Skript ausgeführt.
Um eine kundendefinierte einzurichten und zu nutzen
-
Erstellen Sie im ein Skript, welches die notwendigen Änderungen an den geladenen Objekten ausführt.
Struktur des Skripts:
References VI.Projector.Database.dll
<Tag("Projector")>
<BaseObjectType("Table")>
Public Sub CCC_ScriptName(unit As IUnitOfWork, entity As IEntity(), args As VI.Projector.Database.ScriptMethodArgs)
'Steps to execute
...
End Sub
-
<Tag("Projector")>: Kennzeichnet das Skript zur Nutzung als Verarbeitungsmethode. Damit identifiziert der Synchronization Editor die Skripte, die als Verarbeitungsmethoden eingesetzt werden können.
-
<BaseObjectType("Table")>: Definiert den Objekttyp, auf den das Skript angewendet werden kann. Geben Sie die Tabelle an, welche die zu verarbeitenden Objekte enthält.
Wenn das Skript auf verschiedene Objekttypen angewendet werden kann, definieren Sie für jede Tabelle einen separaten Objekttyp.
-
CCC_ScriptName: Name des Skripts. Unter diesem Namen kann das Skript im Synchronization Editor als Verarbeitungsmethode ausgewählt werden. Geben Sie einen Namen an, der die Verarbeitungsmethode eindeutig beschreibt.
Ausführliche Informationen zum Erstellen von Skripten mit dem Skripteditor finden Sie im One Identity Manager Konfigurationshandbuch.
-
Kompilieren Sie das Skript.
-
Öffnen Sie im Synchronization Editor das .
-
Wählen Sie die Kategorie Konfiguration | One Identity Manager Verbindung und aktualisieren Sie das One Identity Manager .
-
Wählen Sie in der Kategorie Workflows den , in dem die neue Verarbeitungsmethode genutzt werden soll.
-
Wählen Sie den Synchronisationsschritt und klicken Sie Bearbeiten.
Der Synchronisationsschritt muss den Objekttyp verarbeiten, der im Skript definiert ist.
-
Auf dem Tabreiter Verarbeitung kann die Verarbeitungsmethode unter dem Skriptnamen ausgewählt werden.
Beispielskripte
Folgendes Beispielskript entfernt die Manager an allen Abteilungen und Standorten, an denen das Skript als Verarbeitungsmethode eingesetzt wird.
References VI.Projector.Database.dll
<Tag("Projector")>
<BaseObjectType("Department")>
<BaseObjectType("Locality")>
Public Sub CCC_Department_RemoveManager(unit As IUnitOfWork, entities As IEntity(), args As VI.Projector.Database.ScriptMethodArgs)
For Each currEntity As IEntity In entities
If Not String.IsNullOrEmpty(currEntity.GetValue("_PersonHead").ToString()) Then
currEntity.PutValue("UID_PersonHead","")
unit.Put(currEntity)
End If
Next
End Sub
Folgendes Beispielskript legt Datenbankobjekte an oder aktualisiert diese.
References VI.Projector.Database.dll
<Tag("Projector")>
<BaseObjectType("ADSAccount")>
Public Sub CCC_SpecialCommit(unit As IUnitOfWork, entities As IEntity(), args As VI.Projector.Database.ScriptMethodArgs)
For Each entity In entities
For Each kvp In args.Changes
entity.PutValue(kvp.Key, kvp.Value)
Next
unit.Put(entity)
Next
End Sub
Verwandte Themen
Quotas festlegen
Fehler in der Synchronisationskonfiguration können dazu führen, dass Systemobjekte falsch verarbeitet werden. Fehler im Datenbestand durch Fehlkonfigurationen können gemindert werden. Oftmals ist bekannt, welcher Anteil an Systemobjekten in einem üblicherweise geändert, eingefügt oder gelöscht wird. Wenn bei der Ausführung einer dieser Anteil überstiegen wird, soll eine Warnung erscheinen und die abgebrochen werden. Die Konfiguration des Synchronisationsschrittes und des kann daraufhin überprüft und korrigiert werden, bevor die Synchronisation erneut ausgeführt wird.
Um den Anteil der in einem Synchronisationsschritt maximal zu verarbeitenden Systemobjekte festzulegen, definieren Sie für die einzelnen Verarbeitungsmethoden Quotas. Eine gibt die Menge der maximal zu verarbeitenden Objekte relativ zur Gesamtmenge aller Objekte der zu synchronisierenden an. Wenn ein Synchronisationsschritt ausgeführt wird, ermittelt der One Identity Manager für jede Verarbeitungsmethode mit Quota die Anzahl der zu verarbeitenden Objekte. Wenn diese Anzahl die Quota übersteigt, werden keine Objekte dieser Schemaklasse verarbeitet. Die Synchronisation wird abgebrochen und eine Meldung ins Synchronisationsprotokoll geschrieben.
Für die Synchronisation ins und für die Synchronisation in den One Identity Manager können unterschiedliche Quotas definiert werden.
Tabelle 54: Quotas für einen Synchronisationsschritt
Keine Quota |
Gibt an, ob Quotas bei der Synchronisation berücksichtigt werden. Wenn die Option aktiviert ist, werden keine Quotas berücksichtigt. |
Verwende folgende Einstellungen |
Gibt das verbundene System und die Verarbeitungsmethoden an, welche Quotas berücksichtigen sollen.
- Wählen Sie das verbundene System, welches das Ziel der Synchronisation ist.
- Wählen Sie die Verarbeitungsmethoden und geben Sie die Quota in Prozent an.
Beim Einrichten eines neuen Synchronisationsschritts wird für Objekte im One Identity Manager für die Verarbeitungsmethode Delete automatisch eine Quota von 10 % festgelegt. Passen Sie diese Quota Ihren Erfordernissen an.
In Workflows, die mit dem -Assistenten erstellt werden, legt der One Identity Manager standardmäßig Quotas für die Synchronisation in das Zielsystem fest. Passen Sie diese Quotas Ihren Erfordernissen an.
- Verarbeitungsmethode Update: 75 %
- Verarbeitungsmethode Delete: 10 % für Einzelobjekte, 20 % für M:N-Schematypen
|
Hinweise
-
Quotas können nur für Verarbeitungsmethoden definiert werden, die Daten ändern (beispielsweise Insert, Update, Delete).
-
Bei der Berechnung der Anzahl der zu verarbeitenden Objekte, berücksichtigt der One Identity Manager die Menge der in die schlanke Liste geladenen Objekte. Bedingungen an den Verarbeitungsmethoden werden hier nicht berücksichtigt!
Wenn an einer Verarbeitungsmethode eine Bedingung hinterlegt ist, welche die Menge der zu synchronisierenden Objekte einschränkt, geben Sie für diese Verarbeitungsmethode eine entsprechend höhere Quota an.
-
Um zu prüfen, ob die Quota überschritten wird, werden zuerst alle zu verarbeitenden Objekte geladen. Erst danach wird die Verarbeitungsmethode ausgeführt. Bei großen Datenmengen kann das die Synchronisationsperformance beeinträchtigen.
-
Wenn die Quota durch ein einzelnes Objekt überstiegen wird, wird dieses Objekt trotzdem verarbeitet.
Wenn beispielsweise für eine Schemaklasse mit nur 8 Objekten eine Quota von 10 % definiert ist und genau ein Objekt geändert wurde, dann wird dieses Objekt verarbeitet, obwohl rechnerisch die Quota dadurch bereits überschritten ist.
In Provisionierungsworkflows sind Quotas wirkungslos, da immer nur Einzelobjekte verarbeitet werden.
-
Auf die Synchronisation von Mitgliedschaften wirken Quotas nur, wenn M:N-Schematypen in einem separaten Synchronisationsschritt verarbeitet werden. (Beispiel: Synchronisation der Zuweisungen von SAP an SAP Benutzerkonten. Die Quota bezieht sich auf die Menge der UserInRole-Objekte.)
Wenn Mitgliedschaften als eines Basisobjekts (Mitgliederliste) gespeichert sind, wirkt die Quota nur auf das und nicht auf die einzelnen Mitglieder. (Beispiel: Synchronisation von Active Directory Gruppen. Die Quota bezieht sich nur auf die Menge der Gruppen und nicht auf die Menge der Mitglieder.)
Verwandte Themen