Referencia de reglas de datos para personalizar y transformar atributos de identidad y cuenta

Puede agregar reglas para personalizar o transformar atributos de identidad y cuenta. Estas reglas se escriben en JavaScript.

Objetos

Los valores de atributo para una transformación de datos salientes se pueden derivar de los siguientes objetos:
Objetos (salientes)

Nombre de objeto

Finalidad

Ejemplo

requestAttributes

Objeto de atributo de solicitud de aprovisionamiento. Estos atributos están disponibles cuando el aprovisionamiento se realiza mediante políticas, solicitudes de grupos de acceso, roles o métodos directos.

requestAttributes.get('name')

usuario

Objeto de usuario. Utilice el getter necesario para acceder a cualquier miembro.

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

aplicación

Objeto de recurso. Utilice el getter necesario para acceder a cualquier miembro.

application.getDisplayName()

El valor de atributo para una transformación de datos de entrada se puede derivar de los siguientes objetos:
Objetos (de entrada)

Nombre de objeto

Finalidad

Ejemplo

usuario

Objeto de usuario. Utilice el getter necesario para acceder a cualquier miembro del origen de identidad.

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

Cuenta

Objeto de cuenta. Utilice el getter necesario para acceder a cualquier miembro de Manage Permissions.

account.getDisplayName()

Mejores prácticas para transformar o personalizar atributos de identidad y cuenta

Estas son algunas de las mejores prácticas y recomendaciones que se deben tener en cuenta:

  • Puede transformar o personalizar los atributos de identidad y cuenta para los datos entrantes ingeridos desde orígenes autorizados o sistemas gestionados. Sin embargo, solo puede transformar atributos de identidad (usuario) para datos salientes.
  • Siempre realice una comprobación NULL en las reglas para los valores extraídos antes de usarlos; de lo contrario, puede provocar fallos en el ciclo de ingestión en las referencias NULL. Esto se debe realizar para el objeto de atributos user en orígenes autorizados y el objeto de atributos account en sistemas gestionados para transformaciones entrantes.
  • No puede transformar ni asignar directamente un valor a los atributos que tienen un tipo de datos de objeto de matriz, es decir, los atributos que devuelven una lista de valores, como correos electrónicos, fotos y direcciones, pero puede utilizarlos para modificar o manipular otros atributos de usuario o cuenta. Por ejemplo, para definir el valor de país como el valor por defecto para la ubicación de atributo si una ubicación es nula, utilice:
    user.getLocation() !=null  ? user.getLocation() : user.getAddresses()[0].getCountry()
        

Atributos de objeto de identidad de origen autorizado para transformación de salida

Puede modificar o modificar los datos salientes aplicando reglas de transformación de datos a los datos disponibles o aprovisionados en el sistema orquestado. A continuación, se muestra una lista de los atributos de identidad (usuario) disponibles para su uso en transformaciones de datos salientes.

Sintaxis para recuperar atributos de identidad para datos salientes

Estos detalles se pueden recuperar mediante la sintaxis:

get<FieldName>()

Recuperar el nombre proporcionado del usuario

user.getName().getGivenName()
Atributos de objeto de identidad (usuario) para datos salientes
Atributo Subatributo Tipo de datos Sintaxis

nombre

Referencia

user.getName()

formateado

Cadena

user.getName().getFormatted()

familyName

Cadena

user.getName().getFamilyName()

givenName

Cadena

user.getName().getGivenName()

middleName

Cadena

user.getName().getMiddleName()

honorificPrefix

Cadena

user.getName().getHonorificPrefix()

honorificSuffix

Cadena

user.getName().getHonorificSuffix()

userName

Cadena

user.getUserName()

displayName

Cadena

user.getDisplayName()

descripción

Cadena

user.getDescription()

primaryEmail

Cadena

user.getPrimaryEmail()

userType

Cadena

user.getUserType()

título

Cadena

user.getTitle()

employeeNumber

Cadena

user.getEmployeeNumber()

organización

Referencia

user.getOrganization()

valor

Cadena

user.getOrganization().getValue()

referencia

Cadena

user.getOrganization().getRef()

displayName

Cadena

user.getOrganization().getDisplayName()

resourceType

Cadena

user.getOrganization().getResourceType()

departamento

Cadena

user.getDepartment()

gestor

Referencia

user.getManager()

valor

Cadena

user.getManager().getValue()

referencia

Cadena

user.getManager().getRef()

displayName

Cadena

user.getManager().getDisplayName()

resourceType

Cadena

user.getManager().getResourceType()

estado

Cadena

user.getStatus()

jobCode

Cadena

user.getJobCode()

estado

Cadena

user.getState()

riesgo

Cadena

user.getRisk()

ubicación

Cadena

user.getLocation()

correos electrónicos

Lista de correos electrónicos

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

pendingVerificationData

Cadena

email.getPendingVerificationData()

primario

Booleano

email.getPrimary()

secundaria

Booleano

email.getSecondary()

tipo

Cadena

email.getType()

valor

Cadena

email.getValue()

verificado

Booleano

email.getVerified()

direcciones

Lista de Direcciones

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

país

Cadena

address.getCountry()

formateado

Cadena

address.getFormatted()

localidad

Cadena

address.getLocality()

postalCode

Cadena

address.getPostalCode()

primario

Booleano

address.isPrimary()

región

Cadena

address.getRegion()

streetAddress

Cadena

address.getStreetAddress()

tipo

Cadena

address.getType()

phoneNumbers

Lista de PhoneNumber

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

expositor

Cadena

phoneNumber.getDisplay()

primario

Booleano

phoneNumber.isPrimary()

tipo

Cadena

phoneNumber.getType()

valor

Cadena

phoneNumber.getValue()

Booleano

phoneNumber.isVerified()

Atributos de objeto de identidad de origen autorizado para la transformación de entrada y la personalización de atributos de identidad

Puede modificar o modificar los datos entrantes aplicando reglas de transformación de datos durante la fase de ingestión de datos en el sistema orquestado. Puede utilizar el mismo juego de atributos para personalizar el perfil de identidad compuesto creado en Oracle Access Governance mediante la transformación de atributos de identidad.

Sintaxis para recuperar atributos de identidad para datos de entrada

Los detalles del atributo se pueden recuperar mediante la sintaxis:

get<FieldName>()

Recuperar el nombre proporcionado del usuario

user.getName().getGivenName()
Atributos de identidad de origen autorizados para datos de entrada
Atributo Subatributo Tipo de datos Sintaxis

fullName (para OIG/ICF)

Referencia

user.getFullName()

formateado

Cadena

user.getFullName().getFormatted()

familyName

Cadena

user.getFullName().getFamilyName()

givenName

Cadena

user.getFullName().getGivenName()

middleName

Cadena

user.getFullName().getMiddleName()

honorificPrefix

Cadena

user.getFullName().getHonorificPrefix()

honorificSuffix

Cadena

user.getFullName().getHonorificSuffix()

nombre (para OCI)

Referencia

user.getName()

formateado

Cadena

user.getName().getFormatted()

familyName

Cadena

user.getName().getFamilyName()

givenName

Cadena

user.getName().getGivenName()

middleName

Cadena

user.getName().getMiddleName()

honorificPrefix

Cadena

user.getName().getHonorificPrefix()

honorificSuffix

Cadena

user.getName().getHonorificSuffix()

userName

Cadena

user.getUserName()

displayName

Cadena

user.getDisplayName()

descripción

Cadena

user.getDescription()

primaryEmail

Cadena

user.getPrimaryEmail()

userType

Cadena

user.getUserType()

título

Cadena

user.getTitle()

employeeNumber

Cadena

user.getEmployeeNumber()

organización

Referencia

user.getOrganization()

valor

Cadena

user.getOrganization().getValue()

referencia

Cadena

user.getOrganization().getRef()

displayName

Cadena

user.getOrganization().getDisplayName()

resourceType

Cadena

user.getOrganization().getResourceType()

departamento

Cadena

user.getDepartment()

gestor

Referencia

user.getManager()

valor

Cadena

user.getManager().getValue()

referencia

Cadena

user.getManager().getRef()

displayName

Cadena

user.getManager().getDisplayName()

resourceType

Cadena

user.getManager().getResourceType()

estado

Cadena

user.getStatus()

jobCode

Cadena

user.getJobCode()

estado

Cadena

user.getState()

riesgo

Cadena

user.getRisk()

ubicación

Cadena

user.getLocation()

compartmentId

Cadena

user.getCompartmentId()

domainId

Cadena

user.getDomainId()

domainOCID

Cadena

user.getDomainOCID()

región

Cadena

user.getRegion()

correos electrónicos

Lista de correos electrónicos

emails = user.getEmails()

pendingVerificationData

Cadena

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

primario

Booleano

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

secundaria

Booleano

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

tipo

Cadena

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

valor

Cadena

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

verificado

Booleano

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

direcciones

Lista de Direcciones

addresses = user.getAddresses();

país

Cadena

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

formateado

Cadena

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

localidad

Cadena

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

postalCode

Cadena

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

primario

Booleano

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

región

Cadena

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

streetAddress

Cadena

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

tipo

Cadena

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

phoneNumbers

Lista de PhoneNumber

phoneNumbers = user.getPhoneNumbers();

expositor

Cadena

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

primario

Booleano

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

tipo

Cadena

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

valor

Cadena

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

Booleano

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

fotos

Lista de fotos

photos = user.getPhotos();

expositor

Cadena

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

primario

Booleano

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

tipo

Cadena

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

valor

Cadena

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

ims

Lista de ims

ims = user.getIms();

expositor

Cadena

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

primario

Booleano

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

tipo

Cadena

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

valor

Cadena

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

Atributos de objeto de cuenta de sistemas gestionados para transformación de entrada

Puede modificar o modificar los datos de atributo de cuenta entrante mediante la aplicación de reglas de transformación de datos durante la fase de ingestión de datos en el sistema orquestado.

Sintaxis para recuperar atributos de cuenta para la transformación de datos de entrada

Los detalles del atributo se pueden recuperar mediante la sintaxis:

get<FieldName>()

Recuperar el nombre proporcionado del usuario

account.getName().getGivenName()
Atributos de cuenta de sistemas gestionados para la transformación de datos entrantes
Atributo Subatributo Tipo de datos Sintaxis

fullName

Referencia

account.getFullName()

formateado

Cadena

account.getFullName().getFormatted()

familyName

Cadena

account.getFullName().getFamilyName()

givenName

Cadena

account.getFullName().getGivenName()

middleName

Cadena

account.getFullName().getMiddleName()

honorificPrefix

Cadena

account.getFullName().getHonorificPrefix()

honorificSuffix

Cadena

account.getFullName().getHonorificSuffix()

userName

Cadena

account.getUserName()

displayName

Cadena

account.getDisplayName()

descripción

Cadena

account.getDescription()

primaryEmail

Cadena

account.getPrimaryEmail()

userType

Cadena

account.getUserType()

título

Cadena

account.getTitle()

estado

Cadena

account.getStatus()

accountType

Cadena

account.getAccountType()

provisionedByMechanism

Cadena

account.getProvisionedByMechanism()

provisionedOnDate

Cadena

account.getProvisionedOnDate()

resourceName

Cadena

account.getResourceName()

startDate

Largo

account.getStartDate()

nombre

Cadena

account.getName()

userLogin

Cadena

account.getUserLogin()

resourcesId

Cadena

account.getResourcesId()

compartmentId

Cadena

account.getCompartmentId()

domainId

Cadena

account.getDomainId()

domainOCID

Cadena

account.getDomainOCID()

región

Cadena

account.getRegion()

correos electrónicos

Lista de correos electrónicos

emails = account.getEmails()

pendingVerificationData

Cadena

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

primario

Booleano

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

secundaria

Booleano

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

tipo

Cadena

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

valor

Cadena

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

verificado

Booleano

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

direcciones

Lista de Direcciones

addresses = account.getAddresses();

país

Cadena

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

formateado

Cadena

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

localidad

Cadena

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

postalCode

Cadena

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

primario

Booleano

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

región

Cadena

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

streetAddress

Cadena

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

tipo

Cadena

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

phoneNumbers

Lista de PhoneNumber

phoneNumbers = account.getPhoneNumbers()

expositor

Cadena

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

primario

Booleano

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

tipo

Cadena

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

valor

Cadena

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

Booleano

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

fotos

Lista de fotos

photos = account.getPhotos()

expositor

Cadena

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

primario

Booleano

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

tipo

Cadena

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

valor

Cadena

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

ims

Lista de ims

ims = account.getIms()

expositor

Cadena

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

primario

Booleano

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

tipo

Cadena

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

valor

Cadena

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

Regla de varios atributos en transformación de entrada

Mediante las reglas de transformación, puede generar un valor único y asignar el valor generado a varios atributos a la vez en la transformación de entrada.

Esta regla establece los atributos description y Building en el valor tempName. Debe eliminar el juego de reglas de un solo atributo anterior para los atributos antes de usarlos en la regla de varios atributos.

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

Mediante esta regla, puede definir el valor para description y building en una sola regla. Seleccione en ¿Este juego de reglas tiene varios atributos? y seleccione los atributos relevantes.

Salida:

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

Atributos personalizados de usuario y cuenta

Puede recuperar y utilizar atributos de cuenta o usuario personalizados al aplicar reglas de transformación de datos para transformaciones de datos entrantes. Las transformaciones de datos salientes solo permiten recuperar atributos de usuario personalizados.

Atributo personalizado de usuario

Oracle Access Governance proporciona un método de utilidad para recuperar el atributo personalizado de un usuario para transformaciones entrantes o salientes. Para recuperar el valor CUSTOM_ATTRIBUTE_NAME de un usuario, debería utilizar la siguiente sintaxis, por ejemplo:

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

Por ejemplo, para un atributo personalizado denominado Etiquetas:

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

Para un atributo personalizado de tipo de fecha:

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

Atributo personalizado de cuenta

Oracle Access Governance proporciona un método de utilidad para recuperar el atributo personalizado de una cuenta solo para transformaciones de entrada. Para recuperar el valor CUSTOM_ATTRIBUTE_NAME de una cuenta, debería utilizar la siguiente sintaxis, por ejemplo:

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

Por ejemplo, para un atributo personalizado denominado Etiquetas:

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

Utilidades de transformación para la transformación de datos salientes

Hay una serie de utilidades disponibles para ayudarle en tareas de transformación, como la existencia de una cuenta corriente, la obtención de un usuario, el uso de consultas y otras.

Servicios públicos de transformación
Caso de uso Método de utilidad

Recuperar un atributo personalizado para un usuario.

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

Obtener un código de consulta objetivo y descodificar valor.

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

Obtenga un código de consulta global y descodifique el valor.

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

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

Obtener valor de un atributo de objeto gestionado filtrado por otro valor de atributo.

En esta utilidad, puede obtener el valor de un atributo deseado proporcionando el nombre y el valor de Oracle Access Governance de un atributo que se va a confrontar, junto con el nombre de Oracle Access Governance del atributo para el que desea devolver un valor. Si hay más de un objeto coincidente o no hay coincidencias, obtendrá un valor nulo.

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

Por ejemplo: en el siguiente ejemplo, al proporcionar fullName como nombre de atributo coincidente y Alice Smith como valor, puede obtener el valor de organizationName del objeto gestionado coincidente.

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

Compruebe si existe una cuenta para un nombre y un valor de atributo determinados.

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

Por ejemplo: compruebe si existe una cuenta en la que el nombre de atributo es fullName, el valor de atributo es Alice Smith y el operador para la coincidencia es eq.

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

Obtener un usuario del ID de identidad global. Esto devolverá el objeto de usuario desde el que podrá obtener otros atributos.

transformationUtil.getUser(agcs_tenant_id, 'global_identity_id')

Por ejemplo:

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

Compruebe si un usuario tiene empleados supervisados directos.

Devuelve true si el usuario tiene uno o más empleados supervisados; de lo contrario, devuelve false.

transformationUtil.hasDirectReportees(agcs_tenant_id,'global_identity_id')

Ejemplos de transformación de datos salientes

A continuación se muestran algunos ejemplos de reglas de asignación y casos de uso al aplicar transformaciones de datos salientes en Oracle Access Governance.

Reglas de asignación de muestra
Caso de uso Regla de ejemplo

Valor de cadena fijo

'SampleValue'

Atributo de usuario

user.getName().getGivenName()
Nota

Debe realizar una comprobación nula antes de utilizar dichas operaciones, ya que el valor puede ser nulo.
Atributo de fecha new Number(new Date().getTime());

Por ejemplo, para establecer la fecha en 31 de enero de 2024:

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

Atributo de Aplicación

application.getDisplayName()
Nota

Debe realizar una comprobación nula antes de utilizar dichas operaciones, ya que el valor puede ser nulo.

Atributo de solicitud

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

  • Debe realizar una comprobación de valores nulos antes de utilizar dichas operaciones, ya que el valor puede ser nulo.
  • 'requestAttributes.get(attrName)' siempre devuelve una matriz, por lo que debemos realizar una acción get(i) para recuperar el valor específico
Definir valor para la combinación de 2 atributos de usuario
user.getName().getGivenName() + ' ' + user.getName().getFamilyName()
o bien:
[ user.getName().getGivenName(),user.getName().getMiddleName() , user.getName().getFamilyName()].join(' ')
Defina el valor en otro atributo si el valor de entrada es nulo (si la organización es nula, defínalo en un valor fijo) user.getOrganization() != null && user.getOrganization().getDisplayName() != null ? user.getOrganization().getDisplayName() : 'DefaultOrganization'

Ejemplos de atributos de identidad y transformación de datos de entrada

A continuación se muestran algunos ejemplos de reglas de asignación y casos de uso al aplicar transformaciones de datos entrantes o transformaciones en el perfil de identidad compuesto en Oracle Access Governance.

Nota

Como mejor práctica, se recomienda realizar siempre una protección NULL para los valores extraídos antes de utilizarlos; de lo contrario, puede provocar fallos del ciclo de ingestión en las referencias NULL. Esto se debe realizar para el objeto de atributos user en orígenes autorizados y el objeto de atributos account en sistemas gestionados para transformaciones entrantes.

Reglas de asignación de ejemplo para orígenes autorizados

A continuación se muestran algunas expresiones de regla de asignación junto con el valor de entrada o el valor de salida para los atributos de objeto de identidad (usuario).

Atributo de destino

Tipo de atributo

tipo de datos de atributo de destino

Objetivo de la regla de asignación

Expresión de regla de asignación

Entrada de valor

Salida de valor

userName

VALORES POR DEFECTO

Cadena

Concatene userName y displayName y defina este valor en el atributo userName

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

userName=mark.hill

displayName=Mark Hill

mark.hill-Mark Hill

userName

VALORES POR DEFECTO

Cadena

Si userName no es nulo, convierta userName en upperCase y defina en el atributo userName

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

userName=mark.hill

MARK.HILL

jobDescription

PERSONALIZADO

Cadena

LowerCase el valor de descripción y defínalo en el atributo personalizado, jobDescription

user.getDescription().toLowerCase()

descripción = SoftwareDeveloper1

jobDescription = softwaredeveloper1

estado

VALORES POR DEFECTO

Booleano

Si el estado es nulo, defínalo en true; de lo contrario, alterne el valor.

user.getStatus()==null ? true : !user.getStatus() estado = verdadero falso

riesgo

VALORES POR DEFECTO

Entero

Si el riesgo es nulo establecido en 20, de lo contrario, aumente el riesgo en 15 user.getRisk() == null ? 20 : user.getRisk() + 15

riesgo = 30

riesgo = nulo

45

20

descripción

VALORES POR DEFECTO

Cadena

Obtenga startDate de tipo long, conviértalo en Date y, a continuación, defínalo como cadena en el atributo description.

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

2023-12-25T07 (55):46.061Z

provisionedOnDate

VALORES POR DEFECTO

Fecha

Obtenga validFromDate (largo), convierta a la fecha y, a continuación, defina provisionedOnDate redondeado al 1º del mes siguiente.

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

validFromDate = 1703442600000

provisionedOnDate = 1704047400000

provisionedFromDate

VALORES POR DEFECTO

Fecha

Cadena de tipo de entrada. Fecha de tipo de salida.

nueva fecha(user.getValidFromDate()).toISOString()

validFromDate = 1703442600000

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

provisionedFromDate = 1703422800000

Ejemplo de reglas de asignación para sistemas gestionados

Aquí hay algunas expresiones de reglas de asignación junto con el valor de entrada o el valor de salida para los atributos de objeto de cuenta.

Reglas de asignación de ejemplo para gestionar permisos

Atributo de destino

Tipo de atributo

tipo de datos de atributo de destino

Objetivo de la regla de asignación

Expresión de regla de asignación

Entrada de valor

Salida de valor

displayName

VALORES POR DEFECTO

Cadena

Si displayName no es nulo, defina el valor en mayúsculas en displayName.

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

displayName = Mark Hill

MARK HILL

primaryEmail

VALORES POR DEFECTO

Cadena

Concatene userLogin y "@myexample.com" y defina en primaryEmail.

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

jobDescription

PERSONALIZADO

Cadena

LowerCase el valor de descripción y defínalo en los atributos personalizados jobDescription.

if(account.getDescription()!=null) { account.getDescription().toLowerCase() } descripción = SoftwareDeveloper1 jobDescription = softwaredeveloper1

estado

VALORES POR DEFECTO

Booleano

Ejemplo 1: Si el estado es nulo, defínalo en true; de lo contrario, alterne el valor.

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

estado = verdadero

falso

Ejemplo 2: Definir el estado en falso.

false estado = nulo/verdadero/falso falso

riesgo

VALORES POR DEFECTO

Entero

Si el riesgo es nulo, se define en 20; de lo contrario, aumente el riesgo en 15.

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

riesgo = 30

riesgo = nulo

45

20

riskSummary

VALORES POR DEFECTO

Largo

Si riskSummary es nulo y se define en 1234, de lo contrario, aumentará el riesgo en 70.

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

riskSummary = 30

riskSummary = nulo

100

1.234