Référence des règles de données pour personnaliser et transformer les attributs d'identité et de compte

Vous pouvez ajouter des règles pour personnaliser ou transformer les attributs d'identité et de compte. Ces règles sont écrites en JavaScript.

Objets

Les valeurs d'attribut pour une transformation de données sortantes peuvent être dérivées des objets suivants :
Objets (sortants)

Nom de l'objet

Objet

Exemple

requestAttributes

Objet d'attribut de demande de provisionnement. Ces attributs sont disponibles lorsque le provisionnement s'effectue via des méthodes directes ou basées sur une stratégie, une demande de groupe d'accès ou un rôle.

requestAttributes.get('name')

utilisateur

Objet utilisateur. Utilisez la méthode get requise pour accéder à n'importe quel membre.

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

application

Objet de ressource. Utilisez la méthode get requise pour accéder à n'importe quel membre.

application.getDisplayName()

La valeur d'attribut d'une transformation de données entrante peut être dérivée des objets suivants :
Objets (entrants)

Nom de l'objet

Objet

Exemple

utilisateur

Objet utilisateur. Utilisez la méthode get requise pour accéder à n'importe quel membre de la source d'identité.

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

compte

Objet de compte. Utilisez la méthode get requise pour accéder à n'importe quel membre pour gérer les autorisations.

account.getDisplayName()

Meilleures pratiques pour transformer ou personnaliser les attributs d'identité et de compte

Voici quelques bonnes pratiques et recommandations à prendre en compte :

  • Vous pouvez transformer ou personnaliser les attributs d'identité et de compte pour les données entrantes ingérées à partir de sources autorisées ou de systèmes gérés. Toutefois, vous ne pouvez transformer que les attributs d'identité (utilisateur) pour les données sortantes.
  • Effectuez toujours une vérification NULL des valeurs extraites avant de les utiliser, sinon cela peut entraîner des échecs de cycle d'inclusion sur les références NULL. Cela doit être fait à la fois pour l'objet d'attributs user dans les sources faisant autorité et pour l'objet d'attributs account dans les systèmes gérés pour les transformations entrantes.
  • Vous ne pouvez pas directement transformer ou affecter de valeur à des attributs ayant un type de données d'objet de tableau, c'est-à-dire des attributs renvoyant une liste de valeurs, telles que des courriels, des photos et des adresses, mais vous pouvez les utiliser pour modifier/manipuler d'autres attributs d'utilisateur ou de compte. Par exemple, pour définir la valeur de pays comme valeur par défaut pour le lieu d'attribut si un lieu est NULL, utilisez :
    user.getLocation() !=null  ? user.getLocation() : user.getAddresses()[0].getCountry()
        

Attributs d'objet d'identité source faisant autorité pour la transformation sortante

Vous pouvez modifier ou modifier les données sortantes en appliquant des règles de transformation aux données disponibles ou provisionnées dans le système orchestré. Voici la liste des attributs d'identité (utilisateur) disponibles pour les transformations de données sortantes.

Syntaxe d'extraction des attributs d'identité pour les données sortantes

Ces détails peuvent être extraits à l'aide de la syntaxe suivante :

get<FieldName>()

Extraire le nom donné de l'utilisateur

user.getName().getGivenName()
Attributs d'objet d'identité (utilisateur) pour les données sortantes
Attribut Sous-attribut Type de données Syntaxe

nom

Référence

user.getName()

formaté

Chaîne

user.getName().getFormatted()

familyName

Chaîne

user.getName().getFamilyName()

givenName

Chaîne

user.getName().getGivenName()

middleName

Chaîne

user.getName().getMiddleName()

honorificPrefix

Chaîne

user.getName().getHonorificPrefix()

honorificSuffix

Chaîne

user.getName().getHonorificSuffix()

userName

Chaîne

user.getUserName()

displayName

Chaîne

user.getDisplayName()

description

Chaîne

user.getDescription()

primaryEmail

Chaîne

user.getPrimaryEmail()

userType

Chaîne

user.getUserType()

titre

Chaîne

user.getTitle()

employeeNumber

Chaîne

user.getEmployeeNumber()

organisation

Référence

user.getOrganization()

valeur

Chaîne

user.getOrganization().getValue()

réf.

Chaîne

user.getOrganization().getRef()

displayName

Chaîne

user.getOrganization().getDisplayName()

resourceType

Chaîne

user.getOrganization().getResourceType()

service

Chaîne

user.getDepartment()

responsable

Référence

user.getManager()

valeur

Chaîne

user.getManager().getValue()

réf.

Chaîne

user.getManager().getRef()

displayName

Chaîne

user.getManager().getDisplayName()

resourceType

Chaîne

user.getManager().getResourceType()

statut

Chaîne

user.getStatus()

jobCode

Chaîne

user.getJobCode()

département

Chaîne

user.getState()

risque

Chaîne

user.getRisk()

lieu

Chaîne

user.getLocation()

courriels

Liste d'adresses électroniques

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

pendingVerificationData

Chaîne

email.getPendingVerificationData()

principal

Booléen

email.getPrimary()

secondaire

Booléen

email.getSecondary()

type

Chaîne

email.getType()

valeur

Chaîne

email.getValue()

vérifié

Booléen

email.getVerified()

adresses

Liste d'adresses

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

pays

Chaîne

address.getCountry()

formaté

Chaîne

address.getFormatted()

localité

Chaîne

address.getLocality()

postalCode

Chaîne

address.getPostalCode()

principal

Booléen

address.isPrimary()

région

Chaîne

address.getRegion()

streetAddress

Chaîne

address.getStreetAddress()

type

Chaîne

address.getType()

phoneNumbers

Liste de PhoneNumber

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

affichage

Chaîne

phoneNumber.getDisplay()

principal

Booléen

phoneNumber.isPrimary()

type

Chaîne

phoneNumber.getType()

valeur

Chaîne

phoneNumber.getValue()

Booléen

phoneNumber.isVerified()

Attributs d'objet d'identité source faisant autorité pour la transformation entrante et la personnalisation des attributs d'identité

Vous pouvez modifier ou modifier les données entrantes en appliquant des règles de transformation de données lors de la phase d'assimilation dans le système orchestré. Vous pouvez utiliser le même ensemble d'attributs pour personnaliser le profil d'identité composite construit dans Oracle Access Governance en transformant les attributs d'identité.

Syntaxe d'extraction des attributs d'identité pour les données entrantes

Les détails de l'attribut peuvent être extraits à l'aide de la syntaxe suivante :

get<FieldName>()

Extraire le nom donné de l'utilisateur

user.getName().getGivenName()
Attributs d'identité source faisant autorité pour les données entrantes
Attribut Sous-attribut Type de données Syntaxe

fullName (pour OIG/ICF)

Référence

user.getFullName()

formaté

Chaîne

user.getFullName().getFormatted()

familyName

Chaîne

user.getFullName().getFamilyName()

givenName

Chaîne

user.getFullName().getGivenName()

middleName

Chaîne

user.getFullName().getMiddleName()

honorificPrefix

Chaîne

user.getFullName().getHonorificPrefix()

honorificSuffix

Chaîne

user.getFullName().getHonorificSuffix()

nom (pour OCI)

Référence

user.getName()

formaté

Chaîne

user.getName().getFormatted()

familyName

Chaîne

user.getName().getFamilyName()

givenName

Chaîne

user.getName().getGivenName()

middleName

Chaîne

user.getName().getMiddleName()

honorificPrefix

Chaîne

user.getName().getHonorificPrefix()

honorificSuffix

Chaîne

user.getName().getHonorificSuffix()

userName

Chaîne

user.getUserName()

displayName

Chaîne

user.getDisplayName()

description

Chaîne

user.getDescription()

primaryEmail

Chaîne

user.getPrimaryEmail()

userType

Chaîne

user.getUserType()

titre

Chaîne

user.getTitle()

employeeNumber

Chaîne

user.getEmployeeNumber()

organisation

Référence

user.getOrganization()

valeur

Chaîne

user.getOrganization().getValue()

réf.

Chaîne

user.getOrganization().getRef()

displayName

Chaîne

user.getOrganization().getDisplayName()

resourceType

Chaîne

user.getOrganization().getResourceType()

service

Chaîne

user.getDepartment()

responsable

Référence

user.getManager()

valeur

Chaîne

user.getManager().getValue()

réf.

Chaîne

user.getManager().getRef()

displayName

Chaîne

user.getManager().getDisplayName()

resourceType

Chaîne

user.getManager().getResourceType()

statut

Chaîne

user.getStatus()

jobCode

Chaîne

user.getJobCode()

département

Chaîne

user.getState()

risque

Chaîne

user.getRisk()

lieu

Chaîne

user.getLocation()

compartmentId

Chaîne

user.getCompartmentId()

domainId

Chaîne

user.getDomainId()

domainOCID

Chaîne

user.getDomainOCID()

région

Chaîne

user.getRegion()

courriels

Liste d'adresses électroniques

emails = user.getEmails()

pendingVerificationData

Chaîne

user.getEmails()[0].getPendingVerificationData()

principal

Booléen

user.getEmails()[0].getPrimary()

secondaire

Booléen

user.getEmails()[0].getSecondary()

type

Chaîne

user.getEmails()[0].getType()

valeur

Chaîne

user.getEmails()[0].getValue()

vérifié

Booléen

user.getEmails()[0].getVerified()

adresses

Liste d'adresses

addresses = user.getAddresses();

pays

Chaîne

user.getAddresses()[0].getCountry()

formaté

Chaîne

user.getAddresses()[0].getFormatted()

localité

Chaîne

user.getAddresses()[0].getLocality()

postalCode

Chaîne

user.getAddresses()[0].getPostalCode()

principal

Booléen

user.getAddresses()[0].isPrimary()

région

Chaîne

user.getAddresses()[0].getRegion()

streetAddress

Chaîne

user.getAddresses()[0].getStreetAddress()

type

Chaîne

user.getAddresses()[0].getType()

phoneNumbers

Liste de PhoneNumber

phoneNumbers = user.getPhoneNumbers();

affichage

Chaîne

user.getPhoneNumbers()[0].getDisplay()

principal

Booléen

user.getPhoneNumbers()[0].isPrimary()

type

Chaîne

user.getPhoneNumbers()[0].getType()

valeur

Chaîne

user.getPhoneNumbers()[0].getValue()

Booléen

user.getPhoneNumbers()[0].isVerified()

photos

Liste de photos

photos = user.getPhotos();

affichage

Chaîne

user.getPhotos()[0].getDisplay()

principal

Booléen

user.getPhotos()[0].isPrimary()

type

Chaîne

user.getPhotos()[0].getType()

valeur

Chaîne

user.getPhotos()[0].getValue()

ims

Liste des ims

ims = user.getIms();

affichage

Chaîne

user.getIms()[0].getDisplay()

principal

Booléen

user.getIms()[0].isPrimary()

type

Chaîne

user.getIms()[0].getType()

valeur

Chaîne

user.getIms()[0].getValue()

Attributs d'objet de compte des systèmes gérés pour la transformation entrante

Vous pouvez modifier ou modifier les données d'attribut de compte entrant en appliquant des règles de transformation de données au cours de la phase d'assimilation des données dans le système orchestré.

Syntaxe d'extraction des attributs de compte pour la transformation des données entrantes

Les détails de l'attribut peuvent être extraits à l'aide de la syntaxe suivante :

get<FieldName>()

Extraire le nom donné de l'utilisateur

account.getName().getGivenName()
Attributs de compte des systèmes gérés pour la transformation des données entrantes
Attribut Sous-attribut Type de données Syntaxe

fullName

Référence

account.getFullName()

formaté

Chaîne

account.getFullName().getFormatted()

familyName

Chaîne

account.getFullName().getFamilyName()

givenName

Chaîne

account.getFullName().getGivenName()

middleName

Chaîne

account.getFullName().getMiddleName()

honorificPrefix

Chaîne

account.getFullName().getHonorificPrefix()

honorificSuffix

Chaîne

account.getFullName().getHonorificSuffix()

userName

Chaîne

account.getUserName()

displayName

Chaîne

account.getDisplayName()

description

Chaîne

account.getDescription()

primaryEmail

Chaîne

account.getPrimaryEmail()

userType

Chaîne

account.getUserType()

titre

Chaîne

account.getTitle()

statut

Chaîne

account.getStatus()

accountType

Chaîne

account.getAccountType()

provisionedByMechanism

Chaîne

account.getProvisionedByMechanism()

provisionedOnDate

Chaîne

account.getProvisionedOnDate()

resourceName

Chaîne

account.getResourceName()

startDate

Long

account.getStartDate()

nom

Chaîne

account.getName()

userLogin

Chaîne

account.getUserLogin()

resourcesId

Chaîne

account.getResourcesId()

compartmentId

Chaîne

account.getCompartmentId()

domainId

Chaîne

account.getDomainId()

domainOCID

Chaîne

account.getDomainOCID()

région

Chaîne

account.getRegion()

courriels

Liste d'adresses électroniques

emails = account.getEmails()

pendingVerificationData

Chaîne

account.getEmails()[0].getPendingVerificationData()

principal

Booléen

account.getEmails()[0].getPrimary()

secondaire

Booléen

account.getEmails()[0].getSecondary()

type

Chaîne

account.getEmails()[0].getType()

valeur

Chaîne

account.getEmails()[0].getValue()

vérifié

Booléen

account.getEmails()[0].getVerified()

adresses

Liste d'adresses

addresses = account.getAddresses();

pays

Chaîne

account.getAddresses()[0].getCountry()

formaté

Chaîne

account.getAddresses()[0].getFormatted()

localité

Chaîne

account.getAddresses()[0].getLocality()

postalCode

Chaîne

account.getAddresses()[0].getPostalCode()

principal

Booléen

account.getAddresses()[0].isPrimary()

région

Chaîne

account.getAddresses()[0].getRegion()

streetAddress

Chaîne

account.getAddresses()[0].getStreetAddress()

type

Chaîne

account.getAddresses()[0].getType()

phoneNumbers

Liste de PhoneNumber

phoneNumbers = account.getPhoneNumbers()

affichage

Chaîne

account.getPhoneNumbers()[0].getDisplay()

principal

Booléen

account.getPhoneNumbers()[0].isPrimary()

type

Chaîne

account.getPhoneNumbers()[0].getType()

valeur

Chaîne

account.getPhoneNumbers()[0].getValue()

Booléen

account.getPhoneNumbers()[0].isVerified()

photos

Liste de photos

photos = account.getPhotos()

affichage

Chaîne

account.getPhotos()[0].getDisplay()

principal

Booléen

account.getPhotos()[0].isPrimary()

type

Chaîne

account.getPhotos()[0].getType()

valeur

Chaîne

account.getPhotos()[0].getValue()

ims

Liste des ims

ims = account.getIms()

affichage

Chaîne

account.getIms()[0].getDisplay()

principal

Booléen

account.getIms()[0].isPrimary()

type

Chaîne

account.getIms()[0].getType()

valeur

Chaîne

account.getIms()[0].getValue()

Règle à attributs multiples dans la transformation entrante

A l'aide des règles de transformation, vous pouvez générer une valeur unique et mapper cette valeur à plusieurs attributs à la fois dans la transformation entrante.

Cette règle définit les attributs description et Building sur la valeur tempName. Vous devez supprimer les règles à attribut unique précédentes définies pour les attributs avant de les utiliser dans une règle à attributs multiples.

var tempName = user.getUserName() == null ? null : user.getUserName().concat('-', user.getExternalId());
multipleAttribute.setAttribute('description', tempName);
multipleAttribute.setCustomAttribute('Building', tempName);

A l'aide de cette règle, vous pouvez définir une valeur pour description et building dans une seule règle. Sélectionnez Oui pour Cette règle définit-elle plusieurs attributs ? et sélectionnez les attributs appropriés.

Sortie :

description: "jsmith-12345"
Building: "jsmith-12345"

Attributs d'utilisateur et de compte personnalisés

Vous pouvez extraire et utiliser des attributs d'utilisateur ou de compte personnalisés lors de l'application de règles de transformation de données pour les transformations de données entrantes. Les transformations de données sortantes permettent d'extraire uniquement les attributs utilisateur personnalisés.

Attribut personnalisé utilisateur

Oracle Access Governance fournit une méthode utilitaire permettant d'extraire l'attribut personnalisé d'un utilisateur pour les transformations entrantes ou sortantes. Pour extraire le fichier CUSTOM_ATTRIBUTE_NAME d'un utilisateur, utilisez la syntaxe suivante, par exemple :

if( user.getCustomAttributes() != null ) {user.getCustomAttributes()['CUSTOM_ATTRIBUTE_NAME'] }

Par exemple, pour un attribut personnalisé appelé Balises :

if( user.getCustomAttributes() != null ) {user.getCustomAttributes()['Tags'] }

Pour un attribut personnalisé de type date :

if( user.getCustomAttributes() != null ) {new Number(user.getCustomAttributes()['SOME_DATE']) }

Attribut personnalisé de compte

Oracle Access Governance fournit une méthode utilitaire permettant d'extraire l'attribut personnalisé d'un compte pour les transformations entrantes uniquement. Pour extraire la valeur CUSTOM_ATTRIBUTE_NAME d'un compte, utilisez la syntaxe suivante, par exemple :

if(account.getCustomAttributes() != null) {account.getCustomAttributes()['CUSTOM_ATTRIBUTE_NAME'] }

Par exemple, pour un attribut personnalisé appelé Balises :

if(account.getCustomAttributes() != null) {account.getCustomAttributes()['Tags'] }

Utilitaires de transformation pour la transformation des données sortantes

Un certain nombre d'utilitaires sont disponibles pour vous aider dans les tâches de transformation telles que la vérification de l'existence d'un compte, l'obtention d'un utilisateur, l'utilisation de recherches, etc.

Utilitaires de transformation
Cas d'utilisation Méthode utilitaire

Extraire un attribut personnalisé pour un utilisateur.

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

Obtenir un code express cible et décoder la valeur.

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())

Obtenir un code express global et décoder la valeur.

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

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

Obtenir la valeur d'un attribut à partir d'un objet géré filtré sur une autre valeur d'attribut.

Dans cet utilitaire, vous pouvez obtenir la valeur d'un attribut souhaité en indiquant le nom et la valeur Oracle Access Governance d'un attribut à mettre en correspondance, ainsi que le nom Oracle Access Governance de l'attribut pour lequel vous voulez renvoyer une valeur. S'il existe plusieurs objets correspondants ou qu'il n'y a aucune correspondance, vous obtiendrez la valeur NULL.

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

Par exemple : dans l'exemple suivant, en indiquant fullName comme nom d'attribut correspondant et Alice Smith comme valeur, vous pouvez obtenir la valeur de organizationName à partir de l'objet géré mis en correspondance.

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

Vérifiez si un compte existe pour un nom et une valeur d'attribut donnés.

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

Par exemple : vérifiez s'il existe un compte dont le nom d'attribut est fullName, si la valeur d'attribut est Alice Smith et si l'opérateur de correspondance est eq.

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

Obtenir un utilisateur à partir de l'ID d'identité global. Cette action renvoie l'objet utilisateur à partir duquel vous pouvez obtenir d'autres attributs.

transformationUtil.getUser(agcs_tenant_id, 'global_identity_id')

Par exemple :

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

Vérifiez si un utilisateur a des subordonnés directs.

Renvoie true si l'utilisateur a un ou plusieurs subordonnés, sinon renvoie false.

transformationUtil.hasDirectReportees(agcs_tenant_id,'global_identity_id')

Exemples de transformation de données sortantes

Voici quelques exemples de règles de mise en correspondance et de cas d'utilisation lors de l'application de transformations de données sortantes dans Oracle Access Governance.

Exemples de règles de mise en correspondance
Cas d'utilisation Règle d'échantillon

Valeur de chaîne fixe

'SampleValue'

Attribut utilisateur

user.getName().getGivenName()
Remarque

Vous devez effectuer une vérification NULL avant d'utiliser des opérations telles que la valeur peut être NULL.
Attribut de type date new Number(new Date().getTime());

Par exemple, pour définir la date au 31 janvier 2024 :

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

Attribut d'application

application.getDisplayName()
Remarque

Vous devez effectuer une vérification NULL avant d'utiliser des opérations telles que la valeur peut être NULL.

Attribut de demande

requestAttributes.get('organizationName').get(0)
Remarque

  • Vous devez effectuer une vérification NULL avant d'utiliser des opérations telles que la valeur peut être NULL.
  • Le paramètre 'requestAttributes.get(attrName)' renvoie toujours un tableau. Nous devons donc effectuer une opération get(i) pour extraire la valeur spécifique.
Définir la valeur sur la combinaison de 2 attributs utilisateur
user.getName().getGivenName() + ' ' + user.getName().getFamilyName()
ou :
[ user.getName().getGivenName(),user.getName().getMiddleName() , user.getName().getFamilyName()].join(' ')
Définir la valeur sur un autre attribut si la valeur d'entrée est NULL (si l'organisation est NULL, définir une valeur fixe) user.getOrganization() != null && user.getOrganization().getDisplayName() != null ? user.getOrganization().getDisplayName() : 'DefaultOrganization'

Exemples de transformation de données entrantes et d'attributs d'identité

Voici quelques exemples de règles de mise en correspondance et de cas d'utilisation lors de l'application de transformations de données entrantes ou de transformations sur le profil d'identité composite dans Oracle Access Governance.

Remarque

Il est recommandé de toujours effectuer une vérification NULL des valeurs extraites avant de les utiliser. Sinon, cela peut entraîner des échecs de cycle d'inclusion sur les références NULL. Cela doit être fait à la fois pour l'objet d'attributs user dans les sources faisant autorité et pour l'objet d'attributs account dans les systèmes gérés pour les transformations entrantes.

Exemples de règles de mapping pour les sources faisant autorité

Voici quelques expressions de règle de mise en correspondance avec une valeur d'entrée ou de sortie pour les attributs d'objet d'identité (utilisateur).

Attribut cible

Type d'attribut

Type d'attribut de données cible

But de la règle de mise en correspondance

Expression de règle de mapping

Entrée de valeur

Sortie de valeur

userName

VALEURS PAR DÉFAUT

Chaîne

Concaténer userName et displayName et définir cette valeur dans l'attribut userName

user.getUserName().concat('-',user.getDisplayName())

userName=mark.hill

displayName=Mark Hill

mark.hill-Mark Hill

userName

VALEURS PAR DÉFAUT

Chaîne

Si userName n'est pas NULL, convertissez userName en upperCase et définissez-le dans l'attribut userName.

if(user.getUserName()!=null) {user.getUserName().toUpperCase() }

userName=mark.hill

MARK.HILL

jobDescription

PERSONNALISÉ

Chaîne

LowerCase la valeur de la description et la définir dans l'attribut personnalisé, jobDescription

user.getDescription().toLowerCase()

description = SoftwareDeveloper1

jobDescription = softwaredeveloper1

statut

VALEURS PAR DÉFAUT

Booléen

Si le statut est NULL, définissez-le sur vrai, sinon remplacez la valeur.

user.getStatus()==null ? true : !user.getStatus() status = vrai faux

risque

VALEURS PAR DÉFAUT

Entier

Si le risque est nul 20, sinon augmenter le risque de 15 user.getRisk() == null ? 20 : user.getRisk() + 15

risque = 30

risque = NULL

45

20

description

VALEURS PAR DÉFAUT

Chaîne

Obtenez startDate de type long, convertissez-le en date, puis définissez-le en tant que chaîne sur l'attribut de description.

new Date(user.getStartDate()).toISOString() startDate = 1703442600000

2023-12-25T07 :55 :46.061Z

provisionedOnDate

VALEURS PAR DÉFAUT

Date

Obtenez validFromDate (long), convertissez à ce jour, puis définissez provisionedOnDate arrondi au 1er du mois prochain.

const currentDate = new Date(user.getValidFromDate()); new Date(currentDate.getFullYear(), currentDate.getMonth() + 1, 1).getTime();

validFromDate = 1703442600000

provisionedOnDate = 1704047400000

provisionedFromDate

VALEURS PAR DÉFAUT

Date

Chaîne de type d'entrée. Date du type de sortie.

new Date(user.getValidFromDate()).toISOString()

validFromDate = 1703442600000

input = 2023-12-24T18 :30 :00.000Z

provisionedFromDate = 1703422800000

Exemples de règles de mise en correspondance pour les systèmes gérés

Voici quelques expressions de règle de mise en correspondance avec une valeur d'entrée ou de sortie pour les attributs d'objet de compte.

Exemples de règles de mise en correspondance pour la gestion des autorisations

Attribut cible

Type d'attribut

Type d'attribut de données cible

But de la règle de mise en correspondance

Expression de règle de mapping

Entrée de valeur

Sortie de valeur

displayName

VALEURS PAR DÉFAUT

Chaîne

Si displayName n'est pas NULL, définissez la valeur en majuscules sur displayName.

if(account.getDisplayName()!=null) {account.getDisplayName().toUpperCase() }

displayName = Mark Hill

MARK HILL

primaryEmail

VALEURS PAR DÉFAUT

Chaîne

Concaténer userLogin et "@myexample.com" et définir dans primaryEmail.

account.getUserLogin().concat('@myexample.com') userLogin = mark.hill mark.hill@myexample.com

jobDescription

PERSONNALISÉ

Chaîne

LowerCase la valeur de la description et définissez-la dans les attributs personnalisés jobDescription.

if(account.getDescription()!=null) { account.getDescription().toLowerCase() } description = SoftwareDeveloper1 jobDescription = softwaredeveloper1

statut

VALEURS PAR DÉFAUT

Booléen

Exemple 1 : si le statut est NULL, définissez-le sur True sinon remplacez la valeur.

account.getStatus()==null ? true : !account.getStatus()

status = vrai

faux

Exemple 2 : définissez le statut sur False.

false statut = NULL/Vrai/Faux faux

risque

VALEURS PAR DÉFAUT

Entier

Si le risque est nul, définissez-le sur 20, sinon augmentez le risque de 15.

account.getRisk() == null ? 20 : account.getRisk() + 15

risque = 30

risque = NULL

45

20

riskSummary

VALEURS PAR DÉFAUT

Long

Si riskSummary a la valeur NULL et est défini sur 1234, sinon le risque augmente de 70.

account.getRiskSummary() == null ? 1234 : account.getRiskSummary() + 70

riskSummary = 30

riskSummary = NULL

100

1 234