Ändern einer Spalte verhindern
Sie können durch eine Bildungsregel verhindern, dass der Anwender eine Spalte ändert, die durch eine Bildungsregel gefüllt wird. Ergänzen Sie dazu in der Bildungsregel einen Kommentar mit dem Spaltennamen dieser Spalte in $-Notation. Die Bildungsregel verweist damit auf sich selbst. Eine Änderung in der Spalte wird sofort durch die Bildungsregel überschrieben. Sich selbst überschreibende Bildungsregeln wirken nur, wenn diese Bildungsregeln als überschreibend gekennzeichnet sind.
Beispiel:
Der Anwender soll das zentrale Benutzerkonto einer Identität nicht ändern können. Das soll durch die Bildungsregel verhindert werden.
-
Definieren Sie eine kundenspezifische Bildungsregel an der Spalte Person.CentralAccount.
-
Aktivieren Sie für die Bildungsregel die Option Überschreibend.
-
Ergänzen Sie die Standardbildungsregel um folgenden Eintrag: ’$CentralAccount$.
’$CentralAccount$
If Not CBool(Session.Variables.Get("FULLSYNC")) Then
Value=VI_AE_BuildCentralAccount(GetValue("UID_Person").String,$Lastname$, $Firstname$)
End If
Ausführung von Bildungsregeln limitieren
Um die Anzahl der direkt durch eine Bildungsregel geänderten Objekte zu limitieren, können Sie Schwellwerte definieren.
Um Schwellwerte für eine Bildungsregel festzulegen
-
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.
-
Wählen Sie den Tabreiter Wertbildung und bearbeiten Sie die folgenden Eigenschaften.
-
Schwellwert (asynchron): Erfassen Sie die maximale Anzahl von Objekten, die direkt durch die Bildungsregel geändert werden dürfen. Wird die angegebene Anzahl erreicht, erfolgt die Verarbeitung asynchron über den One Identity Manager Service.
-
Schwellwert (Abbruch): Erfassen Sie die Anzahl an Objekten, bei denen ein Abbruch erfolgen soll. Bei Erreichen der angegebenen Anzahl wird die Verarbeitung mit einer Fehlermeldung abgebrochen.
HINWEIS: Ist ein Schwellwert für den Abbruch angegeben, muss er größer als der Schwellwert für die asynchrone Verarbeitung sein.
-
Wählen Sie den Menüeintrag Datenbank > Übertragung in Datenbank und klicken Sie Speichern.
Verwandte Themen
Beispiel für lokale Bildungsregeln innerhalb eines Objektes
Der vollständige Name (Person.Internalname) einer Identität soll aus dem Nachnamen (Person.Lastname) und dem Vornamen (Person.Firstname) der Identität gebildet werden. Als Bildungsregel für die Spalte Person.Internalname wird angegeben:
Value = $Lastname$ & ", " & $Firstname$
Ist die Bildungsregel als überschreibend gekennzeichnet, wird bei jeder Änderung des Lastname einer Identität geprüft, ob in abhängigen Spalten Bezug auf diesen Wert in Form einer Bildungsregel genommen wird. Trifft dieses zu, wird das Bildungsskript abgearbeitet und der konkrete Wert in die Spalte Internalname eingetragen. Ist die Bildungsregel nicht als überschreibend gekennzeichnet, wird diese nur wirksam, wenn in der Spalte Internalname noch kein Wert eingetragen ist.
Die Spalten Person.Lastname und Person.Firstname sind die Sender und die Spalte Person.Internalname ist der Empfänger. Die Abbildung zum Einfügen eines Datenbankobjektes in der Tabelle DialogNotification lautet:
Person.Lastname --> Person.Internalname
Person.Firstname --> Person.Internalname
Beispiel für objektübergreifende Bildungsregeln
Bezieht sich eine Bildungsregel auf einen Wert eines anderen Objektes, so kann über die Fremdschlüssel (FK)-Beziehung zugegriffen werden.
Abbildung 9: Wirkungsweise von objektübergreifenden Bildungsregeln
Soll beispielsweise der Nachname eines Active Directory Benutzerkontos (ADSAccount.Surname) aus dem Nachnamen einer Identität (Person.Lastname) gebildet werden, so ist die Bildungsregel für die Spalte ADSAccount.Surname folgendermaßen anzugeben:
Value = $FK(UID_Person),Person.Lastname$
Erfolgt eine Änderung des Nachnamens der Identität, wird der Nachname des Active Directory Benutzers ebenfalls geändert. Die Spalte Person.Lastname ist somit der Sender und die Spalte ADSAccount.Surname ist der Empfänger. Die Abbildung der Beziehung in der Tabelle DialogNotification lautet:
Person.Lastname --> ADSAccount.Surname