Datenregelreferenz zum Anpassen und Transformieren von Identitäts- und Accountattributen
Sie können Regeln hinzufügen, um Identitäts- und Accountattribute anzupassen oder zu transformieren. Diese Regeln sind auf JavaScript geschrieben.
Objekte
|
Objektname |
Zweck |
Beispiel |
|---|---|---|
|
requestAttributes |
Attributobjekt für Provisioning-Anforderung. Diese Attribute sind verfügbar, wenn das Provisioning über Policy-basierte, Zugriffs-Bundle-Anforderungen, rollenbasierte oder direkte Methoden erfolgt. |
|
|
Benutzer |
Benutzerobjekt. Verwenden Sie den erforderlichen Getter, um auf jedes Mitglied zuzugreifen. |
|
|
Anwendung |
Ressourcenobjekt. Verwenden Sie den erforderlichen Getter, um auf jedes Mitglied zuzugreifen. |
|
|
Objektname |
Zweck |
Beispiel |
|---|---|---|
|
Benutzer |
Benutzerobjekt. Verwenden Sie den erforderlichen Getter, um auf ein beliebiges Element für die Identitätsquelle zuzugreifen. |
user.getName().getGivenName(), user.getUserName()
|
|
Konto |
Accountobjekt. Verwenden Sie den erforderlichen Getter, um auf jedes Mitglied für die Verwaltung von Berechtigungen zuzugreifen. |
account.getDisplayName()
|
Best Practices zum Transformieren oder Anpassen von Identitäts- und Accountattributen
Hier sind einige Best Practices und Empfehlungen, die zu berücksichtigen sind:
- Sie können Identitäts- und Accountattribute für eingehende Daten transformieren oder anpassen, die aus autoritativen Quellen oder verwalteten Systemen aufgenommen werden. Sie können jedoch nur Identitätsattribute (Benutzerattribute) für ausgehende Daten transformieren.
- Führen Sie immer eine NULL-Prüfungsregeln für extrahierte Werte durch, bevor Sie sie verwenden. Andernfalls kann dies zu Fehlern im Aufnahmezyklus bei NULL-Referenzen führen. Dies muss sowohl für das Attributobjekt Benutzer in autoritativen Quellen als auch für das Attributobjekt Account in verwalteten Systemen für eingehende Transformationen erfolgen.
- Sie können Attribute mit dem Datentyp "Arrayobjekt" keinen Wert direkt transformieren oder zuweisen, d.h. Attribute, die eine Werteliste zurückgeben, wie E-Mails, Fotos und Adressen. Sie können sie jedoch verwenden, um andere Benutzer- oder Accountattribute zu ändern/zu verwalten. Beispiel: Um den Länderwert als Standardwert für den Attributstandort festzulegen, wenn ein Standort Null ist, verwenden Sie:
user.getLocation() !=null ? user.getLocation() : user.getAddresses()[0].getCountry()
Autoritative Quellidentitätsobjektattribute für ausgehende Transformation
Sie können die ausgehenden Daten ändern oder ändern, indem Sie Datentransformationsregeln auf die verfügbaren oder im orchestrierten System bereitgestellten Daten anwenden. Im Folgenden finden Sie eine Liste der Identity-(Benutzer-)Attribute, die in ausgehenden Datentransformationen verwendet werden können.
Syntax zum Abrufen von Identitätsattributen für ausgehende Daten
Diese Details können mit der folgenden Syntax abgerufen werden:
get<FieldName>()
Vornamen des Benutzers abrufen
user.getName().getGivenName()
| Attribut | Unterattribut | Datentyp | Syntax |
|---|---|---|---|
|
Name |
Referenz |
user.getName()
|
|
|
formatiert |
Zeichenfolge |
user.getName().getFormatted()
|
|
|
familyName |
Zeichenfolge |
user.getName().getFamilyName()
|
|
|
givenName |
Zeichenfolge |
user.getName().getGivenName()
|
|
|
middleName |
Zeichenfolge |
user.getName().getMiddleName()
|
|
|
honorificPrefix |
Zeichenfolge |
user.getName().getHonorificPrefix()
|
|
|
honorificSuffix |
Zeichenfolge |
user.getName().getHonorificSuffix()
|
|
|
userName |
Zeichenfolge |
user.getUserName()
|
|
|
displayName |
Zeichenfolge |
user.getDisplayName()
|
|
|
Beschreibung |
Zeichenfolge |
user.getDescription()
|
|
|
primaryEmail |
Zeichenfolge |
user.getPrimaryEmail()
|
|
|
userType |
Zeichenfolge |
user.getUserType()
|
|
|
title |
Zeichenfolge |
user.getTitle()
|
|
|
employeeNumber |
Zeichenfolge |
user.getEmployeeNumber()
|
|
|
organization |
Referenz |
user.getOrganization()
|
|
|
Wert |
Zeichenfolge |
user.getOrganization().getValue()
|
|
|
Ref. |
Zeichenfolge |
user.getOrganization().getRef()
|
|
|
displayName |
Zeichenfolge |
user.getOrganization().getDisplayName()
|
|
|
resourceType |
Zeichenfolge |
user.getOrganization().getResourceType()
|
|
|
Abteilungen |
Zeichenfolge |
user.getDepartment()
|
|
|
Manager |
Referenz |
user.getManager()
|
|
|
Wert |
Zeichenfolge |
user.getManager().getValue()
|
|
|
Ref. |
Zeichenfolge |
user.getManager().getRef()
|
|
|
displayName |
Zeichenfolge |
user.getManager().getDisplayName()
|
|
|
resourceType |
Zeichenfolge |
user.getManager().getResourceType()
|
|
|
Status |
Zeichenfolge |
user.getStatus()
|
|
|
jobCode |
Zeichenfolge |
user.getJobCode()
|
|
|
Bundesland |
Zeichenfolge |
user.getState()
|
|
|
Risiko |
Zeichenfolge |
user.getRisk()
|
|
|
Standort |
Zeichenfolge |
user.getLocation()
|
|
|
E-Mails |
E-Mail-Liste |
|
|
|
pendingVerificationData |
Zeichenfolge |
email.getPendingVerificationData()
|
|
|
Primär |
Boolescher Wert |
email.getPrimary()
|
|
|
Sekundär |
Boolescher Wert |
email.getSecondary()
|
|
|
Typ |
Zeichenfolge |
email.getType()
|
|
|
Wert |
Zeichenfolge |
email.getValue()
|
|
|
geprüft |
Boolescher Wert |
email.getVerified()
|
|
|
Adressen |
Adressliste |
|
|
|
Land |
Zeichenfolge |
address.getCountry()
|
|
|
formatiert |
Zeichenfolge |
address.getFormatted()
|
|
|
Ort |
Zeichenfolge |
address.getLocality()
|
|
|
postalCode |
Zeichenfolge |
address.getPostalCode()
|
|
|
Primär |
Boolescher Wert |
address.isPrimary()
|
|
|
Region |
Zeichenfolge |
address.getRegion()
|
|
|
streetAddress |
Zeichenfolge |
address.getStreetAddress()
|
|
|
Typ |
Zeichenfolge |
address.getType()
|
|
|
phoneNumbers |
Liste der PhoneNumber |
|
|
|
anzeigen |
Zeichenfolge |
phoneNumber.getDisplay()
|
|
|
Primär |
Boolescher Wert |
phoneNumber.isPrimary()
|
|
|
Typ |
Zeichenfolge |
phoneNumber.getType()
|
|
|
Wert |
Zeichenfolge |
phoneNumber.getValue()
|
|
|
Boolescher Wert |
phoneNumber.isVerified()
|
Autoritative Quellidentitätsobjektattribute für die Anpassung eingehender Transformationen und Identitätsattribute
Sie können die eingehenden Daten ändern oder ändern, indem Sie Datentransformationsregeln während der Datenaufnahmephase in das orchestrierte System anwenden. Sie können dasselbe Attributset verwenden, um das zusammengesetzte Identitätsprofil anzupassen, das in Oracle Access Governance erstellt wurde, indem Sie Identitätsattribute transformieren.
Syntax zum Abrufen von Identitätsattributen für eingehende Daten
Die Attributdetails können mit der folgenden Syntax abgerufen werden:
get<FieldName>()
Vornamen des Benutzers abrufen
user.getName().getGivenName()
| Attribut | Unterattribut | Datentyp | Syntax |
|---|---|---|---|
|
fullName (für OIG/ICF) |
Referenz |
user.getFullName()
|
|
|
formatiert |
Zeichenfolge |
user.getFullName().getFormatted()
|
|
|
familyName |
Zeichenfolge |
user.getFullName().getFamilyName()
|
|
|
givenName |
Zeichenfolge |
user.getFullName().getGivenName()
|
|
|
middleName |
Zeichenfolge |
user.getFullName().getMiddleName()
|
|
|
honorificPrefix |
Zeichenfolge |
user.getFullName().getHonorificPrefix()
|
|
|
honorificSuffix |
Zeichenfolge |
user.getFullName().getHonorificSuffix()
|
|
|
Name (für OCI) |
Referenz |
user.getName()
|
|
|
formatiert |
Zeichenfolge |
user.getName().getFormatted()
|
|
|
familyName |
Zeichenfolge |
user.getName().getFamilyName()
|
|
|
givenName |
Zeichenfolge |
user.getName().getGivenName()
|
|
|
middleName |
Zeichenfolge |
user.getName().getMiddleName()
|
|
|
honorificPrefix |
Zeichenfolge |
user.getName().getHonorificPrefix()
|
|
|
honorificSuffix |
Zeichenfolge |
user.getName().getHonorificSuffix()
|
|
|
userName |
Zeichenfolge |
user.getUserName()
|
|
|
displayName |
Zeichenfolge |
user.getDisplayName()
|
|
|
Beschreibung |
Zeichenfolge |
user.getDescription()
|
|
|
primaryEmail |
Zeichenfolge |
user.getPrimaryEmail()
|
|
|
userType |
Zeichenfolge |
user.getUserType()
|
|
|
title |
Zeichenfolge |
user.getTitle()
|
|
|
employeeNumber |
Zeichenfolge |
user.getEmployeeNumber()
|
|
|
organization |
Referenz |
user.getOrganization()
|
|
|
Wert |
Zeichenfolge |
user.getOrganization().getValue()
|
|
|
Ref. |
Zeichenfolge |
user.getOrganization().getRef()
|
|
|
displayName |
Zeichenfolge |
user.getOrganization().getDisplayName()
|
|
|
resourceType |
Zeichenfolge |
user.getOrganization().getResourceType()
|
|
|
Abteilungen |
Zeichenfolge |
user.getDepartment()
|
|
|
Manager |
Referenz |
user.getManager()
|
|
|
Wert |
Zeichenfolge |
user.getManager().getValue()
|
|
|
Ref. |
Zeichenfolge |
user.getManager().getRef()
|
|
|
displayName |
Zeichenfolge |
user.getManager().getDisplayName()
|
|
|
resourceType |
Zeichenfolge |
user.getManager().getResourceType()
|
|
|
Status |
Zeichenfolge |
user.getStatus()
|
|
|
jobCode |
Zeichenfolge |
user.getJobCode()
|
|
|
Bundesland |
Zeichenfolge |
user.getState()
|
|
|
Risiko |
Zeichenfolge |
user.getRisk()
|
|
|
Standort |
Zeichenfolge |
user.getLocation()
|
|
|
compartmentId |
Zeichenfolge |
user.getCompartmentId()
|
|
|
domainId |
Zeichenfolge |
user.getDomainId()
|
|
|
domainOCID |
Zeichenfolge |
user.getDomainOCID()
|
|
|
Region |
Zeichenfolge |
user.getRegion()
|
|
|
E-Mails |
E-Mail-Liste |
emails = user.getEmails()
|
|
|
pendingVerificationData |
Zeichenfolge |
user.getEmails()[0].getPendingVerificationData()
|
|
|
Primär |
Boolescher Wert |
user.getEmails()[0].getPrimary()
|
|
|
Sekundär |
Boolescher Wert |
user.getEmails()[0].getSecondary()
|
|
|
Typ |
Zeichenfolge |
user.getEmails()[0].getType()
|
|
|
Wert |
Zeichenfolge |
user.getEmails()[0].getValue()
|
|
|
geprüft |
Boolescher Wert |
user.getEmails()[0].getVerified()
|
|
|
Adressen |
Adressliste |
|
|
|
Land |
Zeichenfolge |
user.getAddresses()[0].getCountry()
|
|
|
formatiert |
Zeichenfolge |
user.getAddresses()[0].getFormatted()
|
|
|
Ort |
Zeichenfolge |
user.getAddresses()[0].getLocality()
|
|
|
postalCode |
Zeichenfolge |
user.getAddresses()[0].getPostalCode()
|
|
|
Primär |
Boolescher Wert |
user.getAddresses()[0].isPrimary()
|
|
|
Region |
Zeichenfolge |
user.getAddresses()[0].getRegion()
|
|
|
streetAddress |
Zeichenfolge |
user.getAddresses()[0].getStreetAddress()
|
|
|
Typ |
Zeichenfolge |
user.getAddresses()[0].getType()
|
|
|
phoneNumbers |
Liste der PhoneNumber |
|
|
|
anzeigen |
Zeichenfolge |
user.getPhoneNumbers()[0].getDisplay()
|
|
|
Primär |
Boolescher Wert |
user.getPhoneNumbers()[0].isPrimary()
|
|
|
Typ |
Zeichenfolge |
user.getPhoneNumbers()[0].getType()
|
|
|
Wert |
Zeichenfolge |
user.getPhoneNumbers()[0].getValue()
|
|
|
Boolescher Wert |
user.getPhoneNumbers()[0].isVerified()
|
||
|
Fotos |
Liste der Fotos |
|
|
|
anzeigen |
Zeichenfolge |
user.getPhotos()[0].getDisplay()
|
|
|
Primär |
Boolescher Wert |
user.getPhotos()[0].isPrimary()
|
|
|
Typ |
Zeichenfolge |
user.getPhotos()[0].getType()
|
|
|
Wert |
Zeichenfolge |
user.getPhotos()[0].getValue()
|
|
|
Ims |
Liste der Ims |
|
|
|
anzeigen |
Zeichenfolge |
user.getIms()[0].getDisplay()
|
|
|
Primär |
Boolescher Wert |
user.getIms()[0].isPrimary()
|
|
|
Typ |
Zeichenfolge |
user.getIms()[0].getType()
|
|
|
Wert |
Zeichenfolge |
user.getIms()[0].getValue()
|
Accountobjektattribute für verwaltete Systeme für eingehende Transformation
Sie können die eingehenden Accountattributdaten ändern oder ändern, indem Sie Datentransformationsregeln während der Datenaufnahmephase in das orchestrierte System anwenden.
Syntax zum Abrufen von Kontenattributen für die Transformation eingehender Daten
Die Attributdetails können mit der folgenden Syntax abgerufen werden:
get<FieldName>()
Vornamen des Benutzers abrufen
account.getName().getGivenName()
| Attribut | Unterattribut | Datentyp | Syntax |
|---|---|---|---|
|
fullName |
Referenz |
account.getFullName()
|
|
|
formatiert |
Zeichenfolge |
account.getFullName().getFormatted()
|
|
|
familyName |
Zeichenfolge |
account.getFullName().getFamilyName()
|
|
|
givenName |
Zeichenfolge |
account.getFullName().getGivenName()
|
|
|
middleName |
Zeichenfolge |
account.getFullName().getMiddleName()
|
|
|
honorificPrefix |
Zeichenfolge |
account.getFullName().getHonorificPrefix()
|
|
|
honorificSuffix |
Zeichenfolge |
account.getFullName().getHonorificSuffix()
|
|
|
userName |
Zeichenfolge |
account.getUserName()
|
|
|
displayName |
Zeichenfolge |
account.getDisplayName()
|
|
|
Beschreibung |
Zeichenfolge |
account.getDescription()
|
|
|
primaryEmail |
Zeichenfolge |
account.getPrimaryEmail()
|
|
|
userType |
Zeichenfolge |
account.getUserType()
|
|
|
title |
Zeichenfolge |
account.getTitle()
|
|
|
Status |
Zeichenfolge |
account.getStatus()
|
|
|
accountType |
Zeichenfolge |
account.getAccountType()
|
|
|
provisionedByMechanism |
Zeichenfolge |
account.getProvisionedByMechanism()
|
|
|
provisionedOnDate |
Zeichenfolge |
account.getProvisionedOnDate()
|
|
|
resourceName |
Zeichenfolge |
account.getResourceName()
|
|
|
startDate |
Lang |
account.getStartDate()
|
|
|
Name |
Zeichenfolge |
account.getName()
|
|
|
userLogin |
Zeichenfolge |
account.getUserLogin()
|
|
|
resourcesId |
Zeichenfolge |
account.getResourcesId()
|
|
|
compartmentId |
Zeichenfolge |
account.getCompartmentId()
|
|
|
domainId |
Zeichenfolge |
account.getDomainId()
|
|
|
domainOCID |
Zeichenfolge |
account.getDomainOCID()
|
|
|
Region |
Zeichenfolge |
account.getRegion()
|
|
|
E-Mails |
E-Mail-Liste |
emails = account.getEmails()
|
|
|
pendingVerificationData |
Zeichenfolge |
account.getEmails()[0].getPendingVerificationData()
|
|
|
Primär |
Boolescher Wert |
account.getEmails()[0].getPrimary()
|
|
|
Sekundär |
Boolescher Wert |
account.getEmails()[0].getSecondary()
|
|
|
Typ |
Zeichenfolge |
account.getEmails()[0].getType()
|
|
|
Wert |
Zeichenfolge |
account.getEmails()[0].getValue()
|
|
|
geprüft |
Boolescher Wert |
account.getEmails()[0].getVerified()
|
|
|
Adressen |
Adressliste |
addresses = account.getAddresses();
|
|
|
Land |
Zeichenfolge |
account.getAddresses()[0].getCountry()
|
|
|
formatiert |
Zeichenfolge |
account.getAddresses()[0].getFormatted()
|
|
|
Ort |
Zeichenfolge |
account.getAddresses()[0].getLocality()
|
|
|
postalCode |
Zeichenfolge |
account.getAddresses()[0].getPostalCode()
|
|
|
Primär |
Boolescher Wert |
account.getAddresses()[0].isPrimary()
|
|
|
Region |
Zeichenfolge |
account.getAddresses()[0].getRegion()
|
|
|
streetAddress |
Zeichenfolge |
account.getAddresses()[0].getStreetAddress()
|
|
|
Typ |
Zeichenfolge |
account.getAddresses()[0].getType()
|
|
|
phoneNumbers |
Liste der PhoneNumber |
phoneNumbers = account.getPhoneNumbers()
|
|
|
anzeigen |
Zeichenfolge |
account.getPhoneNumbers()[0].getDisplay()
|
|
|
Primär |
Boolescher Wert |
account.getPhoneNumbers()[0].isPrimary()
|
|
|
Typ |
Zeichenfolge |
account.getPhoneNumbers()[0].getType()
|
|
|
Wert |
Zeichenfolge |
account.getPhoneNumbers()[0].getValue()
|
|
|
Boolescher Wert |
account.getPhoneNumbers()[0].isVerified()
|
||
|
Fotos |
Liste der Fotos |
photos = account.getPhotos()
|
|
|
anzeigen |
Zeichenfolge |
account.getPhotos()[0].getDisplay()
|
|
|
Primär |
Boolescher Wert |
account.getPhotos()[0].isPrimary()
|
|
|
Typ |
Zeichenfolge |
account.getPhotos()[0].getType()
|
|
|
Wert |
Zeichenfolge |
account.getPhotos()[0].getValue()
|
|
|
Ims |
Liste der Ims |
ims = account.getIms()
|
|
|
anzeigen |
Zeichenfolge |
account.getIms()[0].getDisplay()
|
|
|
Primär |
Boolescher Wert |
account.getIms()[0].isPrimary()
|
|
|
Typ |
Zeichenfolge |
account.getIms()[0].getType()
|
|
|
Wert |
Zeichenfolge |
account.getIms()[0].getValue()
|
Regel für mehrere Attribute in eingehender Transformation
Mit Transformationsregeln können Sie einen eindeutigen Wert generieren und diesen generierten Wert mehreren Attributen gleichzeitig in der eingehenden Transformation zuordnen.
Diese Regel setzt die Attribute description und Building auf den Wert tempName. Sie müssen das vorherige Regelset mit einem einzelnen Attribut für die Attribute entfernen, bevor Sie es in Regeln mit mehreren Attributen verwenden.
var tempName = user.getUserName() == null ? null : user.getUserName().concat('-', user.getExternalId());
multipleAttribute.setAttribute('description', tempName);
multipleAttribute.setCustomAttribute('Building', tempName);
Mit dieser Regel können Sie einen Wert für description und building in einer einzelnen Regel festlegen. Wählen Sie Ja für Setzt diese Regel mehrere Attribute? aus, und wählen Sie die relevanten Attribute aus.
Ausgabe:
description: "jsmith-12345"
Building: "jsmith-12345"
Benutzerdefinierte Benutzer- und Firmenattribute
Sie können benutzerdefinierte Benutzer- oder Accountattribute abrufen und verwenden, während Sie Datentransformationsregeln für eingehende Datentransformationen anwenden. Bei ausgehenden Datentransformationen können nur benutzerdefinierte Benutzerattribute abgerufen werden.
Benutzerdefiniertes Benutzerattribut
Oracle Access Governance bietet eine Utilitymethode zum Abrufen des benutzerdefinierten Attributs eines Benutzers für eingehende oder ausgehende Transformationen. Um die CUSTOM_ATTRIBUTE_NAME eines Benutzers abzurufen, verwenden Sie die folgende Syntax. Beispiel:
if( user.getCustomAttributes() != null ) {user.getCustomAttributes()['CUSTOM_ATTRIBUTE_NAME'] }
Beispiel: Für ein benutzerdefiniertes Attribut namens Tags:
if( user.getCustomAttributes() != null ) {user.getCustomAttributes()['Tags'] }
Für ein benutzerdefiniertes Attribut des Typs "Datum":
if( user.getCustomAttributes() != null ) {new Number(user.getCustomAttributes()['SOME_DATE']) }
Benutzerdefiniertes Firmenattribut
Oracle Access Governance bietet eine Utilitymethode, mit der das benutzerdefinierte Attribut eines Accounts nur für eingehende Transformationen abgerufen werden kann. Um die CUSTOM_ATTRIBUTE_NAME eines Accounts abzurufen, verwenden Sie die folgende Syntax. Beispiel:
if(account.getCustomAttributes() != null) {account.getCustomAttributes()['CUSTOM_ATTRIBUTE_NAME'] }
Beispiel: Für ein benutzerdefiniertes Attribut namens Tags:
if(account.getCustomAttributes() != null) {account.getCustomAttributes()['Tags'] }
Transformationsutilitys für die Transformation ausgehender Daten
Es stehen eine Reihe von Dienstprogrammen zur Verfügung, die Sie bei Transformationsaufgaben unterstützen, z.B. bei der Prüfung des Vorhandenseins von Konten, beim Abrufen eines Benutzers, bei der Verwendung von Lookups und anderen.
| Anwendungsfall | Utilitymethode |
|---|---|
|
Ein benutzerdefiniertes Attribut für einen Benutzer abrufen. |
|
|
Ziel-Lookup-Code abrufen und Wert dekodieren. |
|
|
Globalen Lookup-Code und Decodierungswert abrufen |
|
|
Wert eines Attributs aus verwaltetem Objekt abrufen, gefiltert nach einem anderen Attributwert. In diesem Utility können Sie den Wert eines gewünschten Attributs abrufen, indem Sie den Oracle Access Governance-Namen und -Wert eines Attributs angeben, die abgeglichen werden sollen, sowie den Oracle Access Governance-Namen des Attributs, für das Sie einen Wert zurückgeben möchten. Wenn mehr als ein übereinstimmendes Objekt vorhanden ist oder keine Übereinstimmungen vorhanden sind, erhalten Sie Null. |
Beispiel: Wenn Sie im folgenden Beispiel fullName als übereinstimmenden Attributnamen und Alice Smith als Wert angeben, können Sie den Wert der organizationName aus dem übereinstimmenden verwalteten Objekt abrufen.
|
|
Prüfen Sie, ob ein Konto für einen angegebenen Attributnamen und -wert vorhanden ist. |
Beispiel: Prüfen Sie, ob ein Konto vorhanden ist, bei dem der Attributname fullName lautet, der Attributwert Alice Smith lautet und der Operator für die Übereinstimmung eq lautet.
|
|
Ruft einen Benutzer aus der globalen Identitäts-ID ab. Dadurch wird das Benutzerobjekt zurückgegeben, aus dem Sie dann weitere Attribute abrufen können. |
Beispiel:
|
|
Prüfen Sie, ob ein Benutzer direkte Mitarbeiter hat. Gibt true zurück, wenn der Benutzer mindestens einen Mitarbeiter hat. Andernfalls wird false zurückgegeben. |
|
Beispiele für die Transformation ausgehender Daten
Im Folgenden finden Sie einige Beispiele für Zuordnungsregeln und Anwendungsfälle bei der Anwendung ausgehender Datentransformationen in Oracle Access Governance.
| Anwendungsfall | Beispielregel |
|---|---|
|
Fester Zeichenfolgenwert |
'SampleValue'
|
|
Benutzerattribut |
user.getName().getGivenName()
Hinweis
Sie müssen eine Nullprüfung durchführen, bevor Sie Vorgänge verwenden, bei denen der Wert Null sein kann. |
| Datumsattribut |
new Number(new Date().getTime());
Beispiel: So setzen Sie das Datum auf den 31. Januar 2024:
|
|
Anwendungsattribut |
application.getDisplayName()
Hinweis
Sie müssen eine Nullprüfung durchführen, bevor Sie Vorgänge verwenden, bei denen der Wert Null sein kann. |
|
Anforderungsattribut |
requestAttributes.get('organizationName').get(0)
Hinweis
|
| Wert auf die Kombination aus 2 Benutzerattributen setzen |
oder:
|
| Setzen Sie den Wert auf ein anderes Attribut, wenn der Eingabewert Null ist (wenn die Organisation Null ist, dann auf einen festen Wert gesetzt) |
user.getOrganization() != null && user.getOrganization().getDisplayName() != null ? user.getOrganization().getDisplayName() : 'DefaultOrganization'
|
Beispiele für eingehende Datentransformationen und Identitätsattribute
Im Folgenden finden Sie einige Beispiele für Zuordnungsregeln und Anwendungsfälle beim Anwenden eingehender Datentransformationen oder beim Anwenden von Transformationen auf das zusammengesetzte Identitätsprofil in Oracle Access Governance.
Als Best Practice wird empfohlen, immer NULL-Prüfregeln für extrahierte Werte durchzuführen, bevor sie verwendet werden. Andernfalls kann es zu Fehlern beim Aufnahmezyklus bei NULL-Referenzen kommen. Dies muss sowohl für das Attributobjekt Benutzer in autoritativen Quellen als auch für das Attributobjekt Account in verwalteten Systemen für eingehende Transformationen erfolgen.
Beispielzuordnungsregeln für autoritative Quellen
Im Folgenden finden Sie einige Ausdrücke für Zuordnungsregeln sowie Eingabe- oder Ausgabewerte für die Identity-(Benutzer-)Objektattribute.
|
Zielattribut |
Attributtyp |
Zielattribut-Datentyp |
Ziel der Zuordnungsregel |
Mappingregelausdruck |
Werteingabe |
Wertausgabe |
|---|---|---|---|---|---|---|
|
userName |
STANDARDWERTE |
Zeichenfolge |
Verketten Sie userName und displayName, und legen Sie diesen Wert im Attribut userName fest. |
user.getUserName().concat('-',user.getDisplayName())
|
userName=mark.hill displayName=Mark Hill |
mark.hill-Mark Hill |
|
userName |
STANDARDWERTE |
Zeichenfolge |
Wenn userName nicht null ist, konvertieren Sie userName in upperCase, und legen Sie das Attribut userName fest. |
if(user.getUserName()!=null) {user.getUserName().toUpperCase() }
|
userName=mark.hill |
MARK.HILL |
|
jobDescription |
BENUTZERDEFINIERT |
Zeichenfolge |
LowerCase der Wert der Beschreibung, und legen Sie ihn im benutzerdefinierten Attribut jobDescription fest |
user.getDescription().toLowerCase()
|
Beschreibung = SoftwareDeveloper1 |
jobDescription = softwaredeveloper1 |
|
Status |
STANDARDWERTE |
Boolescher Wert |
Wenn der Status Null ist, setzen Sie ihn auf 'Wahr', sonst wechseln Sie den Wert. |
user.getStatus()==null ? true : !user.getStatus()
|
Status = wahr | falsch |
|
Risiko |
STANDARDWERTE |
Ganzzahl |
Wenn das Risiko Null ist, setzen Sie 20, sonst erhöhen Sie das Risiko um 15 |
user.getRisk() == null ? 20 : user.getRisk() + 15
|
Risiko = 30 Risiko = Null |
45 20 |
|
Beschreibung |
STANDARDWERTE |
Zeichenfolge |
Rufen Sie startDate vom Typ long ab, konvertieren Sie es in Date, und legen Sie es dann als Zeichenfolge für das Beschreibungsattribut fest. |
new Date(user.getStartDate()).toISOString()
|
startDate = 1703442600000 |
2023-12-25T07:55:46.061Z |
|
provisionedOnDate |
STANDARDWERTE |
Date (Datumsdatentyp) |
Rufen Sie validFromDate (lang) ab, konvertieren Sie es in das Datum, und setzen Sie dann provisionedOnDate auf den 1. des nächsten Monats gerundet. |
const currentDate = new Date(user.getValidFromDate()); new Date(currentDate.getFullYear(), currentDate.getMonth() + 1, 1).getTime();
|
validFromDate = 1703442600000 |
provisionedOnDate = 1704047400000 |
|
provisionedFromDate |
STANDARDWERTE |
Date (Datumsdatentyp) |
Eingabetypzeichenfolge. Ausgabetypdatum. |
neues Datum(user.getValidFromDate()).toISOString() |
validFromDate = 1703442600000 Eingabe = 2023-12-24T18:30:00.000Z |
provisionedFromDate = 1703422800000 |
Beispielzuordnungsregeln für verwaltete Systeme
Im Folgenden finden Sie einige Ausdrücke für Zuordnungsregeln sowie Eingabe- oder Ausgabewerte für die Accountobjektattribute.
|
Zielattribut |
Attributtyp |
Zielattribut-Datentyp |
Ziel der Zuordnungsregel |
Mappingregelausdruck |
Werteingabe |
Wertausgabe |
|---|---|---|---|---|---|---|
|
displayName |
STANDARDWERTE |
Zeichenfolge |
Wenn displayName nicht Null ist, setzen Sie den Wert in Großbuchstaben auf displayName. |
if(account.getDisplayName()!=null) {account.getDisplayName().toUpperCase() }
|
displayName = Mark Hill |
MARK HILL |
|
primaryEmail |
STANDARDWERTE |
Zeichenfolge |
Verketten Sie userLogin und "@myexample.com", und legen Sie sie in primaryEmail fest. |
account.getUserLogin().concat('@myexample.com')
|
userLogin = mark.hill | mark.hill@myexample.com |
|
jobDescription |
BENUTZERDEFINIERT |
Zeichenfolge |
LowerCase den Wert der Beschreibung und legen ihn in den benutzerdefinierten Attributen jobDescription fest. |
if(account.getDescription()!=null) { account.getDescription().toLowerCase() }
|
Beschreibung = SoftwareDeveloper1 | jobDescription = softwaredeveloper1 |
|
Status |
STANDARDWERTE |
Boolescher Wert |
Beispiel 1: Wenn der Status Null ist, setzen Sie ihn auf "true", andernfalls wechseln Sie den Wert. |
account.getStatus()==null ? true : !account.getStatus()
|
Status = wahr |
falsch |
|
Beispiel 2: Setzen Sie den Status auf "false". |
false
|
Status = null/true/false | falsch | |||
|
Risiko |
STANDARDWERTE |
Ganzzahl |
Wenn das Risiko Null ist, setzen Sie es auf 20. Andernfalls erhöhen Sie das Risiko um 15. |
account.getRisk() == null ? 20 : account.getRisk() + 15
|
Risiko = 30 Risiko = Null |
45 20 |
|
riskSummary |
STANDARDWERTE |
Lang |
Wenn riskSummary Null auf 1234 gesetzt ist, sonst Risiko um 70 erhöhen. |
account.getRiskSummary() == null ? 1234 : account.getRiskSummary() + 70
|
riskSummary = 30 riskSummary = Null |
100 1.234 |