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

Attributwerte für eine ausgehende Datentransformation können aus den folgenden Objekten abgeleitet werden:
Objekte (ausgehend)

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.

requestAttributes.get('name')

Benutzer

Benutzerobjekt. Verwenden Sie den erforderlichen Getter, um auf jedes Mitglied zuzugreifen.

user.getName().getGivenName(), user.getUserName()

Anwendung

Ressourcenobjekt. Verwenden Sie den erforderlichen Getter, um auf jedes Mitglied zuzugreifen.

application.getDisplayName()

Der Attributwert für eine eingehende Datentransformation kann aus den folgenden Objekten abgeleitet werden:
Objekte (eingehend)

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()
Identitäts-(Benutzer-)Objektattribute für ausgehende Daten
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

emails = user.getEmails()
email = user.getEmails() != null ? 
user.getEmails().get(0) : null

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

addresses = user.getAddresses();
address = user.getAddresses() != null? 
user.getAddresses().get(0) : null

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

phoneNumbers = user.getPhoneNumbers();
phoneNumber = user.getPhoneNumbers() != null? 
user.getPhoneNumbers().get(0) : null;

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()
Autoritative Quellidentitätsattribute für eingehende Daten
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

addresses = user.getAddresses();

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

phoneNumbers = user.getPhoneNumbers();

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

photos = user.getPhotos();

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

ims = user.getIms();

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()
Kontenattribute für verwaltete Systeme für die eingehende Datentransformation
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.

Transformationsutilitys
Anwendungsfall Utilitymethode

Ein benutzerdefiniertes Attribut für einen Benutzer abrufen.

transformationUtil.getUserIdentityCustomAttributeValue(agcs_tenant_id, user.getId(), 'CUSTOM_ATTRIBUTE_NAME')

Ziel-Lookup-Code abrufen und Wert dekodieren.

transformationUtil.getLookupCode(agcs_tenant_id, agcs_target_id, 'countries', user.getAddresses().get(0).getCountry())

transformationUtil.getLookupDecode(agcs_tenant_id, agcs_target_id, 'countries', user.getAddresses().get(0).getCountry())

Globalen Lookup-Code und Decodierungswert abrufen

transformationUtil.getGlobalLookupCode(agcs_tenant_id, 'countries', user.getAddresses().get(0).getCountry())

transformationUtil.getGlobalLookupDecode(agcs_tenant_id, 'countries', user.getAddresses().get(0).getCountry())

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.

transformationUtil.getAttributeValueFromManagedObject(agcs_tenant_id, agcs_target_id, matchAttributeName, matchAttributeValue, returnAttributeName)

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.

transformationUtil.getAttributeValueFromManagedObject(agcs_tenant_id, agcs_target_id, 'fullName', 'Alice Smith', 'organizationName')

Prüfen Sie, ob ein Konto für einen angegebenen Attributnamen und -wert vorhanden ist.

transformationUtil.isAccountExists(agcs_tenant_id, agcs_target_id, matchAttributeName, matchAttributeValue, operator)

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.

transformationUtil.isAccountExists(agcs_tenant_id, agcs_target_id, 'fullName', 'Alice Smith', 'eq')

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.

transformationUtil.getUser(agcs_tenant_id, 'global_identity_id')

Beispiel:

let user = transformationUtil.getUser(agcs_tenant_id, 'global_identity_id');
if(user != null ) {
  let username = user.getUserName();
}

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.

transformationUtil.hasDirectReportees(agcs_tenant_id,'global_identity_id')

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.

Beispielzuordnungsregeln
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:

new Number(new Date(2024,00,31).getTime());

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

  • Sie müssen eine Nullprüfung durchführen, bevor Sie Vorgänge verwenden können, da der Wert Null sein kann.
  • "requestAttributes.get(attrName)" gibt immer ein Array zurück. Daher müssen Sie get(i) ausführen, um den bestimmten Wert abzurufen
Wert auf die Kombination aus 2 Benutzerattributen setzen
user.getName().getGivenName() + ' ' + user.getName().getFamilyName()
oder:
[ user.getName().getGivenName(),user.getName().getMiddleName() , user.getName().getFamilyName()].join(' ')
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.

Hinweis

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.

Beispielzuordnungsregeln für die Verwaltung von Berechtigungen

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