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
|
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. |
|
|
usuario |
Objeto de usuario. Utilice el getter necesario para acceder a cualquier miembro. |
|
|
aplicación |
Objeto de recurso. Utilice el getter necesario para acceder a cualquier miembro. |
|
|
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()
| 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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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()
| 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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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()
| 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 Sí 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.
| Caso de uso | Método de utilidad |
|---|---|
|
Recuperar un atributo personalizado para un usuario. |
|
|
Obtener un código de consulta objetivo y descodificar valor. |
|
|
Obtenga un código de consulta global y descodifique el valor. |
|
|
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. |
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.
|
|
Compruebe si existe una cuenta para un nombre y un valor de atributo determinados. |
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.
|
|
Obtener un usuario del ID de identidad global. Esto devolverá el objeto de usuario desde el que podrá obtener otros atributos. |
Por ejemplo:
|
|
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. |
|
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.
| 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:
|
|
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
|
| Definir valor para la combinación de 2 atributos de usuario |
o bien:
|
| 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.
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.
|
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 |